All pastes #389577 Raw Edit

Something

public text v1 · immutable
·published 2007-03-10 20:39 UTC
rendered paste body
Index: 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()
     {