public static void init() {
		worldThread = new WorldThread();
		int availableProcessors = Runtime.getRuntime().availableProcessors();
		serverWorkersCount = availableProcessors >= 6 ? availableProcessors
				- (availableProcessors >= 12 ? 7 : 5) : 1;
		serverWorkerChannelExecutor = availableProcessors >= 6 ? Executors
				.newFixedThreadPool(availableProcessors
						- (availableProcessors >= 12 ? 7 : 5),
						new DecoderThreadFactory()) : Executors
				.newSingleThreadExecutor(new DecoderThreadFactory());
		serverBossChannelExecutor = Executors
				.newSingleThreadExecutor(new DecoderThreadFactory());
		fastExecutor = new Timer("Fast Executor");
		slowExecutor = availableProcessors >= 6 ? Executors
				.newScheduledThreadPool(availableProcessors >= 12 ? 4 : 2,
						new SlowThreadFactory()) : Executors
				.newSingleThreadScheduledExecutor(new SlowThreadFactory());
		worldThread.start();
	}