Jump to content
  • 0

Double Login Session Bug.


Question

10 answers to this question

Recommended Posts

  • 0
Posted

Thanks guys, altough I dont know how to apply that bugg i must find some1 to check it . 

I will post feedback soon

/THanks :D

  • 0
Posted (edited)

SweeTs with this fix, after one login in your char ,and logout you cant login again in your char... Something bad in this code..  I cant find good fix... Im added this... Its good with login, logout... But bugg is still working. Maybe someone know where in there can be mistake ? :(

    public boolean addGameServerLogin(String account, L2GameClient client)  {
        
           L2GameClient savedClient = _accountsInGameServer.get(account);
          
                   if (savedClient != null) {
                   if (savedClient.isDetached()) {
                   if (Config.DEBUG)
                   _log.info("Old Client was disconnected: Offline or OfflineMode --> Login Again");
                   ((FastMap<String, L2GameClient>) _accountsInGameServer).put(account, client);
                   return true;
                   }
                   if (Config.DEBUG)
                   _log.info("Old Client was online --> Close Old Client Connection");
                   savedClient.closeNow();
                   _accountsInGameServer.remove(account);
                   return false;
                   }
                   if (Config.DEBUG)
                   _log.info("Client was not online --> New Client Connection");
                   ((FastMap<String, L2GameClient>) _accountsInGameServer).put(account, client);
                   return true;
                   }
}





    L2GameClient savedClient = _accountsInGameServer.get(account);

    if (savedClient != null) {
        if (savedClient.isDetached()) {
            _log.info("Old Client was disconnected: Offline or OfflineMode --> Login Again [Account: " + account + "]");
            ((FastMap<String, L2GameClient>) _accountsInGameServer).put(
                    account, client);
            return true;
        } else {
            _log.info("Old Client was online --> Close Old Client Connection [Account: " + account + "]");
            savedClient.closeNow();
            _accountsInGameServer.remove(account);
            return false;
        }
    } else {
        _log.info("Client was not online --> New Client Connection [Account: " + account + "]");
        ((FastMap<String, L2GameClient>) _accountsInGameServer).put(
                account, client);
        return true;
    }





IN THIS CODE "ELSE" anything mean or no ? Becouse with else i get yellow code... ???

Edited by koksas
  • 0
Posted (edited)

authlogin founded in l2jserver

