Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/loginserver/ClientThread.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/loginserver/ClientThread.java (revision 1744) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/loginserver/ClientThread.java (working copy) @@ -62,6 +62,7 @@ private boolean _internalIP; protected static List _bannedIPs = new FastList(); + private boolean _ggAuth; public ClientThread(Socket client, Logins logins) throws IOException @@ -78,6 +79,7 @@ _out = new BufferedOutputStream(client.getOutputStream()); _crypt = new NewCrypt("_;5.]94-31==-%xT!^[$\000"); _logins = logins; + _ggAuth = false; if (_bannedIPs.contains(ip)) { @@ -155,6 +157,15 @@ _log.warning("[C]\n"+printData(decrypt, decrypt.length)); int packetType = decrypt[0]&0xff; + + if(packetType != 0x07 && Config.FORCE_GGAUTH) + { + _log.warning("[ClientThread] client bypassed GGAuth, kicking off.."); + LoginFail lof = new LoginFail(LoginFail.REASON_ACCESS_FAILED); + sendPacket(lof); + return; + } + switch (packetType) { case 00: @@ -267,10 +278,9 @@ case 07: // new GG Auth packet (GG = GameGuard) { - if (Config.DEBUG) - _log.info("Client requested GG Auth"); GGAuth sp = new GGAuth(GGAuth.SKIP_GG_AUTH_REQUEST); sendPacket(sp); + _ggAuth=true; break; }