Guest User

Untitled

a guest
Feb 10th, 2019
386
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 19.38 KB | None | 0 0
  1. Index: java/server/l2/authserver/network/l2/c2s/RequestAuthLogin.java
  2. IDEA additional info:
  3. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  4. <+>UTF-8
  5. ===================================================================
  6. --- java/server/l2/authserver/network/l2/c2s/RequestAuthLogin.java  (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  7. +++ java/server/l2/authserver/network/l2/c2s/RequestAuthLogin.java  (date 1549815978305)
  8. @@ -1,10 +1,14 @@
  9.  package l2.authserver.network.l2.c2s;
  10.  
  11.  import l2.authserver.Config;
  12. +import l2.authserver.GameServerManager;
  13.  import l2.authserver.IpBanManager;
  14.  import l2.authserver.accounts.Account;
  15.  import l2.authserver.accounts.SessionManager;
  16.  import l2.authserver.crypt.PasswordHash;
  17. +import l2.authserver.network.gamecomm.GameServer;
  18. +import l2.authserver.network.gamecomm.as2gs.GetAccountInfo;
  19. +import l2.authserver.network.gamecomm.as2gs.KickPlayer;
  20.  import l2.authserver.network.l2.L2LoginClient;
  21.  import l2.authserver.network.l2.s2c.LoginFail;
  22.  import l2.authserver.network.l2.s2c.LoginOk;
  23. @@ -107,6 +111,20 @@
  24.             client.close(LoginFail.LoginFailReason.REASON_ATTEMPTED_RESTRICTED_IP);
  25.             return;
  26.         }
  27. +
  28. +       for (GameServer gs : GameServerManager.getInstance().getGameServers()) {
  29. +           if (gs.getProtocol() < 2 || !gs.isAuthed()) continue;
  30. +           gs.sendPacket(new GetAccountInfo(user));
  31. +       }
  32. +
  33. +       for(GameServer gs : GameServerManager.getInstance().getGameServers()) {
  34. +           if(gs.accountAlreadyInGame(user)) {
  35. +               gs.sendPacket(new KickPlayer(user));
  36. +               client.close(LoginFail.LoginFailReason.REASON_ACCOUNT_IN_USE);
  37. +               return;
  38. +           }
  39. +       }
  40. +
  41.         account.setLastAccess(currentTime);
  42.         account.setLastIP(client.getIpAddress());
  43.         Log.LogAccount(account);
  44. Index: java/server/l2/authserver/network/gamecomm/gs2as/PlayerAuthRequest.java
  45. IDEA additional info:
  46. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  47. <+>UTF-8
  48. ===================================================================
  49. --- java/server/l2/authserver/network/gamecomm/gs2as/PlayerAuthRequest.java (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  50. +++ java/server/l2/authserver/network/gamecomm/gs2as/PlayerAuthRequest.java (date 1549809434195)
  51. @@ -28,8 +28,7 @@
  52.     {
  53.         SessionKey skey = new SessionKey(loginOkId1, loginOkId2, playOkId1, playOkId2);
  54.         SessionManager.Session session = SessionManager.getInstance().closeSession(skey);
  55. -       if(session == null || !session.getAccount().getLogin().equals(account))
  56. -       {
  57. +       if (session == null || !session.getAccount().getLogin().equals(account)) {
  58.             sendPacket(new PlayerAuthResponse(account));
  59.             return;
  60.         }
  61. Index: java/server/l2/authserver/network/l2/c2s/RequestServerLogin.java
  62. IDEA additional info:
  63. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  64. <+>UTF-8
  65. ===================================================================
  66. --- java/server/l2/authserver/network/l2/c2s/RequestServerLogin.java    (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  67. +++ java/server/l2/authserver/network/l2/c2s/RequestServerLogin.java    (date 1549810358296)
  68. @@ -45,11 +45,13 @@
  69.             client.close(LoginFail.LoginFailReason.REASON_ACCESS_FAILED);
  70.             return;
  71.         }
  72. +
  73.         if(gs.isGmOnly() && account.getAccessLevel() < 100)
  74.         {
  75.             client.close(LoginFail.LoginFailReason.REASON_SERVER_MAINTENANCE);
  76.             return;
  77.         }
  78. +
  79.         account.setLastServer(_serverId);
  80.         account.update();
  81.         client.close(new PlayOk(skey));
  82. Index: java/server/l2/authserver/accounts/Account.java
  83. IDEA additional info:
  84. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  85. <+>UTF-8
  86. ===================================================================
  87. --- java/server/l2/authserver/accounts/Account.java (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  88. +++ java/server/l2/authserver/accounts/Account.java (date 1549808766532)
  89. @@ -3,6 +3,10 @@
  90.  import l2.authserver.database.L2DatabaseFactory;
  91.  import l2.commons.dbutils.DbUtils;
  92.  import l2.commons.net.utils.NetList;
  93. +import org.apache.commons.lang3.tuple.ImmutablePair;
  94. +import org.apache.commons.lang3.tuple.Pair;
  95. +import org.napile.primitive.maps.IntObjectMap;
  96. +import org.napile.primitive.maps.impl.HashIntObjectMap;
  97.  import org.slf4j.Logger;
  98.  import org.slf4j.LoggerFactory;
  99.  
  100. @@ -25,6 +29,8 @@
  101.     private int lastAccess;
  102.     private int lastServer;
  103.     private String email;
  104. +
  105. +   private IntObjectMap<Pair<Integer, int[]>> _serversInfo = new HashIntObjectMap<Pair<Integer, int[]>>(2);
  106.    
  107.     public Account(String login)
  108.     {
  109. @@ -110,7 +116,17 @@
  110.     {
  111.         this.lastServer = lastServer;
  112.     }
  113. -  
  114. +
  115. +   public void addAccountInfo(int serverId, int size, int[] deleteChars)
  116. +   {
  117. +       _serversInfo.put(serverId, new ImmutablePair<Integer, int[]>(size, deleteChars));
  118. +   }
  119. +
  120. +   public Pair<Integer, int[]> getAccountInfo(int serverId) {
  121. +       return (Pair)_serversInfo.get(serverId);
  122. +   }
  123. +
  124. +
  125.     @Override
  126.     public String toString()
  127.     {
  128. Index: java/server/l2/authserver/accounts/SessionManager.java
  129. IDEA additional info:
  130. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  131. <+>UTF-8
  132. ===================================================================
  133. --- java/server/l2/authserver/accounts/SessionManager.java  (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  134. +++ java/server/l2/authserver/accounts/SessionManager.java  (date 1549814900661)
  135. @@ -1,14 +1,15 @@
  136.  package l2.authserver.accounts;
  137.  
  138. +import l2.authserver.GameServerManager;
  139.  import l2.authserver.ThreadPoolManager;
  140. +import l2.authserver.network.gamecomm.GameServer;
  141. +import l2.authserver.network.l2.L2LoginClient;
  142.  import l2.authserver.network.l2.SessionKey;
  143.  import l2.commons.threading.RunnableImpl;
  144.  import org.slf4j.Logger;
  145.  import org.slf4j.LoggerFactory;
  146.  
  147. -import java.util.HashMap;
  148. -import java.util.Iterator;
  149. -import java.util.Map;
  150. +import java.util.*;
  151.  import java.util.concurrent.locks.Lock;
  152.  import java.util.concurrent.locks.ReentrantLock;
  153.  
  154. @@ -18,6 +19,11 @@
  155.     private static final SessionManager _instance = new SessionManager();
  156.     private final Map<SessionKey, Session> sessions = new HashMap<>();
  157.     private final Lock lock = new ReentrantLock();
  158. +
  159. +   public static enum AuthLoginResult
  160. +   {
  161. +       INVALID_PASSWORD, ACCOUNT_BANNED, ALREADY_ON_LS, ALREADY_ON_GS, AUTH_SUCCESS, SYSTEM_ERROR, TCARD_REQUIRED
  162. +   }
  163.    
  164.     private SessionManager()
  165.     {
  166. @@ -93,7 +99,14 @@
  167.         }
  168.         return null;
  169.     }
  170. -  
  171. +
  172. +   public boolean isAccountOnGameserver(String account) {
  173. +       if(getSessionByName(account) != null)
  174. +           return true;
  175. +
  176. +       return false;
  177. +   }
  178. +
  179.     public final class Session
  180.     {
  181.         private final Account account;
  182. Index: java/server/l2/gameserver/network/authcomm/PacketHandler.java
  183. IDEA additional info:
  184. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  185. <+>UTF-8
  186. ===================================================================
  187. --- java/server/l2/gameserver/network/authcomm/PacketHandler.java   (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  188. +++ java/server/l2/gameserver/network/authcomm/PacketHandler.java   (date 1549810953812)
  189. @@ -36,6 +36,14 @@
  190.                 packet = new KickPlayer();
  191.                 break;
  192.             }
  193. +           case 4: {
  194. +               packet = new GetAccountInfo();
  195. +               break;
  196. +           }
  197. +           case 5: {
  198. +               packet = new GetAccountInfo();
  199. +               break;
  200. +           }
  201.             case 8: {
  202.                 packet = new ChangeSecondaryPasswordResponse();
  203.                 break;
  204. Index: java/server/l2/authserver/network/gamecomm/GameServer.java
  205. IDEA additional info:
  206. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  207. <+>UTF-8
  208. ===================================================================
  209. --- java/server/l2/authserver/network/gamecomm/GameServer.java  (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  210. +++ java/server/l2/authserver/network/gamecomm/GameServer.java  (date 1549815674532)
  211. @@ -5,12 +5,15 @@
  212.  
  213.  import java.net.InetAddress;
  214.  import java.net.UnknownHostException;
  215. +import java.util.ArrayList;
  216. +import java.util.List;
  217.  import java.util.concurrent.atomic.AtomicInteger;
  218.  
  219.  public class GameServer
  220.  {
  221.     private static final Logger _log = Logger.getLogger(GameServer.class);
  222.     private final AtomicInteger _port = new AtomicInteger(0);
  223. +   private List<String> accountsOnGameserver = new ArrayList<String>();
  224.     private int _id;
  225.     private String _internalHost;
  226.     private String _externalHost;
  227. @@ -137,12 +140,21 @@
  228.    
  229.     public void addAccount(String account)
  230.     {
  231. -       ++_playersIngame;
  232. +       _playersIngame++;
  233. +       accountsOnGameserver.add(account);
  234.     }
  235.    
  236.     public void removeAccount(String account)
  237.     {
  238. -       --_playersIngame;
  239. +       _playersIngame--;
  240. +       accountsOnGameserver.remove(account);
  241. +   }
  242. +
  243. +   public boolean accountAlreadyInGame(String account) {
  244. +       if(accountsOnGameserver.contains(account))
  245. +           return true;
  246. +
  247. +       return false;
  248.     }
  249.    
  250.     public void setDown()
  251. @@ -230,4 +242,8 @@
  252.     {
  253.         _protocol = protocol;
  254.     }
  255. +
  256. +   public int getProtocol() {
  257. +       return _protocol;
  258. +   }
  259.  }
  260. \ No newline at end of file
  261. Index: java/server/l2/gameserver/network/authcomm/as2gs/KickPlayer.java
  262. IDEA additional info:
  263. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  264. <+>UTF-8
  265. ===================================================================
  266. --- java/server/l2/gameserver/network/authcomm/as2gs/KickPlayer.java    (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  267. +++ java/server/l2/gameserver/network/authcomm/as2gs/KickPlayer.java    (date 1549817716981)
  268. @@ -10,6 +10,7 @@
  269.  public class KickPlayer extends ReceivablePacket
  270.  {
  271.     String account;
  272. +   private final Object kickPlayer = new Object();
  273.    
  274.     @Override
  275.     public void readImpl()
  276. @@ -33,7 +34,7 @@
  277.         if(activeChar != null)
  278.         {
  279.             activeChar.sendPacket(Msg.ANOTHER_PERSON_HAS_LOGGED_IN_WITH_THE_SAME_ACCOUNT);
  280. -           activeChar.kick();
  281. +           activeChar.logout();
  282.         }
  283.         else
  284.         {
  285. Index: java/server/l2/gameserver/network/authcomm/as2gs/GetAccountInfo.java
  286. IDEA additional info:
  287. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  288. <+>UTF-8
  289. ===================================================================
  290. --- java/server/l2/gameserver/network/authcomm/as2gs/GetAccountInfo.java    (date 1549808979325)
  291. +++ java/server/l2/gameserver/network/authcomm/as2gs/GetAccountInfo.java    (date 1549808979325)
  292. @@ -0,0 +1,65 @@
  293. +package l2.gameserver.network.authcomm.as2gs;
  294. +
  295. +import l2.gameserver.Config;
  296. +import l2.gameserver.database.DatabaseFactory;
  297. +import l2.gameserver.network.authcomm.AuthServerCommunication;
  298. +import l2.gameserver.network.authcomm.ReceivablePacket;
  299. +
  300. +import l2.gameserver.network.authcomm.gs2as.SetAccountInfo;
  301. +import org.napile.primitive.Containers;
  302. +import org.napile.primitive.lists.IntList;
  303. +import org.napile.primitive.lists.impl.ArrayIntList;
  304. +import org.slf4j.Logger;
  305. +import org.slf4j.LoggerFactory;
  306. +
  307. +import java.sql.Connection;
  308. +import java.sql.PreparedStatement;
  309. +import java.sql.ResultSet;
  310. +import java.sql.SQLException;
  311. +
  312. +public class GetAccountInfo extends ReceivablePacket
  313. +{
  314. +    private static final Logger _log = LoggerFactory.getLogger(GetAccountInfo.class);
  315. +    private String _account;
  316. +
  317. +    @Override
  318. +    protected void readImpl()
  319. +    {
  320. +        _account = readS();
  321. +    }
  322. +
  323. +    @Override
  324. +    protected void runImpl()
  325. +    {
  326. +        int playerSize = 0;
  327. +        IntList deleteChars = Containers.EMPTY_INT_LIST;
  328. +
  329. +        try (Connection con = DatabaseFactory.getInstance().getConnection();
  330. +             PreparedStatement statement = con.prepareStatement("SELECT deletetime FROM characters WHERE account_name=?"))
  331. +        {
  332. +            statement.setString(1, _account);
  333. +
  334. +            try (ResultSet rset = statement.executeQuery())
  335. +            {
  336. +                while (rset.next())
  337. +                {
  338. +                    playerSize ++;
  339. +                    int d = rset.getInt("deletetime");
  340. +                    if (d > 0)
  341. +                    {
  342. +                        if (deleteChars.isEmpty())
  343. +                            deleteChars = new ArrayIntList(3);
  344. +
  345. +                        deleteChars.add(d + Config.DELETE_DAYS * 24 * 60 * 60);
  346. +                    }
  347. +                }
  348. +            }
  349. +        }
  350. +        catch (SQLException e)
  351. +        {
  352. +            _log.error("GetAccountInfo:runImpl() ", e);
  353. +        }
  354. +
  355. +        AuthServerCommunication.getInstance().sendPacket(new SetAccountInfo(_account, playerSize, deleteChars.toArray()));
  356. +    }
  357. +}
  358. \ No newline at end of file
  359. Index: java/server/l2/gameserver/network/authcomm/as2gs/PlayerAuthResponse.java
  360. IDEA additional info:
  361. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  362. <+>UTF-8
  363. ===================================================================
  364. --- java/server/l2/gameserver/network/authcomm/as2gs/PlayerAuthResponse.java    (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  365. +++ java/server/l2/gameserver/network/authcomm/as2gs/PlayerAuthResponse.java    (date 1549817892174)
  366. @@ -20,7 +20,7 @@
  367.     private int playOkId2;
  368.     private int loginOkId1;
  369.     private int loginOkId2;
  370. -  
  371. +
  372.     @Override
  373.     public void readImpl()
  374.     {
  375. @@ -34,7 +34,7 @@
  376.             loginOkId2 = readD();
  377.         }
  378.     }
  379. -  
  380. +
  381.     @Override
  382.     protected void runImpl()
  383.     {
  384. @@ -73,4 +73,4 @@
  385.             client.close(new LoginFail(LoginFail.ACCESS_FAILED_TRY_LATER));
  386.         }
  387.     }
  388. -}
  389. \ No newline at end of file
  390. +}
  391. Index: java/server/l2/gameserver/network/authcomm/gs2as/SetAccountInfo.java
  392. IDEA additional info:
  393. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  394. <+>UTF-8
  395. ===================================================================
  396. --- java/server/l2/gameserver/network/authcomm/gs2as/SetAccountInfo.java    (date 1549808971205)
  397. +++ java/server/l2/gameserver/network/authcomm/gs2as/SetAccountInfo.java    (date 1549808971205)
  398. @@ -0,0 +1,28 @@
  399. +package l2.gameserver.network.authcomm.gs2as;
  400. +
  401. +import l2.gameserver.network.authcomm.SendablePacket;
  402. +
  403. +public class SetAccountInfo extends SendablePacket
  404. +{
  405. +    private String _account;
  406. +    private int _size;
  407. +    private int[] _deleteChars;
  408. +
  409. +    public SetAccountInfo(String account, int size, int[] deleteChars)
  410. +    {
  411. +        _account = account;
  412. +        _size = size;
  413. +        _deleteChars = deleteChars;
  414. +    }
  415. +
  416. +    @Override
  417. +    protected void writeImpl()
  418. +    {
  419. +        writeC(5);
  420. +        writeS(_account);
  421. +        writeC(_size);
  422. +        writeD(_deleteChars.length);
  423. +        for (int i : _deleteChars)
  424. +            writeD(i);
  425. +    }
  426. +}
  427. \ No newline at end of file
  428. Index: java/server/l2/authserver/network/gamecomm/gs2as/GetAccountInfo.java
  429. IDEA additional info:
  430. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  431. <+>UTF-8
  432. ===================================================================
  433. --- java/server/l2/authserver/network/gamecomm/gs2as/GetAccountInfo.java    (date 1549807502937)
  434. +++ java/server/l2/authserver/network/gamecomm/gs2as/GetAccountInfo.java    (date 1549807502937)
  435. @@ -0,0 +1,19 @@
  436. +package l2.authserver.network.gamecomm.gs2as;
  437. +
  438. +import l2.authserver.network.gamecomm.SendablePacket;
  439. +
  440. +public class GetAccountInfo
  441. +        extends SendablePacket {
  442. +    private String _name;
  443. +
  444. +    public GetAccountInfo(String name) {
  445. +        _name = name;
  446. +    }
  447. +
  448. +    @Override
  449. +    protected void writeImpl() {
  450. +        writeC(0x04);
  451. +        writeS(_name);
  452. +    }
  453. +}
  454. +
  455. Index: java/server/l2/authserver/network/gamecomm/gs2as/SetAccountInfo.java
  456. IDEA additional info:
  457. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  458. <+>UTF-8
  459. ===================================================================
  460. --- java/server/l2/authserver/network/gamecomm/gs2as/SetAccountInfo.java    (date 1549807598404)
  461. +++ java/server/l2/authserver/network/gamecomm/gs2as/SetAccountInfo.java    (date 1549807598404)
  462. @@ -0,0 +1,39 @@
  463. +package l2.authserver.network.gamecomm.gs2as;
  464. +
  465. +import l2.authserver.accounts.SessionManager;
  466. +import l2.authserver.network.gamecomm.GameServer;
  467. +import l2.authserver.network.gamecomm.ReceivablePacket;
  468. +import org.apache.commons.lang3.ArrayUtils;
  469. +
  470. +public class SetAccountInfo extends ReceivablePacket {
  471. +    private String _account;
  472. +    private int _size;
  473. +    private int[] _deleteChars;
  474. +
  475. +    @Override
  476. +    protected void readImpl() {
  477. +        _account = readS();
  478. +        _size = readC();
  479. +        int size = readD();
  480. +        if (size > 7 || size <= 0) {
  481. +            _deleteChars = ArrayUtils.EMPTY_INT_ARRAY;
  482. +        } else {
  483. +            _deleteChars = new int[size];
  484. +            for (int i = 0; i < _deleteChars.length; ++i) {
  485. +                _deleteChars[i] = readD();
  486. +            }
  487. +        }
  488. +    }
  489. +
  490. +    @Override
  491. +    protected void runImpl() {
  492. +        GameServer gs = getGameServer();
  493. +        if (gs.isAuthed()) {
  494. +            SessionManager.Session session = SessionManager.getInstance().getSessionByName(_account);
  495. +            if (session == null) {
  496. +                return;
  497. +            }
  498. +            session.getAccount().addAccountInfo(gs.getId(), _size, _deleteChars);
  499. +        }
  500. +    }
  501. +}
  502. \ No newline at end of file
  503. Index: java/server/l2/authserver/network/gamecomm/as2gs/GetAccountInfo.java
  504. IDEA additional info:
  505. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  506. <+>UTF-8
  507. ===================================================================
  508. --- java/server/l2/authserver/network/gamecomm/as2gs/GetAccountInfo.java    (date 1549807491182)
  509. +++ java/server/l2/authserver/network/gamecomm/as2gs/GetAccountInfo.java    (date 1549807491182)
  510. @@ -0,0 +1,18 @@
  511. +package l2.authserver.network.gamecomm.as2gs;
  512. +
  513. +import l2.authserver.network.gamecomm.SendablePacket;
  514. +
  515. +public class GetAccountInfo
  516. +        extends SendablePacket {
  517. +    private String _name;
  518. +
  519. +    public GetAccountInfo(String name) {
  520. +        _name = name;
  521. +    }
  522. +
  523. +    @Override
  524. +    protected void writeImpl() {
  525. +        writeC(0x04);
  526. +        writeS(_name);
  527. +    }
  528. +}
  529. \ No newline at end of file
  530. Index: java/server/l2/authserver/network/gamecomm/PacketHandler.java
  531. IDEA additional info:
  532. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  533. <+>UTF-8
  534. ===================================================================
  535. --- java/server/l2/authserver/network/gamecomm/PacketHandler.java   (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  536. +++ java/server/l2/authserver/network/gamecomm/PacketHandler.java   (date 1549808805243)
  537. @@ -1,14 +1,6 @@
  538.  package l2.authserver.network.gamecomm;
  539.  
  540. -import l2.authserver.network.gamecomm.gs2as.AuthRequest;
  541. -import l2.authserver.network.gamecomm.gs2as.ChangeAccessLevel;
  542. -import l2.authserver.network.gamecomm.gs2as.IGPwdCng;
  543. -import l2.authserver.network.gamecomm.gs2as.OnlineStatus;
  544. -import l2.authserver.network.gamecomm.gs2as.PingResponse;
  545. -import l2.authserver.network.gamecomm.gs2as.PlayerAuthRequest;
  546. -import l2.authserver.network.gamecomm.gs2as.PlayerInGame;
  547. -import l2.authserver.network.gamecomm.gs2as.PlayerLogout;
  548. -import l2.authserver.network.gamecomm.gs2as.ChangeSecondaryPassword;
  549. +import l2.authserver.network.gamecomm.gs2as.*;
  550.  import org.slf4j.Logger;
  551.  import org.slf4j.LoggerFactory;
  552.  
  553. @@ -49,6 +41,10 @@
  554.                 case 4:
  555.                     packet = new PlayerLogout();
  556.                     break;
  557. +               case 5: {
  558. +                   packet = new SetAccountInfo();
  559. +                   return packet;
  560. +               }
  561.                 case 13:
  562.                     packet = new ChangeSecondaryPassword();
  563.                     break;
  564. Index: java/server/l2/gameserver/model/Player.java
  565. IDEA additional info:
  566. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  567. <+>UTF-8
  568. ===================================================================
  569. --- java/server/l2/gameserver/model/Player.java (revision 4dc091beb5a6ba0bf0285559f65c702d64b96dfb)
  570. +++ java/server/l2/gameserver/model/Player.java (date 1549817756677)
  571. @@ -1141,7 +1141,7 @@
  572.         prepareToLogout();
  573.         deleteMe();
  574.     }
  575. -  
  576. +
  577.     public void restart()
  578.     {
  579.         if(_connection != null)
Advertisement
Add Comment
Please, Sign In to add comment