Skip to content

lc-sigurd/CSync

 
 

Repository files navigation

CSync

GitHub Actions Workflow Status Release Version NuGet Version Thunderstore Version Thunderstore Downloads

A BepInEx configuration file syncing library. This library will help you force clients to have the same settings as the host!

Important

  • This is NOT a standalone mod, it is intended for mod developers and does nothing on its own!
  • This does NOT edit or replace config files directly, everything is done in-memory.
  • It will NOT sync configs from mods that aren't dependent upon it.
  • CSync uses Unity Netcode's NetworkBehaviour with NetworkList to sync values.

Disclaimer

This project is a fork of the original CSync project authored by @Owen3H.

Features

  • A serializable, drop-in replacement for ConfigEntry: SyncedEntry
  • No seperate config file system, retains BepInEx support
  • Uses TomlTypeConverter, the same system used by BepInEx to save/load values to/from config files
  • Provides extension methods for conveniently binding SyncedEntry instances

Setup & Usage

A guide to both setting up and using CSync is available on Lethal Wiki.

License

This project has the CC BY-NC-SA 4.0 license.
This means the following terms apply:

Attribution
If you remix or adapt this project, appropriate credit must be given.
Cloning the repo with intent to contribute is not subject to this.

NonCommercial
You may not use this material for commercial purposes.

ShareAlike
When remixing, adapting or building upon this material, you must distribute the new material under the same license as the original.