Better detection of loopback and local addresses

This commit is contained in:
Subsonic154 2026-04-16 10:58:43 -04:00
parent 8a786fb7b3
commit bb2acae949

View file

@ -91,10 +91,15 @@ object LoginActor {
* @return the appropriate host address * @return the appropriate host address
*/ */
private def selectHostAddress(ipAddress: String): InetSocketAddress = { private def selectHostAddress(ipAddress: String): InetSocketAddress = {
ipAddress.substring(0, ipAddress.indexOf(".")) match { val address = InetAddress.getByName(ipAddress)
case "127" => localHostAddress if (address.isLoopbackAddress()) {
case "10" | "169" | "172" | "192" => gameTestServerAddressLocal localHostAddress
case _ => gameTestServerAddressPublic }
else if (address.isSiteLocalAddress()) {
gameTestServerAddressLocal
}
else {
gameTestServerAddressPublic
} }
} }
} }