mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 21:03:43 +00:00
feat(server): complete phase 6 local verification
This commit is contained in:
@@ -53,6 +53,7 @@ func _ready() -> void:
|
||||
ServerLog.error("server_boot_failed", {"port": port, "error": error_string(err)})
|
||||
get_tree().quit(1)
|
||||
return
|
||||
_install_match_loop()
|
||||
ServerLog.info("server_started", {
|
||||
"port": port, "max_clients": max_clients, "log_level": ServerLog.level_name(),
|
||||
"min_players": int(config.get_value("min-players")),
|
||||
@@ -62,6 +63,20 @@ func _ready() -> void:
|
||||
_last_physics_frame = Engine.get_physics_frames()
|
||||
|
||||
|
||||
# Task 6.5. Parented to the ROOT rather than to this node: the loop calls
|
||||
# change_scene_to_file, which frees the current scene — and this boot scene IS
|
||||
# the current scene, so a loop parented here would be freed by the first match
|
||||
# it started. Same constraint the smoke-test hooks document.
|
||||
func _install_match_loop() -> void:
|
||||
var loop := ServerMatchLoop.new()
|
||||
loop.name = "ServerMatchLoop"
|
||||
loop.min_players = int(config.get_value("min-players"))
|
||||
loop.start_countdown_seconds = float(config.get_value("start-countdown"))
|
||||
loop.max_matches = int(config.get_value("max-matches"))
|
||||
loop.rotation_mode = String(config.get_value("arena-rotation"))
|
||||
get_tree().root.add_child.call_deferred(loop)
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
NetworkManager.poll()
|
||||
var current := Engine.get_physics_frames()
|
||||
|
||||
Reference in New Issue
Block a user