|
|
@ -32,8 +32,8 @@ import org.pmw.tinylog.policies.StartupPolicy; |
|
|
|
import org.pmw.tinylog.writers.RollingFileWriter; |
|
|
|
import org.pmw.tinylog.writers.RollingFileWriter; |
|
|
|
|
|
|
|
|
|
|
|
import java.io.*; |
|
|
|
import java.io.*; |
|
|
|
|
|
|
|
import java.net.DatagramSocket; |
|
|
|
import java.net.InetAddress; |
|
|
|
import java.net.InetAddress; |
|
|
|
import java.net.URL; |
|
|
|
|
|
|
|
import java.nio.file.Files; |
|
|
|
import java.nio.file.Files; |
|
|
|
import java.nio.file.Paths; |
|
|
|
import java.nio.file.Paths; |
|
|
|
import java.sql.Connection; |
|
|
|
import java.sql.Connection; |
|
|
@ -268,19 +268,16 @@ public class LoginServer { |
|
|
|
String name = ConfigManager.MB_WORLD_NAME.getValue(); |
|
|
|
String name = ConfigManager.MB_WORLD_NAME.getValue(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ConfigManager.MB_PUBLIC_ADDR.getValue().equals("0.0.0.0")) { |
|
|
|
if (ConfigManager.MB_BIND_ADDR.getValue().equals("0.0.0.0")) { |
|
|
|
|
|
|
|
|
|
|
|
// Autoconfigure IP address for use in worldserver response
|
|
|
|
try (final DatagramSocket socket = new DatagramSocket()) { |
|
|
|
// .
|
|
|
|
socket.connect(InetAddress.getByName("8.8.8.8"), 10002); |
|
|
|
Logger.info("AUTOCONFIG PUBLIC IP ADDRESS"); |
|
|
|
ConfigManager.MB_BIND_ADDR.setValue(socket.getLocalAddress().getHostAddress()); |
|
|
|
URL whatismyip = new URL("http://checkip.amazonaws.com"); |
|
|
|
|
|
|
|
BufferedReader in = new BufferedReader(new InputStreamReader( |
|
|
|
|
|
|
|
whatismyip.openStream())); |
|
|
|
|
|
|
|
ConfigManager.MB_PUBLIC_ADDR.setValue(in.readLine()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Logger.info("Public address: " + ConfigManager.MB_PUBLIC_ADDR.getValue()); |
|
|
|
} |
|
|
|
Logger.info("Magicbane bind config: " + ConfigManager.MB_BIND_ADDR.getValue() + ":" + ConfigManager.MB_LOGIN_PORT.getValue()); |
|
|
|
|
|
|
|
|
|
|
|
Logger.info("Magicbane binding to: " + ConfigManager.MB_BIND_ADDR.getValue() + ":" + ConfigManager.MB_LOGIN_PORT.getValue()); |
|
|
|
|
|
|
|
|
|
|
|
InetAddress addy = InetAddress.getByName(ConfigManager.MB_BIND_ADDR.getValue()); |
|
|
|
InetAddress addy = InetAddress.getByName(ConfigManager.MB_BIND_ADDR.getValue()); |
|
|
|
int port = Integer.parseInt(ConfigManager.MB_LOGIN_PORT.getValue()); |
|
|
|
int port = Integer.parseInt(ConfigManager.MB_LOGIN_PORT.getValue()); |
|
|
|