feat: support configurable game server address and port

* Launch game servers in headless mode
* Add configurable game address and port to GameData
* Pass dynamically assigned server ports to clients
* Update lobby defaults for `0.0.0.0:8080`
* Refactor server command-line argument handling
This commit is contained in:
2026-08-10 00:28:23 -05:00
parent 1eb057fefd
commit 7897462309
5 changed files with 30 additions and 7 deletions

View File

@@ -22,6 +22,8 @@ func _ready() -> void:
for arg in OS.get_cmdline_user_args():
if "name_" in arg:
name_(arg)
elif "server_" in arg:
server_(arg)
match arg:
"server":
@@ -36,6 +38,16 @@ func name_(arg: String) -> void:
var game_name = arg.split("_")[-1]
self.name = game_name
func server_(arg: String) -> void:
var host_port = float(arg.split("_")[-1])
Globals.game_state.set_game_scene(
"res://scenes/screens/lobby_screen/lobby.tscn"
)
$scene/lobby_screen.find_child("host_port_range", true, false).set_value_no_signal(host_port)
$scene/lobby_screen.find_child("host_start_bttn", true, false).emit_signal("pressed")
func server(_arg: String) -> void:
Globals.game_state.set_game_scene(
"res://scenes/screens/lobby_screen/lobby.tscn"