public static final void charSelected(final SeekableLittleEndianAccessor slea, final MapleClient c) {
        final int charId = slea.readInt();
        final String macs = slea.readMapleAsciiString();
        if (loginFailCount(c) || !c.login_Auth(charId)) {
            c.getSession().close();
            return;
        }
        c.updateMacs(macs);
        if (c.hasBannedMac()) {
            c.getSession().close();
            return;
        }
        if (c.getIdleTask() != null) {
            c.getIdleTask().cancel(true);
        }
        //c.getSession().write(LoginPacket.getServerIP(InetAddress.getByName("127.0.0.1"), 7575, charId));
        c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION, c.getSessionIPAddress());

        String channelServerIP = MapleClient.getChannelServerIPFromSubnet(c.getSessionIPAddress(), c.getChannel());
        try {
            if (channelServerIP.equals("0.0.0.0")) {
                String[] socket = LoginServer.getInstance().getIP(c.getChannel()).split(":");
                c.getSession().write(LoginPacket.getServerIP(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1]), charId));
            } else {
                String[] socket = LoginServer.getInstance().getIP(c.getChannel()).split(":");
                c.getSession().write(LoginPacket.getServerIP(InetAddress.getByName(channelServerIP), Integer.parseInt(socket[1]), charId));
            }
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }