Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/LoginController.java b/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/LoginController.java
- index 3268aa3..3a7235f 100644
- --- a/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/LoginController.java
- +++ b/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/LoginController.java
- @@ -213,6 +213,7 @@ public class LoginController
- return;
- }
- + account.setClientIp(addr);
- client.setAccount(account);
- client.setState(LoginClientState.AUTHED_LOGIN);
- client.setSessionKey(new SessionKey(Rnd.nextInt(), Rnd.nextInt(), Rnd.nextInt(), Rnd.nextInt()));
- diff --git a/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/model/Account.java b/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/model/Account.java
- index 6c37cea..fb226b5 100644
- --- a/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/model/Account.java
- +++ b/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/model/Account.java
- @@ -1,5 +1,7 @@
- package net.sf.l2j.loginserver.model;
- +import java.net.InetAddress;
- +
- import net.sf.l2j.commons.network.ServerType;
- import net.sf.l2j.loginserver.data.manager.GameServerManager;
- @@ -11,6 +13,7 @@ public final class Account
- private final String _password;
- private final int _accessLevel;
- private final int _lastServer;
- + private InetAddress _clientIp;
- public Account(final String login, final String password, final int accessLevel, final int lastServer)
- {
- @@ -40,6 +43,16 @@ public final class Account
- return _lastServer;
- }
- + public InetAddress getClientIp()
- + {
- + return _clientIp;
- + }
- +
- + public void setClientIp(InetAddress addr)
- + {
- + _clientIp = addr;
- + }
- +
- public final boolean isLoginPossible(int serverId)
- {
- final GameServerInfo gsi = GameServerManager.getInstance().getRegisteredGameServers().get(serverId);
- diff --git a/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java b/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java
- index 2738c67..3c022a5 100644
- --- a/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java
- +++ b/Interlude/aCis_gameserver/java/net/sf/l2j/loginserver/network/serverpackets/ServerList.java
- @@ -24,13 +24,22 @@ public final class ServerList extends L2LoginServerPacket
- for (GameServerInfo gsi : GameServerManager.getInstance().getRegisteredGameServers().values())
- {
- final ServerType type = (account.getAccessLevel() < 0 || (gsi.getType() == ServerType.GM_ONLY && account.getAccessLevel() <= 0)) ? ServerType.DOWN : gsi.getType();
- - final String hostName = gsi.getHostName();
- + final String hostName = isLocalResourceByIp(account.getClientIp()) ? "127.0.0.1" : gsi.getHostName();
- _servers.add(new ServerData(type, hostName, gsi));
- }
- }
- + public static boolean isLocalResourceByIp(InetAddress address)
- + {
- + if (address == null || address.isLinkLocalAddress() || address.isLoopbackAddress() || address.isAnyLocalAddress() || address.isSiteLocalAddress())
- + return true;
- +
- + return false;
- + }
- +
- @Override
- public void write()
- {
- --
- 2.10.5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement