netfox
netfox copied to clipboard
Issues with RollbackSynchronizer taking input from multiple Nodes with different authorities
If a RollbackSynchronizer has input paths from multiple Nodes with different authorities, a "Invalid assignment on read-only value" error in _submit_input
(rollback-synchronizer.gd:248
) will be produced as the Dictionaries contained within _inputs
are made read-only. Using Dictionary.merged
may solve this?
There's also an issue where _latest_state
gets way ahead of the client if they don't have authority over all of their RollbackSynchronizer input Nodes. For example, if I have an "Input" Node with the client as the authority and an "Events" Node with the server as the authority which both are used by the "Player" Node for _rollback_tick
, the "Events" Node's inputs coming from the server cause the Player's state to be assumed as fully server-determined even though their local inputs should still be considered.