Skip to content

_auth_properties not being cleared on process_authority #495

@takeshibaconsuzuki

Description

@takeshibaconsuzuki

🐛 Description

After setting input's multiplayer authority, we are supposed to call process_authority(). process_authority does not clear _input_property_config._auth_properties. This means subsequent calls to get_properties_owned_by() do not update _auth_properties and we return the old incorrect value. This prevents inputs from being recorded correctly, causing _can_simulate to always return false, and thus client nodes are never simulated / never send input to the server.

Steps to reproduce

  • Have avatar + input + rollback sync in scene tree
  • Wait a few ticks after scene starts (to allow _ready's deferred process_settings to be called)
  • Set input multiplayer authority and call process authority

Expected behavior

  • Client should simulate
  • Server should get input and simulate

Observed behavior

  • Client does not simulate
  • Server does not get input

Versions

  • Godot version: 4.4.1
  • netfox version: 1.30.1

Notes

Feel free to add any other notes you may have.

MRE

If applicable, upload a minimum reproducible example so that we can easily test
locally. You can upload files by dragging them into this field.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions