Jump to content

Recommended Posts

Posted

This code will paralyze all the players before the server restarts (15 seconds before the server restarts/shuts down by default but you can change it), and unparalyze them if the server restart is cancelled.

 

I create this because many ppl when server restarted or shutdown they cheat such us safe enchanting,buffs stucking and more

 

So the code is the following:

 

 

 

 

 

Index: D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/Shutdown.java

===================================================================

--- D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/Shutdown.java

+++ D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/Shutdown.java

@@ -52,8 +52,35 @@

public static final int GM_RESTART = 2;

public static final int ABORT = 3;

private static String[] _modeText = {"SIGTERM", "shutting down", "restarting", "aborting"};

-   

    /**

+    * Don't allow players to do anything while server is Restarting/Shuting down

+    * this way they won't be able tu use any exploit during restart procedure.

+    */

+    private void paralyzeAllCharacters()

+    {

+    for (L2PcInstance player : L2World.getInstance().getAllPlayers())

+    {

+    //Stop movement for every character connected

+    player.setTarget(null); // Delete it's target

+    player.stopMove(null); // Stop it's movement

+    player.setIsParalyzed(true); // Deny movement

+    player.setIsInvul(true); // Make it invul (this way they won't get killed by a mob)

+    }

+    }

+    /**

+    * Allow players to move again and erase their invul status

+    */

+    private void unparalyzeAllCharacters ()

+    {

+    for (L2PcInstance player: L2World.getInstance().getAllPlayers())

+    {

+    //Restore movement for every char connected

+    player.setIsParalyzed(false); //Unparalize

+    player.setIsInvul(false); //Make vulnerable once again

+    }

+    }

+

+    /**

      * This function starts a shutdown countdown from Telnet (Copied from Function startShutdown())

      *

      * @param ip            IP Which Issued shutdown command

@@ -100,7 +127,8 @@

        Announcements _an = Announcements.getInstance();

        _log.warning("IP: " + IP + " issued shutdown ABORT. " + _modeText[shutdownMode] + " has been stopped!");

        _an.announceToAll("Server aborts " + _modeText[shutdownMode] + " and continues normal operation!");

-

+        //Restore movement in case shutdown/restart are cancelled

+        unparalyzeAllCharacters();

        if (_counterInstance != null) {

            _counterInstance._abort();

        }

@@ -310,6 +338,9 @@

LoginServerThread.getInstance().setServerStatus(ServerStatus.STATUS_DOWN); //avoids new players from logging in

_an.announceToAll("The server is " + _modeText[shutdownMode] + " in 1 minute.");break;

case 30:_an.announceToAll("The server is " + _modeText[shutdownMode] + " in 30 seconds.");break;

+                    case 15:

+                        paralyzeAllCharacters();

+                        _an.announceToAll("The players will now be inmobilized to prevent Exploits during the "+ _modeText[shutdownMode] +" procedure");break;

case 5:_an.announceToAll("The server is " + _modeText[shutdownMode] + " in 5 seconds, please delog NOW !");break;

}

 

Index: D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminShutdown.java

===================================================================

--- D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminShutdown.java (revision 669)

+++ D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminShutdown.java (working copy)

@@ -53,7 +53,15 @@

try

{

int val = Integer.parseInt(command.substring(22));

- serverShutdown(activeChar, val, false);

+                //A restart procedure HAS to be issued at least 60 seconds before it takes effect

+                if (val >= 60)

+                    {

+                        serverShutdown(activeChar, val, false);

+                    }

+                else

+                    {

+                    sendHtmlForm(activeChar);

+                    } 

}

catch (StringIndexOutOfBoundsException e)

{

@@ -64,7 +72,15 @@

try

{

int val = Integer.parseInt(command.substring(21));

- serverShutdown(activeChar, val, true);

+                //A restart procedure HAS to be issued at least 60 seconds before it takes effect

+                if (val >= 60)

+                {

+                serverShutdown(activeChar, val, true);

+                }

+                else

+                {

+                sendHtmlForm(activeChar);

+                }

}

catch (StringIndexOutOfBoundsException e)

{

@@ -111,7 +127,7 @@

replyMSG.append("<tr><td>Game Time: " + format.format(cal.getTime()) + "</td></tr>");

replyMSG.append("</table><br>");

replyMSG.append("<table width=270>");

- replyMSG.append("<tr><td>Enter in seconds the time till the server shutdowns bellow:</td></tr>");

+        replyMSG.append("<tr><td>Enter in seconds the time till the server shutdowns bellow (min. 60 sec.):</td></tr>");

replyMSG.append("<br>");

replyMSG.append("<tr><td><center>Seconds till: <edit var=\"shutdown_time\" width=60></center></td></tr>");

replyMSG.append("</table><

 

 

Posted

Thx for that

I dont understand the code... :S actually where to put it ...for example what is this? @@ -52,8 +52,35 @@

But in some servers you see a message that u cannot enchant while server restarts. Doesnt it work here?

 

Posted

It freezes the playes and makes them invul (for the last 15''), while it announces them that, and stops their movement packs exchange with the server. It also has negate values if you wanna issue a stop shutdown command. It also forces you to issue at least a 60'' shutdown command...

 

I would say it is good, but, l2joff has added a security bar that does the same thing.. And i'm sure i had seen the same code arround... Gimme a sec ^^

 

Actually, my memory never traits me... http://forum.l2jserver.com/thread.php?threadid=23476 ;D

Is that me or i believe that we have some credits problems on this forum? x.x Anyway, i don't want to mess... Let's call it a good share to exist, and a typo at the post's syntax...

 

*Ehm, if you don't know what it actually is, do not consider using it :P It's a java patch, it can be used with eclipse, but first you have to edit it to match to your revision...

Posted

This code will paralyze all the players before the server restarts (15 seconds before the server restarts/shuts down by default but you can change it), and unparalyze them if the server restart is cancelled.

 

I create this because many ppl when server restarted or shutdown they cheat such us safe enchanting,buffs stucking and more

 

So the code is the following:

 

 

 

 

 

Index: D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/Shutdown.java

===================================================================

--- D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/Shutdown.java

+++ D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/Shutdown.java

@@ -52,8 +52,35 @@

public static final int GM_RESTART = 2;

public static final int ABORT = 3;

private static String[] _modeText = {"SIGTERM", "shutting down", "restarting", "aborting"};

-   

    /**

+    * Don't allow players to do anything while server is Restarting/Shuting down

+    * this way they won't be able tu use any exploit during restart procedure.

+    */

