Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix multiplayer desyncs related to the Loadout manager #3640

Open
wants to merge 1 commit into
base: Development
Choose a base branch
from

Conversation

JonM0
Copy link

@JonM0 JonM0 commented Jan 13, 2025

Changes

  • sync Loadout using its uniqueID instead of its index in the Loadout list
    • had to make public reading the uniqueID and getting a loadout by id, as the multiplayer sync workers live in another dll
  • sync loadout label on every label change instead of on current loadout change or window close

Reasoning

Tested it a bit, and it seemed the desyncs were related to a combination of:

  • label sync is infrequent
  • the loadouts are synced by index
  • the loadouts are sorted by label

Testing

Check tests you have performed:

  • Compiles without warnings
  • Game runs without errors
  • (For compatibility patches) ...with and without patched mod loaded
  • Playtested a colony (specify how long)

Sync Loadout using its uniqueID instead of its index in the Loadout list. Sync label on every change instead of on window change.
@JonM0 JonM0 requested review from a team as code owners January 13, 2025 19:08
Copy link

You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-12754302182.zip

@github-actions github-actions bot added the Download in Comments This PR has a zipfile download available. label Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Download in Comments This PR has a zipfile download available.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant