Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
754e5e61f2 | ||
|
|
2d7525f2b4 | ||
|
|
7adb25888f |
@@ -39,7 +39,6 @@ import net.server.Server;
|
|||||||
import net.server.channel.Channel;
|
import net.server.channel.Channel;
|
||||||
import net.server.coordinator.login.LoginBypassCoordinator;
|
import net.server.coordinator.login.LoginBypassCoordinator;
|
||||||
import net.server.coordinator.session.Hwid;
|
import net.server.coordinator.session.Hwid;
|
||||||
import net.server.coordinator.session.IpAddresses;
|
|
||||||
import net.server.coordinator.session.SessionCoordinator;
|
import net.server.coordinator.session.SessionCoordinator;
|
||||||
import net.server.coordinator.session.SessionCoordinator.AntiMulticlientResult;
|
import net.server.coordinator.session.SessionCoordinator.AntiMulticlientResult;
|
||||||
import net.server.guild.Guild;
|
import net.server.guild.Guild;
|
||||||
@@ -176,10 +175,7 @@ public class Client extends ChannelInboundHandlerAdapter {
|
|||||||
private static String getRemoteAddress(io.netty.channel.Channel channel) {
|
private static String getRemoteAddress(io.netty.channel.Channel channel) {
|
||||||
String remoteAddress = "null";
|
String remoteAddress = "null";
|
||||||
try {
|
try {
|
||||||
String hostAddress = ((InetSocketAddress) channel.remoteAddress()).getAddress().getHostAddress();
|
remoteAddress = ((InetSocketAddress) channel.remoteAddress()).getAddress().getHostAddress();
|
||||||
if (hostAddress != null) {
|
|
||||||
remoteAddress = IpAddresses.evaluateRemoteAddress(hostAddress); // thanks dyz for noticing Local/LAN/WAN connections not interacting properly
|
|
||||||
}
|
|
||||||
} catch (NullPointerException npe) {
|
} catch (NullPointerException npe) {
|
||||||
log.warn("Unable to get remote address for client", npe);
|
log.warn("Unable to get remote address for client", npe);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import net.encryption.InitializationVector;
|
|||||||
import net.encryption.PacketCodec;
|
import net.encryption.PacketCodec;
|
||||||
import net.packet.logging.InPacketLogger;
|
import net.packet.logging.InPacketLogger;
|
||||||
import net.packet.logging.OutPacketLogger;
|
import net.packet.logging.OutPacketLogger;
|
||||||
import net.server.coordinator.session.IpAddresses;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
@@ -35,10 +34,7 @@ public abstract class ServerChannelInitializer extends ChannelInitializer<Socket
|
|||||||
String getRemoteAddress(Channel channel) {
|
String getRemoteAddress(Channel channel) {
|
||||||
String remoteAddress = "null";
|
String remoteAddress = "null";
|
||||||
try {
|
try {
|
||||||
String hostAddress = ((InetSocketAddress) channel.remoteAddress()).getAddress().getHostAddress();
|
remoteAddress = ((InetSocketAddress) channel.remoteAddress()).getAddress().getHostAddress();
|
||||||
if (hostAddress != null) {
|
|
||||||
remoteAddress = IpAddresses.evaluateRemoteAddress(hostAddress); // thanks dyz for noticing Local/LAN/WAN connections not interacting properly
|
|
||||||
}
|
|
||||||
} catch (NullPointerException npe) {
|
} catch (NullPointerException npe) {
|
||||||
log.warn("Unable to get remote address from netty Channel: {}", channel, npe);
|
log.warn("Unable to get remote address from netty Channel: {}", channel, npe);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import constants.id.ItemId;
|
|||||||
import constants.id.MapId;
|
import constants.id.MapId;
|
||||||
import net.AbstractPacketHandler;
|
import net.AbstractPacketHandler;
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
|
import net.server.Server;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import server.Trade;
|
import server.Trade;
|
||||||
@@ -181,7 +182,11 @@ public final class ChangeMapHandler extends AbstractPacketHandler {
|
|||||||
c.disconnect(false, false);
|
c.disconnect(false, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String[] socket = c.getChannelServer().getIP().split(":");
|
String[] socket = Server.getInstance().getInetSocket(c, c.getWorld(), c.getChannel());
|
||||||
|
if (socket == null) {
|
||||||
|
c.enableCSActions();
|
||||||
|
return;
|
||||||
|
}
|
||||||
chr.getCashShop().open(false);
|
chr.getCashShop().open(false);
|
||||||
|
|
||||||
chr.setSessionTransitionState();
|
chr.setSessionTransitionState();
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
package net.server.coordinator.session;
|
package net.server.coordinator.session;
|
||||||
|
|
||||||
import config.YamlConfig;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -16,14 +14,6 @@ public class IpAddresses {
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String evaluateRemoteAddress(String inetAddress) {
|
|
||||||
if (isLocalAddress(inetAddress) || isLanAddress(inetAddress)) {
|
|
||||||
return YamlConfig.config.server.HOST;
|
|
||||||
} else {
|
|
||||||
return inetAddress;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isLocalAddress(String inetAddress) {
|
public static boolean isLocalAddress(String inetAddress) {
|
||||||
return inetAddress.startsWith("127.");
|
return inetAddress.startsWith("127.");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user