From 431f4d8d4251310fc2004303c44294200e8a83d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20G=C3=A1lffy?= Date: Sun, 12 Jan 2025 10:41:23 +0100 Subject: [PATCH] fix: Send state ack's to sender instead of authority --- addons/netfox.extras/plugin.cfg | 2 +- addons/netfox.internals/plugin.cfg | 2 +- addons/netfox.noray/plugin.cfg | 2 +- addons/netfox/plugin.cfg | 2 +- addons/netfox/rollback/rollback-synchronizer.gd | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/netfox.extras/plugin.cfg b/addons/netfox.extras/plugin.cfg index cf27706a..d4dbf8f0 100644 --- a/addons/netfox.extras/plugin.cfg +++ b/addons/netfox.extras/plugin.cfg @@ -3,5 +3,5 @@ name="netfox.extras" description="Game-specific utilities for Netfox" author="Tamas Galffy and contributors" -version="1.21.1" +version="1.21.2" script="netfox-extras.gd" diff --git a/addons/netfox.internals/plugin.cfg b/addons/netfox.internals/plugin.cfg index 20d9b7ae..de06a316 100644 --- a/addons/netfox.internals/plugin.cfg +++ b/addons/netfox.internals/plugin.cfg @@ -3,5 +3,5 @@ name="netfox.internals" description="Shared internals for netfox addons" author="Tamas Galffy and contributors" -version="1.21.1" +version="1.21.2" script="plugin.gd" diff --git a/addons/netfox.noray/plugin.cfg b/addons/netfox.noray/plugin.cfg index eab6cc16..1bb79d4b 100644 --- a/addons/netfox.noray/plugin.cfg +++ b/addons/netfox.noray/plugin.cfg @@ -3,5 +3,5 @@ name="netfox.noray" description="Bulletproof your connectivity with noray integration for netfox" author="Tamas Galffy and contributors" -version="1.21.1" +version="1.21.2" script="netfox-noray.gd" diff --git a/addons/netfox/plugin.cfg b/addons/netfox/plugin.cfg index 9b0b824d..486081dd 100644 --- a/addons/netfox/plugin.cfg +++ b/addons/netfox/plugin.cfg @@ -3,5 +3,5 @@ name="netfox" description="Shared internals for netfox addons" author="Tamas Galffy and contributors" -version="1.21.1" +version="1.21.2" script="netfox.gd" diff --git a/addons/netfox/rollback/rollback-synchronizer.gd b/addons/netfox/rollback/rollback-synchronizer.gd index 424b07ed..d0351f28 100644 --- a/addons/netfox/rollback/rollback-synchronizer.gd +++ b/addons/netfox/rollback/rollback-synchronizer.gd @@ -597,7 +597,7 @@ func _submit_full_state(state: Dictionary, tick: int): _latest_state_tick = tick if NetworkRollback.enable_diff_states: - _ack_full_state.rpc_id(get_multiplayer_authority(), tick) + _ack_full_state.rpc_id(sender, tick) @rpc("any_peer", "unreliable_ordered", "call_remote") func _submit_diff_state(diff_state: Dictionary, tick: int, reference_tick: int): @@ -614,6 +614,7 @@ func _submit_diff_state(diff_state: Dictionary, tick: int, reference_tick: int): # Reference tick missing, hope for the best _logger.warning("Reference tick %d missing for %d", [reference_tick, tick]) + var sender = multiplayer.get_remote_sender_id() var reference_state = _states.get(reference_tick, {}) var is_valid_state := true @@ -621,7 +622,6 @@ func _submit_diff_state(diff_state: Dictionary, tick: int, reference_tick: int): _latest_state_tick = tick _states[tick] = reference_state else: - var sender = multiplayer.get_remote_sender_id() var sanitized = _sanitize_by_authority(diff_state, sender) if not sanitized.is_empty(): @@ -635,7 +635,7 @@ func _submit_diff_state(diff_state: Dictionary, tick: int, reference_tick: int): if NetworkRollback.enable_diff_states: if is_valid_state and diff_ack_interval > 0 and tick > _next_diff_ack_tick: - _ack_diff_state.rpc_id(get_multiplayer_authority(), tick) + _ack_diff_state.rpc_id(sender, tick) _next_diff_ack_tick = tick + diff_ack_interval @rpc("any_peer", "reliable", "call_remote")