Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P L2JFrozen
- Index: gameserver/head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java
- ===================================================================
- --- gameserver/head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (revision 936)
- +++ gameserver/head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (working copy)
- @@ -26,6 +26,7 @@
- import com.l2jfrozen.Config;
- import com.l2jfrozen.crypt.nProtect;
- import com.l2jfrozen.crypt.nProtect.RestrictionType;
- +import com.l2jfrozen.gameserver.Restart;
- import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager;
- import com.l2jfrozen.gameserver.controllers.GameTimeController;
- import com.l2jfrozen.gameserver.datatables.CharSchemesTable;
- @@ -466,6 +467,11 @@
- }
- }
- + if(Config.RESTART_BY_TIME_OF_DAY)
- + {
- + ShowNextRestart(activeChar);
- + }
- +
- // NPCBuffer
- if (PowerPakConfig.BUFFER_ENABLED)
- CharSchemesTable.getInstance().onPlayerLogin(activeChar.getObjectId());
- @@ -801,6 +807,17 @@
- }
- }
- + /**
- + * Envia mensagem para o player do proximo restart
- + * NOTE: RESTART_BY_TIME_OF_DAY = TRUE
- + *
- + * @param activeChar
- + */
- + private void ShowNextRestart(L2PcInstance activeChar)
- + {
- + activeChar.sendMessage("Next Restart: " + Restart.getInstance().getRestartNextTime());
- + }
- +
- @Override
- public String getType()
- {
- ### Eclipse Workspace Patch 1.0
- #P L2JFrozen
- Index: gameserver/head-src/com/l2jfrozen/gameserver/Shutdown.java
- ===================================================================
- --- gameserver/head-src/com/l2jfrozen/gameserver/Shutdown.java (revision 936)
- +++ gameserver/head-src/com/l2jfrozen/gameserver/Shutdown.java (working copy)
- @@ -171,6 +171,18 @@
- }
- }
- + public void autoRestart(int time)
- + {
- + _secondsShut = time;
- +
- + countdown();
- +
- + _shutdownMode = GM_RESTART;
- +
- + _instance.setMode(GM_RESTART);
- + System.exit(2);
- + }
- +
- /**
- * Default constucter is only used internal to create the shutdown-hook instance
- */
- ### Eclipse Workspace Patch 1.0
- #P L2JFrozen
- Index: gameserver/head-src/com/l2jfrozen/gameserver/Restart.java
- ===================================================================
- --- gameserver/head-src/com/l2jfrozen/gameserver/Restart.java (revision 0)
- +++ gameserver/head-src/com/l2jfrozen/gameserver/Restart.java (revision 0)
- @@ -0,0 +1,122 @@
- +/*
- + * This program is free software: you can redistribute it and/or modify it under
- + * the terms of the GNU General Public License as published by the Free Software
- + * Foundation, either version 3 of the License, or (at your option) any later
- + * version.
- + *
- + * This program is distributed in the hope that it will be useful, but WITHOUT
- + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- + * details.
- + *
- + * You should have received a copy of the GNU General Public License along with
- + * this program. If not, see <http://www.gnu.org/licenses/>.
- + */
- + package com.l2jfrozen.gameserver;
- +
- + import java.text.SimpleDateFormat;
- + import java.util.Calendar;
- + import java.util.logging.Logger;
- +
- + import com.l2jfrozen.Config;
- + import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
- +
- + /**
- + * This Config for Auto Restart GameServer
- + * Initialize class getInstance()
- + * Set Time in Config File
- + * Thank You L2JServer | L2JRussia
- + *
- + * @author L2JRussia
- + *
- + */
- + public class Restart
- + {
- + //Variaveis globais
- + private static Restart _instance = null;
- + protected static final Logger _log = Logger.getLogger(Restart.class.getName());
- + private Calendar NextRestart;
- + private SimpleDateFormat format = new SimpleDateFormat("HH:mm");
- +
- + //Singleton
- + public static Restart getInstance()
- + {
- + if(_instance == null)
- + _instance = new Restart();
- + return _instance;
- + }
- +
- + public String getRestartNextTime()
- + {
- + if(NextRestart.getTime() != null)
- + return format.format(NextRestart.getTime());
- + else
- + return "Erro";
- + }
- +
- + //Connstrutor
- + private Restart()
- + {
- + //:D
- + }
- +
- + public void StartCalculationOfNextRestartTime()
- + {
- + _log.info("#####################################");
- + _log.info("#[Restart System]: System actived...#");
- + _log.info("#####################################");
- + try
- + {
- + Calendar currentTime = Calendar.getInstance();
- + Calendar testStartTime = null;
- + long flush2 = 0,timeL = 0;
- + int count = 0;
- +
- + for (String timeOfDay : Config.RESTART_INTERVAL_BY_TIME_OF_DAY)
- + {
- + testStartTime = Calendar.getInstance();
- + testStartTime.setLenient(true);
- + String[] splitTimeOfDay = timeOfDay.split(":");
- + testStartTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(splitTimeOfDay[0]));
- + testStartTime.set(Calendar.MINUTE, Integer.parseInt(splitTimeOfDay[1]));
- + testStartTime.set(Calendar.SECOND, 00);
- + //Verifica a validade to tempo
- + if (testStartTime.getTimeInMillis() < currentTime.getTimeInMillis())
- + {
- + testStartTime.add(Calendar.DAY_OF_MONTH, 1);
- + }
- +
- + //TimeL Recebe o quanto falta de milisegundos para o restart
- + timeL = testStartTime.getTimeInMillis() - currentTime.getTimeInMillis();
- +
- + //Verifica qual horario sera o proximo restart
- + if(count == 0){
- + flush2 = timeL;
- + NextRestart = testStartTime;
- + }
- +
- + if(timeL < flush2){
- + flush2 = timeL;
- + NextRestart = testStartTime;
- + }
- +
- + count ++;
- + }
- + _log.info("[AutoRestart]: Next Restart Time: " + NextRestart.getTime().toString());
- + ThreadPoolManager.getInstance().scheduleGeneral(new StartRestartTask(), flush2);
- + }
- + catch (Exception e)
- + {
- + System.out.println("[AutoRestart]: The restart automated server presented error in load restarts period config !");
- + }
- + }
- +
- + class StartRestartTask implements Runnable
- + {
- + public void run()
- + {
- + _log.info("Start automated restart GameServer.");
- + Shutdown.getInstance().autoRestart(Config.RESTART_SECONDS);
- + }
- + }
- + }
- \ No newline at end of file
- ### Eclipse Workspace Patch 1.0
- #P L2JFrozen
- Index: gameserver/head-src/com/l2jfrozen/gameserver/GameServer.java
- ===================================================================
- --- gameserver/head-src/com/l2jfrozen/gameserver/GameServer.java (revision 936)
- +++ gameserver/head-src/com/l2jfrozen/gameserver/GameServer.java (working copy)
- @@ -549,6 +549,14 @@
- if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE) && Config.RESTORE_OFFLINERS)
- OfflineTradeTable.restoreOfflineTraders();
- + Util.printSection("Restart Manager");
- + if(Config.RESTART_BY_TIME_OF_DAY)
- + Restart.getInstance().StartCalculationOfNextRestartTime();
- + else
- + _log.info("# Auto Restart System is Disabled #");
- +
- + System.gc();
- +
- Util.printSection("Info");
- _log.info("Operating System: " + Util.getOSName() + " " + Util.getOSVersion() + " " + Util.getOSArch());
- _log.info("Available CPUs: " + Util.getAvailableProcessors());
- ### Eclipse Workspace Patch 1.0
- #P L2JFrozen
- Index: gameserver/config/custom/la2slipper.properties
- ===================================================================
- --- gameserver/config/functions/l2jfrozen.properties (revision 979)
- +++ gameserver/config/functions/l2jfrozen.properties (working copy)
- @@ -2,6 +2,42 @@
- # Server Config #
- #============================================================#
- +###########################################
- +# Automated restart config #
- +# l2frozen mod #
- +# #########################################
- +# Enable / Disable Restart Auto
- +EnableRestartSystem = False
- +
- +# If EnableRestartSystem = True Describe hours of the day
- +# Example: 22:00,23:00 (hh:mm,hh:mm...)
- +# NOTE: Separate ":" mm:hh and "," others restart time
- +RestartByTimeOfDay = 00:00,12:00
- +
- +# Seconds to restart the server ( 360 = 5 Minutos )
- +# default = 360
- +RestartSeconds = 360
- +
- # Server Name Enabled: Displays a message on char login
- # with the server name you have set below.
- ServerNameEnabled = False
- ### Eclipse Workspace Patch 1.0
- #P L2JFrozen
- Index: gameserver/head-src/com/l2jfrozen/Config.java
- ===================================================================
- --- gameserver/head-src/com/l2jfrozen/Config.java (revision 936)
- +++ gameserver/head-src/com/l2jfrozen/Config.java (working copy)
- @@ -2281,6 +2287,13 @@
- public static boolean ANNOUNCE_TO_ALL_SPAWN_RB;
- public static boolean ANNOUNCE_TRY_BANNED_ACCOUNT;
- public static String ALT_Server_Name;
- + public static boolean ENABLE_CLAN_SYSTEM;
- + public static Map CLAN_SKILLS;
- + public static byte CLAN_LEVEL;
- + public static int REPUTATION_QUANTITY;
- + public static boolean RESTART_BY_TIME_OF_DAY;
- + public static int RESTART_SECONDS;
- + public static String[] RESTART_INTERVAL_BY_TIME_OF_DAY;
- ---------------------------------------------------------------------------------------------------------
- /** Server Name **/
- ALT_SERVER_NAME_ENABLED = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ServerNameEnabled", "false"));
- ANNOUNCE_TO_ALL_SPAWN_RB = Boolean.parseBoolean(L2JFrozenSettings.getProperty("AnnounceToAllSpawnRb", "false"));
- ANNOUNCE_TRY_BANNED_ACCOUNT = Boolean.parseBoolean(L2JFrozenSettings.getProperty("AnnounceTryBannedAccount", "false"));
- ALT_Server_Name = String.valueOf(L2JFrozenSettings.getProperty("ServerName"));
- + RESTART_BY_TIME_OF_DAY = Boolean.parseBoolean(la2slipperSettings.getProperty("EnableRestartSystem", "false"));
- + RESTART_SECONDS = Integer.parseInt(la2slipperSettings.getProperty("RestartSeconds", "360"));
- + RESTART_INTERVAL_BY_TIME_OF_DAY = la2slipperSettings.getProperty("RestartByTimeOfDay", "20:00").split(",");
Add Comment
Please, Sign In to add comment