Jump to content

Question

Posted (edited)

Hello guys,
I am not sure,but I guess that some players in my server are using this method to dupe items: http://www.maxcheaters.com/topic/189012-new-bug-duplicate-freya-hi5/
I've given it a thought and came with few solutions.

1) Change method when you enter the world,the last thing program does is load your inventory.
2) Change the way deleting item method works,load items from databse every time you delete something.Just thought of one downside for this method,wouldn't the said duping method work if instead of deleting item just trade it to someone or using other transfer method.Plus,I believe, it's really hitting on performance.
Any help guys?
EDIT: aCis rev 320

Edited by StealthyS4m

Recommended Posts

  • 0
Posted

 

Index: trunk/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/AuthLogin.java
===================================================================
--- trunk/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/AuthLogin.java    (revision 236)
+++ trunk/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/AuthLogin.java    (revision 323)
@@ -15,8 +15,7 @@
 package net.sf.l2j.gameserver.network.clientpackets;
 
-import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.LoginServerThread;
 import net.sf.l2j.gameserver.LoginServerThread.SessionKey;
-import net.sf.l2j.gameserver.network.L2GameClient;
+import net.sf.l2j.gameserver.network.serverpackets.L2GameServerPacket;
 
 /**
@@ -44,14 +43,13 @@
     protected void runImpl()
     {
-        final SessionKey key = new SessionKey(_loginKey1, _loginKey2, _playKey1, _playKey2);
-        if (Config.DEBUG)
-            _log.info("User:" + _loginName + "key:" + key);
-        
-        final L2GameClient client = getClient();
-        if (client.getAccountName() == null)
+        if (getClient().getAccountName() == null)
         {
-            client.setAccountName(_loginName);
-            LoginServerThread.getInstance().addGameServerLogin(_loginName, client);
-            LoginServerThread.getInstance().addWaitingClientAndSendRequest(_loginName, client, key);
+            if (LoginServerThread.getInstance().addGameServerLogin(_loginName, getClient()))
+            {
+                getClient().setAccountName(_loginName);
+                LoginServerThread.getInstance().addWaitingClientAndSendRequest(_loginName, getClient(), new SessionKey(_loginKey1, _loginKey2, _playKey1, _playKey2));
+            }
+            else
+                getClient().close((L2GameServerPacket) null);
         }
     }
 

 

 

Index: trunk/aCis_gameserver/java/net/sf/l2j/gameserver/LoginServerThread.java
===================================================================
--- trunk/aCis_gameserver/java/net/sf/l2j/gameserver/LoginServerThread.java    (revision 274)
+++ trunk/aCis_gameserver/java/net/sf/l2j/gameserver/LoginServerThread.java    (revision 323)
@@ -419,7 +419,10 @@
     }
     
-    public void addGameServerLogin(String account, L2GameClient client)
-    {
-        _accountsInGameServer.put(account, client);
+    public boolean addGameServerLogin(String account, L2GameClient client)
+    {
+        if (_accountsInGameServer.containsKey(account))
+            return false;
+        
+        return _accountsInGameServer.put(account, client) == null;
     }
  • 0
Posted

Mhmm,I got those lines in my source.
Back to the problem-item duping.
I just know that this player is using phx,using warehouse(standing nearby) and reconnects a few times.In just looks like that he is doing the bug shown in the video,but if double login isn't working then...idk.
If anyone knows how it's done,Thanks!

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

    • Thank you! Thank you. I will make sure this won't happen, promise Hello friend, I can promise you there is admins 18-19 years old currently having servers arround but I dont want to expose them, there is no reason I dont need your 50 euros that is for sure, Also i dont understand the translation that you use to answers me for the e-global part, but I will answer you based on what you did answer me. You say trust the process, that is right approach and good spirit however when you go to speak with a developers, the first thing they will mention you is what is budget for this, now even going to a trunkey server build with the current engines that available in the market they will say you 20k almost based on something that is already in here, Imagine when you ask them to build from zero something that does not exists what is the budget requirment. Example:  This is only to have 1-3 developers supporting you with 8 hours of work,  This is to build something that already exists. So please, if you don't have knowledge, don't drop bombs like trust the procces stuff because otherwise, you was already working and making something similar, to E-global now. But I can promise you if we will have enough budget we will go for something similar soon.
    • If you find a gen z  who knows what l2 is, I will give you 50 euro. We should let this game rest.    Trust the process: spin up 10 agents and build it in a few weeks, and sell it for a million dollars with anti cheat software included. E-Global made  it  possible, and now I can point and click as fast as lighting.       im pretty sure ive seen many messiahs bring "the best project of our lives" only for it to rise and fall. This conversation has been recycled over and over again. But who knows? Maybe one day, after 30 years, we lll finally get a decent project that doesnt bring back the same old gameplay ideas. Then some russians, argentinians, and brazilians will enter the game and cry about how different the gameplay is from the original Lineage 2 game, and then "bb, dead trash server." After that, the admin will recycle the files or sell them for 5k, make a new project based on Interlude, and everyone will be happy again.   No more admins please thanks
  • 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..