Addition of loginserver restart schedule configurations.
This commit is contained in:
@@ -130,6 +130,8 @@ public class Config
|
||||
public static int TRADE_PVP_AMOUNT;
|
||||
public static boolean GLOBAL_CHAT_WITH_PVP;
|
||||
public static int GLOBAL_PVP_AMOUNT;
|
||||
public static boolean LOGIN_SERVER_SCHEDULE_RESTART;
|
||||
public static long LOGIN_SERVER_SCHEDULE_RESTART_TIME;
|
||||
public static int MAX_CHAT_LENGTH;
|
||||
public static boolean TRADE_CHAT_IS_NOOBLE;
|
||||
public static boolean PRECISE_DROP_CALCULATION;
|
||||
@@ -2839,6 +2841,8 @@ public class Config
|
||||
MYSQL_BIN_PATH = serverSettings.getString("MySqlBinLocation", "C:/xampp/mysql/bin/");
|
||||
BACKUP_PATH = serverSettings.getString("BackupPath", "../backup/");
|
||||
BACKUP_DAYS = serverSettings.getInt("BackupDays", 30);
|
||||
LOGIN_SERVER_SCHEDULE_RESTART = serverSettings.getBoolean("LoginRestartSchedule", false);
|
||||
LOGIN_SERVER_SCHEDULE_RESTART_TIME = serverSettings.getLong("LoginRestartTime", 24);
|
||||
SHOW_LICENCE = serverSettings.getBoolean("ShowLicence", false);
|
||||
IP_UPDATE_TIME = serverSettings.getInt("IpUpdateTime", 15);
|
||||
FORCE_GGAUTH = serverSettings.getBoolean("ForceGGAuth", false);
|
||||
|
@@ -50,20 +50,14 @@ public class LoginServer extends FloodProtectedListener
|
||||
{
|
||||
public static Logger LOGGER = Logger.getLogger(LoginServer.class.getName());
|
||||
|
||||
private static LoginServer _instance;
|
||||
public static int PROTOCOL_REV = 0x0102;
|
||||
private static LoginServer INSTANCE;
|
||||
private Thread _restartLoginServer;
|
||||
private static GameServerListener _gameServerListener;
|
||||
private final ThreadPoolExecutor _generalPacketsExecutor;
|
||||
private TelnetStatusThread _statusServer;
|
||||
private ServerSocket _serverSocket;
|
||||
|
||||
private final ThreadPoolExecutor _generalPacketsExecutor;
|
||||
|
||||
public static int PROTOCOL_REV = 0x0102;
|
||||
|
||||
public static LoginServer getInstance()
|
||||
{
|
||||
return _instance;
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
// GUI
|
||||
@@ -81,8 +75,8 @@ public class LoginServer extends FloodProtectedListener
|
||||
|
||||
try
|
||||
{
|
||||
_instance = new LoginServer();
|
||||
_instance.start();
|
||||
INSTANCE = new LoginServer();
|
||||
INSTANCE.start();
|
||||
LOGGER.info("Login Server ready on " + Config.LOGIN_BIND_ADDRESS + ":" + Config.PORT_LOGIN);
|
||||
}
|
||||
catch (IOException e)
|
||||
@@ -242,6 +236,14 @@ public class LoginServer extends FloodProtectedListener
|
||||
{
|
||||
LOGGER.config("IP Bans file (" + bannedFile.getName() + ") is missing or is a directory, skipped.");
|
||||
}
|
||||
|
||||
if (Config.LOGIN_SERVER_SCHEDULE_RESTART)
|
||||
{
|
||||
LOGGER.info("Scheduled LS restart after " + Config.LOGIN_SERVER_SCHEDULE_RESTART_TIME + " hours");
|
||||
_restartLoginServer = new LoginServerRestart();
|
||||
_restartLoginServer.setDaemon(true);
|
||||
_restartLoginServer.start();
|
||||
}
|
||||
}
|
||||
|
||||
public TelnetStatusThread getStatusServer()
|
||||
@@ -296,6 +298,31 @@ public class LoginServer extends FloodProtectedListener
|
||||
}
|
||||
}
|
||||
|
||||
class LoginServerRestart extends Thread
|
||||
{
|
||||
public LoginServerRestart()
|
||||
{
|
||||
setName("LoginServerRestart");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
while (!isInterrupted())
|
||||
{
|
||||
try
|
||||
{
|
||||
Thread.sleep(Config.LOGIN_SERVER_SCHEDULE_RESTART_TIME * 3600000);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
return;
|
||||
}
|
||||
shutdown(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void shutdown(boolean restart)
|
||||
{
|
||||
// Backup database.
|
||||
@@ -341,4 +368,9 @@ public class LoginServer extends FloodProtectedListener
|
||||
{
|
||||
new LoginClient(socket);
|
||||
}
|
||||
|
||||
public static LoginServer getInstance()
|
||||
{
|
||||
return INSTANCE;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user