Devlin Posted December 18, 2020 Posted December 18, 2020 Hey there! Referring to aCis project, I noticed an issue that if you open a public server from your PC, other players can join but you can't join from the machine that you are running the server (as localhost). Here is the quick fix about that issue, --- a/aCis_gameserver/java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java +++ b/aCis_gameserver/java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java @@ -22,10 +22,13 @@ { _lastServer = client.getLastServer(); + String clientIp = client.getConnection().getInetAddress().getHostAddress(); + boolean isLocalhost = clientIp.equals("127.0.0.1"); + for (GameServerInfo gsi : GameServerManager.getInstance().getRegisteredGameServers().values()) { final StatusType status = (client.getAccessLevel() < 0 || (gsi.getStatus() == StatusType.GM_ONLY && client.getAccessLevel() <= 0)) ? StatusType.DOWN : gsi.getStatus(); - final String hostName = gsi.getHostName(); + final String hostName = isLocalhost ? "127.0.0.1" : gsi.getHostName(); _servers.add(new ServerData(status, hostName, gsi)); } 1 Quote
Rootware Posted December 18, 2020 Posted December 18, 2020 Use this code for detecting all local network addresses: public static boolean isLocalResourceByIp(InetAddress address) { if (address == null || address.isLinkLocalAddress() || address.isLoopbackAddress() || address.isAnyLocalAddress() || address.isSiteLocalAddress()) return true; return false; } Otherwise if you try to connect from other local machine you will have fault. Quote
HaddWik Posted January 22, 2021 Posted January 22, 2021 Here is code adapted to 397 https://pastebin.com/tR05rrhN Quote
Stive Posted February 25, 2021 Posted February 25, 2021 On 1/22/2021 at 10:23 PM, HaddWik said: Here is code adapted to 397 https://pastebin.com/tR05rrhN You are back in l2 scene? Quote
thepsolartek Posted April 18, 2022 Posted April 18, 2022 (edited) On 12/18/2020 at 7:32 PM, Rootware said: Use this code for detecting all local network addresses: public static boolean isLocalResourceByIp(InetAddress address) { if (address == null || address.isLinkLocalAddress() || address.isLoopbackAddress() || address.isAnyLocalAddress() || address.isSiteLocalAddress()) return true; return false; } Otherwise if you try to connect from other local machine you will have fault. i have this kind of fault. but i am a bit newbie and i cant undestand where to put this Edited April 18, 2022 by thepsolartek Quote
An4rchy Posted April 19, 2022 Posted April 19, 2022 8 hours ago, thepsolartek said: i have this kind of fault. but i am a bit newbie and i cant undestand where to put this java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java Quote
Rootware Posted April 20, 2022 Posted April 20, 2022 Unfortunately, I can't put the skills of logical thinking into your head so that you can use my Java code. The hardest thing I gave you in code form. Quote
thepsolartek Posted April 23, 2022 Posted April 23, 2022 (edited) On 4/19/2022 at 10:16 AM, An4rchy said: java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java i didnt exactly mean this with my comment. the think i cant understand is where i have to place this part or what shall i replace in order to solve the problem. shall i use what devlin said or i have just to add rootware method and that;s all? Edited April 23, 2022 by thepsolartek Quote
Trance Posted April 23, 2022 Posted April 23, 2022 7 hours ago, thepsolartek said: i didnt exactly mean this with my comment. the think i cant understand is where i have to place this part or what shall i replace in order to solve the problem. shall i use what devlin said or i have just to add rootware method and that;s all? On 1/22/2021 at 3:23 PM, HaddWik said: Here is code adapted to 397 https://pastebin.com/tR05rrhN Quote
thepsolartek Posted April 24, 2022 Posted April 24, 2022 (edited) 8 hours ago, Trance said: thanks for your comment mate but it will not work for me as i use the 382 rev Edited April 24, 2022 by thepsolartek Quote
Trance Posted April 24, 2022 Posted April 24, 2022 30 minutes ago, thepsolartek said: thanks for your comment mate but it will not work for me as i use the 382 rev Try to adapt it and let us know if you have any challenge - we can help. Quote
thepsolartek Posted April 24, 2022 Posted April 24, 2022 if i paste only the part that rootware post(everywhere+without devlin's post) in serverlist.java i dont have any red lines. but is that enough or i have to make more changes in serverlist.java? Quote
Amenadiel Posted April 24, 2022 Posted April 24, 2022 @Vision stop deleting my discord, you know i offer free services and i help tons of people in my discord i will rewrite my discord #Amenadiel 2435 i can adapt it for u Quote
thepsolartek Posted April 24, 2022 Posted April 24, 2022 (edited) 12 minutes ago, Amenadiel said: @Vision stop deleting my discord, you know i offer free services and i help tons of people in my discord i will rewrite my discord #Amenadiel 2435 i can adapt it for u added 10 hours ago, Trance said: Try to adapt it and let us know if you have any challenge - we can help. as i understand rootware post a method to add in the java file am i right? so i paste this method in my eclipse and i have not a red line. but my question now is. do i have to add devlins method too or i can compile the server with rootware method only? Edited April 24, 2022 by thepsolartek Quote
Vision Posted April 25, 2022 Posted April 25, 2022 On 4/24/2022 at 5:15 PM, Amenadiel said: @Vision stop deleting my discord, you know i offer free services and i help tons of people in my discord i will rewrite my discord #Amenadiel 2435 i can adapt it for u I didn't delete anything someone else did. Quote
Recommended Posts
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.