Jump to content

[Interlude] Automatic Restart!


Recommended Posts

# 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 <<  Here you put the time that will give the restart!
 

 

39624365.png

 

semttulooac.png

 

Quote
### 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/custom/la2slipper.properties (revision 936)

+++ gameserver/config/custom/la2slipper.properties (working copy)

@@ -2,6 +2,42 @@

#                        Server Config                      #

#============================================================#

 

+###########################################

+# Automated restart config                #

+# Mod exclusive LA2JSlipper              #

+# #########################################

+# 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;

 

+         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(",");

Credits : Leoneto(Ares)

Edited by Fanky
Link to comment
Share on other sites

ndex: 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;

+           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(",");

this lines have problem :S

Link to comment
Share on other sites

ndex: 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;

+           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(",");

this lines have problem :S

Config.java

 

la2slipperSettings.getProperty -> mypackSettings.getProperty

Link to comment
Share on other sites

public static boolean ANNOUNCE_TRY_BANNED_ACCOUNT;
public static String ALT_Server_Name;
+public static boolean RESTART_BY_TIME_OF_DAY;
+public static int RESTART_SECONDS;
+public static String[] RESTART_INTERVAL_BY_TIME_OF_DAY;
public static boolean DONATOR_NAME_COLOR_ENABLED;
public static int DONATOR_NAME_COLOR;

and after

ALT_SERVER_NAME_ENABLED = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ServerNameEnabled", "false"));
+RESTART_BY_TIME_OF_DAY = Boolean.parseBoolean(L2JFrozenSettings.getProperty("EnableRestartSystem", "false"));
+RESTART_SECONDS = Integer.parseInt(L2JFrozenSettings.getProperty("RestartSeconds", "360"));
+RESTART_INTERVAL_BY_TIME_OF_DAY = L2JFrozenSettings.getProperty("RestartByTimeOfDay", "20:00").split(",");
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"));

Link to comment
Share on other sites

  • 1 month later...

Plenty errors in apply patch....I have edit the right Project and filenames but total error row by row... u should post Adapt code not this "your own" code, even Credits for L2JRussia right?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • /data/attachments/4/4519-0e10f165cf34562cd44d346d47967752.jpg Dear friends! September 27 we start Event for Olympiad games on Open Beta server Start Olympiad games in 19:00 (UTC +3) September 27 Fights will be till 23:40, then we get Heroes (after 00:00) All who get Hero status, will receive 500 ToDs. Best 5 Hero, who will get the most PTS, will get 800 ToDs instead of 500. ToDs you will get on your Master Account balance No class vs class fights Enchant Level Restrictions: S gr +6, A gr + 7, C/B gr + 16. On Olympiad, all items that higher than restriction level will be removed, and you won't be able to use them or wear them Talent Tree avaible only Tier 1 (same like will be on 1st Oly cycle on Live server) Skill enchant lvl: 15 max for 2nd profession, 7 for 3rd profession - its global rules for all Beta Good luck to Everyone!  
    • I'm currently working on an advanced auto-farm compatible with older chronicles (C4, IL, HF, etc) and older L2J-Mobius builds. https://imgur.com/a/LJS2OMC
    • GamezAION 4.8 High Quality Relaunch Coming Friday 4th October 2024   All Latest Retail Skin Appearances Unique RvR Battlegrounds (Guardian) (Battle of Gods) Added New PvPvE Map with Seasonal Ranking System Active Anticheat System & Shugo Console Support   Download links available on website   https://gamezaion.com Join the Action!
    • 🌟 Step Into Lin2Age C4 – Your Nostalgic Journey Awaits! 🌟 Get ready for an unforgettable adventure filled with fierce battles ⚔️, mighty clans 👑, and epic quests 🌍! Lin2Age is a custom Lineage 2 server designed to bring you the ultimate classic experience, enriched with modern features. Whether you're a battle-hardened veteran or a fresh-faced newcomer, there's a place for everyone in our world! 🛡️✨   🔥 Why Lin2Age is Your Best Choice 🔥 ✅ Dynamic Events & Rewards: Enjoy thrilling features like TVT, Magic Roulette, Daily Rewards, measures to enhance your gameplay. ✅ Advanced Security Features: Enjoy robust protections with Anti-Bot measures, Password Lock, and Raid Boss Information to keep your adventures safe and secure. ✅ Balanced Gameplay for All: Dive into a harmonious blend of PvP, PvE, and crafting! Lin2Age combines the finest elements from Scions of Destiny MasterWork and Interlude, ensuring an immersive experience for every playstyle! 🛡️⚔️ ✅ Epic Gear & AIO Buffer: Equip Legendary Armor and powerful jewels! Our All-In-One Buffer is at your service, empowering you to dominate the battlefield! 💎💪 ✅ Unique Custom Features: Embark on exclusive quests 📜 and take on formidable raid bosses 🐉! Lin2Age is filled with thrilling content that keeps your adventures lively and exciting. 🎯🎮 ✅ Thriving Community: Join a vibrant community where teamwork and friendship thrive! Whether leading a clan or joining one, support is always at your fingertips! 🤝👑 ✅ Regular Updates & Events: Experience continuous excitement! With frequent updates, fresh custom content, and epic events, Lin2Age is always evolving, thanks to your invaluable feedback! 🔄🏆 ✅ Smooth, Lag-Free Experience: Enjoy uninterrupted gameplay on our top-tier servers—say goodbye to lag! 🚀⚡   💎 Fair Play Above All 💎 At Lin2Age, we champion a balanced and equitable gaming experience. Our No Pay-to-Win policy ensures that success comes from skill, strategy, and teamwork, not your wallet! 💪 Everything you need to thrive can be earned through quests, crafting, and epic battles! 🏆🎮   🔑 Key Features You’ll Love 🔑 🔹 Rates: EXP x45, SP x45, ADENA x300—meticulously balanced for your enjoyment! 🔹 Custom Classes & Skills: Discover unique classes and skills that make PvP combat dynamic! ⚔️ 🔹 Epic Raid Bosses: Challenge yourself against custom bosses for legendary loot! 💀🏹 🔹 Clan Wars & Sieges: Test your strength in exhilarating clan wars and castle sieges! 🏰⚔️ 🔹 Dedicated Support Team: Our active Game Masters are committed to ensuring fairness and smooth gameplay! 👥🛡️ ⚔️ Join the Lin2Age Beta Test – Adventurers Needed! 🛡️ Are you ready to experience the glory of Lineage 2, reimagined for a new generation? 🌍 Become part of our exclusive beta test and help shape the future of Lin2Age! 🚀✨ Start your epic journey today. Welcome to Lin2Age C4! 💬 Connect with Us on Discord Join our community, stay updated, and take part in the latest events! Discord: https://discord.gg/qKJnQ7Kp5X Youtube: https://www.youtube.com/watch?v=nnO-J_uAqvg https://prnt.sc/b3tRHlxT6YS7
  • Topics

×
×
  • Create New...