diff options
Diffstat (limited to 'client/service')
-rw-r--r-- | client/service/server.gd | 15 | ||||
-rw-r--r-- | client/service/service.gd | 5 |
2 files changed, 18 insertions, 2 deletions
diff --git a/client/service/server.gd b/client/service/server.gd index b2db04de..0c656c10 100644 --- a/client/service/server.gd +++ b/client/service/server.gd @@ -33,6 +33,8 @@ func arguments(): args.push_back("--upnp") if Global.get_setting("server.register"): args.push_back("--register") + args.push_back("--listen") + args.push_back("%s:%d" % [bind_address(), Global.get_setting("server.bind_port")]) return args func exe_path() -> String: @@ -41,4 +43,15 @@ func exe_path() -> String: else: return "hurrycurry-server" func test_port(): - return 27032 + return Global.get_setting("server.bind_port") +func test_host(): + return "::1" if Global.get_setting("server.enable_ipv6") else "127.0.0.1" + +static func bind_address() -> String: + if Global.get_setting("server.allow_external_connections"): + return "[::]" if Global.get_setting("server.enable_ipv6") else "0.0.0.0" + else: + return connect_address() + +static func connect_address() -> String: + return "[::1]" if Global.get_setting("server.enable_ipv6") else "127.0.0.1" diff --git a/client/service/service.gd b/client/service/service.gd index 9695714f..d06ad364 100644 --- a/client/service/service.gd +++ b/client/service/service.gd @@ -27,6 +27,9 @@ func exe_path(): return "false" func test_port(): return 25565 +func test_host(): + return "127.0.0.1" + var thread = null var pid = null @@ -82,7 +85,7 @@ func _server_exec(): var ok = false while not ok: var conn = StreamPeerTCP.new() - if conn.connect_to_host("127.0.0.1", test_port()) == OK: + if conn.connect_to_host(test_host(), test_port()) == OK: while conn.poll() == OK: if conn.get_status() == StreamPeerTCP.STATUS_ERROR: break elif conn.get_status() == StreamPeerTCP.STATUS_CONNECTED: ok = true; break |