// avoid potential exploits
if (client.getAccountName() == null)
{
 // Preventing duplicate login in case client login server socket was disconnected or this packet was not sent yet
if (LoginServerThread.getInstance().addGameServerLogin(_loginName, client))
{
 client.setAccountName(_loginName);
 LoginServerThread.getInstance().addWaitingClientAndSendRequest(_loginName, client, key);
}
else
{
 client.close((L2GameServerPacket) null);
 }

+    public boolean addGameServerLogin(String account, L2GameClient client) {
+
+        L2GameClient savedClient = _accountsInGameServer.get(account);
+
+        if (savedClient != null) {
+            if (savedClient.isDetached()) {
+                LOGGER.debug("Old Client was disconnected: Offline or OfflineMode --> Login Again [Account: " + account + "]");
+                ((FastMap<String, L2GameClient>) _accountsInGameServer).put(
+                        account, client);
+                return true;
+            } else {
+                LOGGER.debug("Old Client was online --> Close Old Client Connection [Account: " + account + "]");
+                savedClient.closeNow();
+                _accountsInGameServer.remove(account);
+                return false;
+            }
+        } else {
+            LOGGER.debug("Client was not online --> New Client Connection [Account: " + account + "]");
+            ((FastMap<String, L2GameClient>) _accountsInGameServer).put(
+                    account, client);
+            return true;
+        }
+    }

well i found this in the gta version of frozen.. i dont have idea if this works

 

 

also this 

public boolean addGameServerLogin(String account, L2GameClient client) 
 { 
 return _accountsInGameServer.putIfAbsent(account, client) == null; 
}
Edited by te0x
Guest
This topic is now closed to further replies.


  • Posts

    • 🔥 HF Rework Multi-Proff x10 is coming! ⚔️ New Samurai Crow Client ⚔️ Reworked Systems & Progression ⚔️ Updated Instances ⚔️ Classic Multeria Atmosphere 🧪 Pre-OBT is already live! 📅 Official OBT: June 29 🚀 Launch: July 3 🐞 Report bugs during testing and earn valuable rewards at launch! See you on the battlefield! https://rework.multeria.world/
    • PlayCMS - это удобная система управления веб-сайтом, разработанная специально для игровых проектов Lineage 2. CMS позволяет быстро запустить полнофункциональный серверный сайт с регистрацией игроков, личным кабинетом, новостями, рейтингами, магазином, модулями и гибкой панелью администратора. Система ориентирована на владельцев серверов Lineage 2, которым нужен красивый, функциональный и понятный сайт без лишних сложностей.  PlayCMS уже предоставляет базовые функции для управления проектами, такие как публикация новостей, настройка страниц, работа с пользователями, подключение шаблонов, а также установка модулей и плагинов. Ключевые особенности PlayCMS: — удобная административная панель; — регистрация и авторизация игроков; — учетная запись пользователя; — новостные и информационные страницы; — рейтинги игроков и кланов; — поддержка шаблонов дизайна; — установка модулей и плагинов через административную панель; — магазин цифровых продуктов; — категории продуктов; — возможность добавить фавикон; — защита лицензии для административной панели; — адаптация для игровых проектов Lineage 2; — возможность расширения функционала в соответствии с потребностями сервера. PlayCMS подходит как для новых игровых проектов, так и для существующих серверов, которым нужен удобный сайт с современным дизайном и интуитивно понятным управлением. Система проста в настройке и поддерживает индивидуальные шаблоны, дополнительные плагины и модули, что позволяет вам развивать свой сайт параллельно с развитием сервера. PlayCMS — это готовое решение для владельцев серверов Lineage 2, которым нужен красивый, быстрый и функциональный сайт. Демоверсия —  https://demo.playcms.ru/ Я разработчик этого чуда. Я готов выслушать конструктивную критику, а также ваши предложения по улучшению движка. Кроме того, я пишу модули любой сложности для этой CMS. Свяжитесь со мной: Telegram — @playcms       EN   PlayCMS is a user-friendly website management system designed specifically for Lineage 2 gaming projects. The CMS allows you to quickly launch a fully functional server website with player registration, personal account, news, ratings, a store, modules, and a flexible admin panel. The system is focused on Lineage 2 server owners who need a beautiful, functional, and clear website without unnecessary complexity. PlayCMS already provides basic features for project management, such as publishing news, customizing pages, working with users, connecting templates, and installing modules and plugins. Key Features of PlayCMS: — a convenient administrative panel; — player registration and authorization; — user account; — news and information pages; — player and clan ratings; — support for design templates; — installation of modules and plugins through the admin panel; — digital product store; — product categories; — ability to add a favicon; — license protection for the admin panel; — adaptation for Lineage 2 game projects; — the ability to expand functionality to meet the needs of the server. PlayCMS is suitable for both new gaming projects and existing servers that require a user-friendly website with a modern appearance and intuitive management. The system is easy to configure and supports individual templates, additional plugins, and modules, allowing you to develop your website alongside your server. PlayCMS is a ready-made solution for Lineage 2 server owners who need a beautiful, fast, and functional website. Demo - https://demo.playcms.ru/ I am the developer of this miracle. I am ready to listen to constructive criticism, as well as your suggestions for improving the engine. I also write modules of any complexity for this cms. Contact me: Telegram - @playcms   Скачать\Download : https://drive.google.com/file/d/15Az9WVDD4SQNyOPAsXMU4-mGHOiA_U_d/view    
    • To increase visibility and make sure your offer reaches the right audience, I'd recommend exploring the tools at CS2WH. They have a Deals Bot that might help you track market prices and adjust your strategy on the fly. I'm finding their resources super helpful for keeping tabs on the trading scene. Plus, they emphasize safety and provide insights on legal skin trading, which is crucial for maintaining credibility.
    • I'm also trying to contact them, and I only have their Telegram contact, probably the same one as yours, and I haven't received a response in months.
  • 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..