rendered paste bodyIndex: C:/Documents and Settings/AresXP/workspace/L2J-free_LoginServer_c5/src/main/java/net/sf/l2j/loginserver/ClientThread.java
===================================================================
--- C:/Documents and Settings/AresXP/workspace/L2J-free_LoginServer_c5/src/main/java/net/sf/l2j/loginserver/ClientThread.java (revision 411)
+++ C:/Documents and Settings/AresXP/workspace/L2J-free_LoginServer_c5/src/main/java/net/sf/l2j/loginserver/ClientThread.java (working copy)
@@ -190,6 +190,8 @@
{
RequestAuthLogin ral = new RequestAuthLogin(decrypt, _privateKey);
account = ral.getUser().toLowerCase();
+ System.out.println(account+" attempting to login.");
+ System.out.println("Decrypted: "+ral.getDecrypted());
if (Config.DEBUG) _log.info("RequestAuthLogin from user:" + account);
LoginController lc = LoginController.getInstance();
@@ -200,6 +202,7 @@
//Login BANNED
LoginFail lok = new LoginFail(LoginFail.REASON_ACCOUNT_BANNED);
sendPacket(lok);
+ _log.warning("Account "+account+" is banned. Not logged");
}
else
{
@@ -215,7 +218,10 @@
else
{
ServerList sl = GameServerTable.getInstance().makeServerList(lc.isGM(account), _internalIP);
- sendPacket(sl);
+ if(GameServerTable.getInstance().getGSAmount() <= GameServerTable.getInstance().getGSAmountDown())
+ sendPacket(new LoginFail(LoginFail.REASON_SERVER_MAINTENANCE));
+ else
+ sendPacket(sl);
}
}
else
@@ -238,6 +244,7 @@
lc.removeGameServerLogin(account);
}
LoginFail lok = new LoginFail(LoginFail.REASON_ACCOUNT_IN_USE);
+ _log.warning("Account "+account+" is in use. Kicked.");
sendPacket(lok);
}
}
@@ -246,6 +253,7 @@
{
LoginFail lok = new LoginFail(LoginFail.REASON_USER_OR_PASS_WRONG);
sendPacket(lok);
+ _log.warning("Wrong password.");
if (Config.DEBUG) _log.fine("login failed sent");
}
@@ -290,7 +298,10 @@
byte [] content = sl.getContent();
_log.info(Util.printData(content));
}
- sendPacket(sl);
+ if(GameServerTable.getInstance().getGSAmount() <= GameServerTable.getInstance().getGSAmountDown())
+ sendPacket(new LoginFail(LoginFail.REASON_SERVER_MAINTENANCE));
+ else
+ sendPacket(sl);
break;
}
Index: C:/Documents and Settings/AresXP/workspace/L2J-free_LoginServer_c5/src/main/java/net/sf/l2j/loginserver/GameServerTable.java
===================================================================
--- C:/Documents and Settings/AresXP/workspace/L2J-free_LoginServer_c5/src/main/java/net/sf/l2j/loginserver/GameServerTable.java (revision 411)
+++ C:/Documents and Settings/AresXP/workspace/L2J-free_LoginServer_c5/src/main/java/net/sf/l2j/loginserver/GameServerTable.java (working copy)
@@ -600,6 +600,19 @@
}
return false;
}
+ public int getGSAmount() {
+ return _gameServerList.size();
+ }
+ public int getGSAmountDown() {
+ int x = 0;
+ for(GameServer gs : _gameServerList) {
+ if(gs.status == ServerStatus.STATUS_DOWN)
+ {
+ x++;
+ }
+ }
+ return x;
+ }
public List<String> status()
{