MarieLib uses a server-authoritative architecture for player tracking data.
๐ How It Works
The server is always the source of truth for:
- All registered value levels
- Total count
- Active tracking profile
- Source memory state
- Effect application
Clients receive synchronized snapshots from the server. Value changes initiated on the server propagate to connected clients through the consuming mod's network layer.
๐ก What Syncs
| Data | Direction | Notes |
|---|---|---|
| Value levels | Server โ Client | On change and on join |
| Total count | Server โ Client | With value deltas |
| Config snapshot | Server โ Client | Module locks and thresholds |
| Full tracking data | Server โ Client | On world join |
The consuming mod wires sync callbacks through MarieLibContext (onValuesDeltaReceived, onFullTrackingDataSynced).
๐ Current Status
Network sync infrastructure is actively being expanded. Core value delta sync works in reference implementations like Nourished, but additional sync features (config snapshots, profile sync, milestone state) are still in progress.
If players report mismatched values:
- Verify same MarieLib version on server and all clients
- Verify same consuming mod version
- Run
/<modId> reloadand have affected players rejoin
๐ Related Pages
MarieLib ยท Shared framework for Marie mods ยท Documentation for 1.0.x
Modrinth ยท GitHub ยท Nourished Wiki ยท Report an Issue