+    private void paralyzeAllCharacters()

+    {

+    for (L2PcInstance player : L2World.getInstance().getAllPlayers())

+    {

+    //Stop movement for every character connected

+    player.setTarget(null); // Delete it's target

+    player.stopMove(null); // Stop it's movement

+    player.setIsParalyzed(true); // Deny movement

+    player.setIsInvul(true); // Make it invul (this way they won't get killed by a mob)

+    }

+    }

+    /**

+    * Allow players to move again and erase their invul status

+    */

+    private void unparalyzeAllCharacters ()

+    {

+    for (L2PcInstance player: L2World.getInstance().getAllPlayers())

+    {

+    //Restore movement for every char connected

+    player.setIsParalyzed(false); //Unparalize

+    player.setIsInvul(false); //Make vulnerable once again

+    }

+    }

+

+    /**

      * This function starts a shutdown countdown from Telnet (Copied from Function startShutdown())

      *

      * @param ip            IP Which Issued shutdown command

@@ -100,7 +127,8 @@

        Announcements _an = Announcements.getInstance();

        _log.warning("IP: " + IP + " issued shutdown ABORT. " + _modeText[shutdownMode] + " has been stopped!");

        _an.announceToAll("Server aborts " + _modeText[shutdownMode] + " and continues normal operation!");

-

+        //Restore movement in case shutdown/restart are cancelled

+        unparalyzeAllCharacters();

        if (_counterInstance != null) {

            _counterInstance._abort();

        }

@@ -310,6 +338,9 @@

LoginServerThread.getInstance().setServerStatus(ServerStatus.STATUS_DOWN); //avoids new players from logging in

_an.announceToAll("The server is " + _modeText[shutdownMode] + " in 1 minute.");break;

case 30:_an.announceToAll("The server is " + _modeText[shutdownMode] + " in 30 seconds.");break;

+                    case 15:

+                        paralyzeAllCharacters();

+                        _an.announceToAll("The players will now be inmobilized to prevent Exploits during the "+ _modeText[shutdownMode] +" procedure");break;

case 5:_an.announceToAll("The server is " + _modeText[shutdownMode] + " in 5 seconds, please delog NOW !");break;

}

 

Index: D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminShutdown.java

===================================================================

--- D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminShutdown.java (revision 669)

+++ D:/#PROJECT/l2jserver_IntGS_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminShutdown.java (working copy)

@@ -53,7 +53,15 @@

try

{

int val = Integer.parseInt(command.substring(22));

- serverShutdown(activeChar, val, false);

+                //A restart procedure HAS to be issued at least 60 seconds before it takes effect

+                if (val >= 60)

+                    {

+                        serverShutdown(activeChar, val, false);

+                    }

+                else

+                    {

+                    sendHtmlForm(activeChar);

+                    } 

}

catch (StringIndexOutOfBoundsException e)

{

@@ -64,7 +72,15 @@

try

{

int val = Integer.parseInt(command.substring(21));

- serverShutdown(activeChar, val, true);

+                //A restart procedure HAS to be issued at least 60 seconds before it takes effect

+                if (val >= 60)

+                {

+                serverShutdown(activeChar, val, true);

+                }

+                else

+                {

+                sendHtmlForm(activeChar);

+                }

}

catch (StringIndexOutOfBoundsException e)

{

@@ -111,7 +127,7 @@

replyMSG.append("<tr><td>Game Time: " + format.format(cal.getTime()) + "</td></tr>");

replyMSG.append("</table><br>");

replyMSG.append("<table width=270>");

- replyMSG.append("<tr><td>Enter in seconds the time till the server shutdowns bellow:</td></tr>");

+        replyMSG.append("<tr><td>Enter in seconds the time till the server shutdowns bellow (min. 60 sec.):</td></tr>");

replyMSG.append("<br>");

replyMSG.append("<tr><td><center>Seconds till: <edit var=\"shutdown_time\" width=60></center></td></tr>");

replyMSG.append("</table><

 

 

Damn you let player s have funn :P

Posted

It freezes the playes and makes them invul (for the last 15''), while it announces them that, and stops their movement packs exchange with the server. It also has negate values if you wanna issue a stop shutdown command. It also forces you to issue at least a 60'' shutdown command...

 

I would say it is good, but, l2joff has added a security bar that does the same thing.. And i'm sure i had seen the same code arround... Gimme a sec ^^

 

Actually, my memory never traits me... http://forum.l2jserver.com/thread.php?threadid=23476 ;D

Is that me or i believe that we have some credits problems on this forum? x.x Anyway, i don't want to mess... Let's call it a good share to exist, and a typo at the post's syntax...

 

*Ehm, if you don't know what it actually is, do not consider using it :P It's a java patch, it can be used with eclipse, but first you have to edit it to match to your revision...

 

I know that l2joff do that but it works on old rev not the final.The code is similar but not the same.And the patches stop work right know man.You must do that by yourselfe if you want to mae a code

 

This announce by l2joff and l2jfree

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • AN ALGORITHM FLAGGED HER PHOTO – SHE SPENT NEARLY SIX MONTHS IN CUSTODY  A fake military ID surfaced in a bank fraud case. Facial recognition returned a social media photo of a 50-year-old Tennessee woman as a possible lead. She was arrested.  She spent almost six months in custody, though bank records placed her more than 1,200 miles from the crimes when they happened. She is now seeking $10 million from the city of Fargo and a detective. The lawsuit is still pending.  The system suggested a face. Humans were supposed to establish whether it belonged to the person behind the crime. The cost of getting that wrong was far more than a rejection screen.  Has verification linked you to someone else’s details or locked your account? Don’t keep uploading documents blindly. Message us – we’ll help identify the issue and prepare evidence for an appeal. › TG: @mustang_service_ms ( https:// t.me/ mustang_service_ms ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #drawing #id #photoshop #mistake #news
    • please send normal link not  premium one  
    • First of all, let us get one thing straight. Nobody is forcing you or anyone else on this forum to deal with Kara or buy anything from him. Every single user here has a keyboard and access to the search bar. MaxCheaters has years of archives. All anyone has to do is type "Kara" into the search box, read the history, and make their own informed decision. It takes five seconds to do your own due diligence before opening your wallet.   Second, throwing random insults around and calling me an ass licker just because I do not join your personal witch hunt shows how weak your argument actually is. Staying objective or not taking your side does not mean backing a scammer. Throwing a tantrum and attacking everyone in sight does not make you a hero, it just makes you look desperate for attention.   You are sitting here dragging developers, clients, and forum staff through the mud, crying about admins and calling the forum dead, yet you are still here posting rage posts. If clients lost reputation or money, that is on them and their own business choices. Trying to pin other peoples decisions on me or anyone else who does not agree with you is plain stupid.   Bottom line, the search button exists for a reason. If you want to warn people, post your proof, state the facts, and let adults decide for themselves. But keep my name out of your toxic drama, because making personal attacks on me is not going to fix your problems.
    • 🔥 L2PRIDE — WE ARE LIVE! 🔥 The wait is finally over. L2Pride Interlude C6 officially opened today, September 25th, 2026 at 16:00 GMT+2! If you’ve been waiting for a stable, long-term Interlude server with the old-school feeling you love, but with fresh content and a few new twists — this is your time to join. ⚔️ Classic C6 Experience 🔥 New Content 🏰 Massive PvP & Sieges 💎 Balanced & Competitive Gameplay 🛡️ Built for a long-term community No shortcuts. No pay-to-win nonsense. No server that disappears after a few weeks. Just Lineage 2, the way you remember it. L2Pride is now LIVE. Come build your legacy. ⚔️🔥 DISCORD: https://discord.gg/JVdpESC5Ry
    • 🔥 Daily restock across all tools! Get your favorite AI subscriptions at unbeatable prices.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..