Much like TShock's SSC, this mod will make it so when anyone joins your server, their inventories and stats will be swapped out for either a new set or whatever they had the last time they were on the server. The characters are bound by their Client's ID, Player name and Server's World. The name and world binding can be disabled in the config, however existing characters won't be transferred over. The data is stored in compressed binary format, so they cannot be edited externally. You can however get dumps of the data if you enable it in the config. THIS IS IN BETA, HOPEFULLY THERE ARE NO BUGS BUT I ALWAYS EXPECT ONE TO AT LEAST SHOW UPEXISTING SSC DATA FROM V0.1.x WILL BECOME USELESS FROM THIS VERSION ONWARDSEXISTING SSC DATA FROM V0.2.x WILL NEED TO BE ARRANGED INTO FOLDERS FOLLOWING THE NEW STRUCTUREKnown Bugs
- Some mods may cause SSC to give an exception on startup. This won't break the mod nor will prevent the mod from working.
- Restoring player position doesn't work on servers.Planned Features
- Backup and restore system. Can be done manually.
- Import characters from other names, worlds and UUIDs. Can currently be done manually.
- Automatically import characters if Per Name Players or Per World Players is changed. Can currently be done manually.
- Link UUIDs together for those who play on multiple computers. Can currently be done manually with symlinks.
- Migrate characters between worlds, names and UUIDs. Can currently be done manually.
- Show a tree of worlds, names and UUIDs in the Mod Config window.
- Use SteamID instead of UUID if available. Existing characters will load fine from UUID but will be saved under the new SteamID.
- Reduce the amount of data players send to the server. Would like to reduce it all the way down to Player Mod Data and possibly Item Global/Mod Data only. No less as the Mod Data isn't always sent to the servers from the original mods themselves.
- Have the server query players one by one to save rather than players just sending their data to the server on a timer. Saves from opening menus and Agressive saving won't be affected.
- Add lock files and prevent players from joining if said file is present. This is to prevent accidental overwrites with Per Name Players or Per World Players disabled if they connect with multiple clients or you host multiple servers.
- Updated config to use the new Mod Config
- Fixed a bug that caused the mod to crash and unload if there was any errors regarding any other mod's Mod Data on startup. Didn't fix the errors themselves though.
- Updated for tModLoader v0.11.3
- Removed Dependency on DALib.
- Changed how some Player Cosmetics are saved. Old data will still load fine.
- Changed how Player Mod Data is saved and loaded. It should be more reliable now. Old data will still load fine.
- Changed how Player Positions are handled. You should no longer teleport into a void before the chunks are loaded when joining a server.
- Readded saving and loading Player Buffs.
- Added the ability to save positions and return a player there when they reconnect
- Player's spawn points will now be saved
- Added a config option for aggressive saving which will force a save request every time an item is consumed, crafted,
- picked up or reforged
- A save request is sent the moment a player dies to prevent losing items by force quitting and reconnecting
- When a player's stats, mod data or inventory cannot be applied, they are now booted out of game to an error screen
- to display that rather than clear their stats, mod data or inventory.
- Players on ropes will now have that flag saved so they don't reconnect to a fall
- Players with reversed gravity will not have that flag saved
- Added config reload command
- Fixed Player's Mod Data not being applied in Single Player
- All player data is first cached on load rather than first save, this prevents sending unnecessary additional data to the server if nothing has changed
- Fixed a bunch of previously unseen bugs
- Added the ability to blacklist certain mod's data from being saved or applied to players
- Fixed new players not starting with any inventory upon join
- Made saving interval much smaller.
- If an inventory has an invalid item, it will only just skip it now rather than erroring out.
- Added more player stats to be synced.
- Changed Icon
- Restarted Version Scheme
- Requires my new Library Mod
- Added client setting to keep character data after leaving a server
- Removed IgnoredModData from config as it would keep reverting changes for some reason.
- Removed debug lines that show something hasn't changed since last update
- Added cosmetic syncing like player's gender, skin, hair, colors, etc
- Made all new players have their new data synced to other players too.
- However, accessory visibility isn't applied to other players for you, but is for you as a client.
- More error details will be printed to the console or in game rather than just the error log.
- Changed a bunch of code yet again, hence why it took so long, plus working on other new mods
- Custom mod data is now synced and saved
- Added ability to exclude mods from saving in the config
- Added ability to dump the player data to a readable format on save
- Fixed duplicating one player's inventory to another. Though I can't remember if that was a bug I made in working on this version, or if it was in the last version.
- Server debug has been moved from the game log to the console window. Sorry for those who run servers in game. I need to find a reliable check for that.
- Rewrote everything
- Custom item data is now saved
- Changed storage format due to complications loading custom item data
- Custom player data still isn't saved due to inaccessible internal classes, unlike the item data
- Server debug is printed to the game log