Fix property-pool rollback errors in headless server
The dedicated server was spawning a host avatar (peer 1) via player-spawner._handle_host() and _handle_new_peer(1) on startup, which registered RollbackSynchronizer subjects with the netfox rollback system. Since no client input exists for peer 1, the rollback system tried to record state for freed/recycled objects, flooding the log with property-pool.gd errors. Fix: - Add spawn_host_avatar @export flag to player-spawner.gd - Set it false in headless_server.gd before starting the ENet server - PlayerSpawner._handle_host() skips avatar spawn when flag is false - PlayerSpawner._handle_new_peer(1) skips avatar spawn when flag is false Server startup is now clean: no property-pool errors, no RPC path errors.
This commit is contained in:
@@ -55,6 +55,14 @@ func _ready() -> void:
|
||||
# Start RCON admin console
|
||||
_start_rcon()
|
||||
|
||||
# Set dedicated server flag on the player spawner to prevent
|
||||
# spawning a host avatar (peer 1) that would cause rollback errors.
|
||||
# Must be set before the ENet server starts (before on_server_start fires).
|
||||
var spawner = _game_scene.get_node_or_null("Network/Player Spawner")
|
||||
if spawner:
|
||||
spawner.spawn_host_avatar = false
|
||||
print("[HeadlessServer] Set spawn_host_avatar=false on PlayerSpawner")
|
||||
|
||||
# Wait for game scene to enter the tree
|
||||
await get_tree().process_frame
|
||||
await get_tree().process_frame
|
||||
|
||||
Reference in New Issue
Block a user