void WorldServerConnection::realHandleRequest(PacketReader &packet) {
	switch (packet.getHeader()) {
		case IMSG_LOGIN_CHANNEL_CONNECT: WorldServerConnectHandler::connectLogin(this, packet); break;
		case IMSG_CHANNEL_CONNECT: WorldServerConnectHandler::connect(this, packet); break;
		case IMSG_TO_PLAYERS: WorldServerConnectHandler::sendToPlayers(packet); break;
		case IMSG_FIND: WorldServerConnectHandler::findPlayer(packet); break;
		case IMSG_WHISPER: WorldServerConnectHandler::whisperPlayer(packet); break;
		case IMSG_SCROLLING_HEADER: WorldServerConnectHandler::scrollingHeader(packet); break;
		case IMSG_FORWARD_TO: WorldServerConnectHandler::forwardPacket(packet); break;
		case IMSG_SET_RATES: WorldServerConnectHandler::setRates(packet); break;
		case IMSG_REFRESH_DATA: WorldServerConnectHandler::reloadMcdb(packet); break;
		case IMSG_LOAD_PLAYER_NPC: PlayerNpcDataProvider::Instance()->loadPlayerNpc(packet.get<int32_t>()); break;

		case IMSG_SYNC: SyncHandler::handle(packet); break;
	}
}