auto restart for login server console, this will evit login crash!
### Eclipse Workspace Patch 1.0
#P L2J_Server
Index: java/com/l2jserver/loginserver/L2LoginServer.java
===================================================================
--- java/com/l2jserver/loginserver/L2LoginServer.java (revision 5615)
+++ java/com/l2jserver/loginserver/L2LoginServer.java (working copy)
@@ -50,6 +50,7 @@
private GameServerListener _gameServerListener;
private SelectorThread<L2LoginClient> _selectorThread;
private Status _statusServer;
+ private Thread _restartLoginServer;
public static void main(String[] args)
{
@@ -317,8 +318,41 @@
{
_log.warning("IP Bans file (" + bannedFile.getName() + ") is missing or is a directory, skipped.");
}
+
+ if (Config.LOGIN_SERVER_SCHEDULE_RESTART)
+ {
+ _log.info("Scheduled LS restart after " + Config.LOGIN_SERVER_SCHEDULE_RESTART_TIME + " hours");
+ _restartLoginServer = new LoginServerRestart();
+ _restartLoginServer.setDaemon(true);
+ _restartLoginServer.start();
+ }
}
+ class LoginServerRestart extends Thread
+ {
+ public LoginServerRestart()
+ {
+ setName("LoginServerRestart");
+ }
+
+ @Override
+ public void run()
+ {
+ while (!isInterrupted())
+ {
+ try
+ {
+ Thread.sleep(Config.LOGIN_SERVER_SCHEDULE_RESTART_TIME * 60 * 60 * 1000);
+ }
+ catch (InterruptedException e)
+ {
+ return;
+ }
+ shutdown(true);
+ }
+ }
+ }
+
public void shutdown(boolean restart)
{
Runtime.getRuntime().exit(restart ? 2 : 0);
Index: java/com/l2jserver/Config.java
===================================================================
--- java/com/l2jserver/Config.java (revision 5615)
+++ java/com/l2jserver/Config.java (working copy)
@@ -82,7 +82,6 @@
public static final String GRACIASEEDS_CONFIG_FILE = "./config/GraciaSeeds.properties";
public static final String CHAT_FILTER_FILE = "./config/chatfilter.txt";
-
//--------------------------------------------------
// L2J Variable Definitions
//--------------------------------------------------
@@ -878,6 +877,8 @@
public static boolean RESERVE_HOST_ON_LOGIN = false;
public static TIntArrayList PROTOCOL_LIST;
public static boolean LOG_LOGIN_CONTROLLER;
+ public static boolean LOGIN_SERVER_SCHEDULE_RESTART;
+ public static long LOGIN_SERVER_SCHEDULE_RESTART_TIME;
//--------------------------------------------------
// CommunityServer Settings
@@ -2792,6 +2793,9 @@
LOG_LOGIN_CONTROLLER = Boolean.parseBoolean(serverSettings.getProperty("LogLoginController", "true"));
+ LOGIN_SERVER_SCHEDULE_RESTART = Boolean.parseBoolean(serverSettings.getProperty("LoginRestartSchedule", "False"));
+ LOGIN_SERVER_SCHEDULE_RESTART_TIME = Long.parseLong(serverSettings.getProperty("LoginRestartTime", "24"));
+
DATABASE_DRIVER = serverSettings.getProperty("Driver", "com.mysql.jdbc.Driver");
DATABASE_URL = serverSettings.getProperty("URL", "jdbc:mysql://localhost/l2jls");
DATABASE_LOGIN = serverSettings.getProperty("Login", "root");
Index: dist/login/config/loginserver.properties
===================================================================
--- dist/login/config/loginserver.properties (revision 5615)
+++ dist/login/config/loginserver.properties (working copy)
@@ -107,4 +107,11 @@
# Developer Settings
# ---------------------------------------------------------------------------
# Default: False
-Debug = False
\ No newline at end of file
+Debug = False
+
+# ---------------------------------------------------------------------------
+# Restart LS every 24 hours?
+# ---------------------------------------------------------------------------
+# Default: False, 24
+LoginRestartSchedule = False
+LoginRestartTime = 24
\ No newline at end of file
Have Fun 8)