Content Warning
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
10 hours ago
Downloads
89
Size
21KB

ModSync

by ElfDevelop

Checks that everyone in the lobby plays with the same mods as the host.

The host's mods are the reference:

  • Every player compares their BepInEx mods with the host's and, if anything differs, sees one window about themselves: mods they are missing, mods only they have, and mods with a different version.
  • The host sees one window that sums up every player who differs. When more players join, the window is shown again with the updated list.
  • Players who match the host see nothing.

If the host or a player doesn't have ModSync, that is reported after 15 seconds.

To fix a difference, update or install the mods in your mod manager. Nothing is blocked or kicked. If the host changes, everyone is compared with the new host.

Joined with the room code

A player who joins with the room code is in the host's game but not in the host's Steam lobby. Mods that talk through Mycelium only reach players in that lobby: Mirage mimic voices, Spookbox, ShopAPI and others. ModSync joins the host's Steam lobby for such a player a few seconds after they enter, without reloading anything. Steam only allows this for the host's Steam friends. If it fails, a window says so; joining through a Steam invite always works.

Host settings

Some mod settings must be the same for everyone, for example Flashcard's video quality: if one player records huge clips, they can't be shared in time and the video doesn't show. ModSync makes every player use the host's values of the settings listed in SyncedSettings while in the lobby.

  • Your own config files are not changed; your values come back when you leave the lobby.
  • By default: Flashcard ClipQuality and DelayBetweenPackets.
  • The log shows what was taken from the host: Using host setting ClipQuality = 100k (yours: 1024k).

Settings (BepInEx/config/ElfDevelop.ModSync.cfg)

  • IgnoredPlugins: comma-separated plugin GUIDs to skip (client-side mods like the configuration manager).
  • PeerTimeoutSeconds: how long to wait for another player's list (default 15).
  • Language: auto, ru or en.
  • SyncedSettings: settings taken from the host, as plugin-guid/section/key, comma-separated.
  • JoinSteamLobby ([Sync]): join the host's Steam lobby after joining with the room code (default on).

Install it for every player.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.