public static void parser(String packet) { switch (packet.charAt(0)) { case 'F': // Free places switch (packet.charAt(1)) { case '?': // Required int i = 50000 - Server.config.getGameServer().getPlayerNumber(); Server.config.getExchangeClient().send("F" + i); break; } break; case 'S': // Server switch (packet.charAt(1)) { case 'H': // Host switch (packet.charAt(2)) { case 'K': // Ok break; } break; case 'K': // Key switch (packet.charAt(2)) { case '?': // Required int i = 50000 - Server.config.getGameServer().getPlayerNumber(); Server.config .getExchangeClient() .send( "SK" + Server.config.getServerId() + ";" + Server.config.getServerKey() + ";" + i); break; case 'K': // Ok ExchangeClient client = Server.config.getExchangeClient(); client.logger.info("server accepted by the login"); client.send("SH" + Server.config.getIp() + ";" + Server.config.getGamePort()); break; case 'R': // Refused Server.config.getExchangeClient().logger.info("server refused by the login"); System.exit(0); break; } break; } break; case 'W': // Waiting switch (packet.charAt(1)) { case 'A': // Add int id = Integer.parseInt(packet.substring(2)); Account account = World.database.getAccountData().load(id); System.out.println(account); if (account != null) { if (account.getCurPlayer() != null) World.data.getCompte(id).getGameClient().kick(); Server.config.getGameServer().addWaitingCompte(account); } break; case 'K': // Kick id = Integer.parseInt(packet.substring(2)); account = World.data.getCompte(id); if (account != null) if (account.getGameClient() != null) account.getGameClient().kick(); break; } break; case 'M': // Migration switch (packet.charAt(1)) { case 'G': // Get String[] split = packet.substring(2).split("\\|"); String account = split[0], server = split[1]; StringBuilder alks = new StringBuilder("MT" + account + "|" + server); for (String id : split[2].split("\\,")) { alks.append(World.data.getPlayer(Integer.parseInt(id)).parseALK()); } Server.config.getExchangeClient().send(alks.toString()); break; case 'F': // Finish split = packet.substring(2).split("\\|"); int id = Integer.parseInt(split[0]); int sender = Integer.parseInt(split[1]); String players = packet.substring(packet.indexOf("|", packet.indexOf("|") + 1) + 1); Migration.migrations.get(id).add(sender, "|" + players); break; case 'D': // Delete int player = Integer.parseInt(packet.substring(2)); World.data.deletePerso(World.data.getPlayer(player)); break; case 'O': // Okey split = packet.substring(2).split("\\|"); player = Integer.parseInt(split[0]); server = split[1]; IoBuffer buffer = IoBuffer.allocate(2048); buffer.put(String.valueOf("MS" + server + "|").getBytes()); buffer.putObject(World.data.getPlayer(player).serialize()); buffer.flip(); Server.config.getExchangeClient().send(buffer); break; } break; } }
public void setAccount(Account account) { this.account = account; logger = (Logger) LoggerFactory.getLogger("[account]" + account.getName()); }
public void moveTrunkToBank(Account account) { for (Entry<Integer, Object> obj : this.getObjects().entrySet()) account.getBank().put(obj.getKey(), obj.getValue()); this.getObjects().clear(); }