Change server save interval?
I see thanks guys. @WhiteThunder, very interesting. HOw would one go about this? Seems very efficinet but also sounds very compluciated. But this is truly what I would liek to save. ONly the things that have changed.
EsCL337
I see thanks guys. @WhiteThunder, very interesting. HOw would one go about this? Seems very efficinet but also sounds very compluciated. But this is truly what I would liek to save. ONly the things that have changed.
It's actually not very complex to implement. Some examples are Backpacks, Spawn Modular Car, and Turret Loadouts. Keep in mind if you implement this into a plugin you don't maintain, you will have to reimplement it next time you update the plugin, so you should try to get the maintainer to make the same change or use what you provide them.

I suspect most plugins that have large data files do so because they are saving player related data or preferences, since all the players that connect over time and use the plugin are what causes it to grow so much, so partitioning by player should be an option.

Plugins can also benefit from avoiding recording default preferences. Off the top of my head, auto doors is one plugin that does this wrong, where it records the default preferences for a player even if they never change their preferences. It would result in less storage to only record preferences if they are explicitly set or differ from the default. A slight wrinkle in this can be if the server owner can change the default preferences, it can affect all players that didnt explicitly set preferences but were accustomed to the previous default, but this is probably a minor issue.
Part of the problem is HOW rust saves it's damned data file for the map...

it's like ... yep.. lets just shove ALL the shit into one file then run a pisspoor compression algo on it. (one NOT optomised for compressing objects.)

What they should have done, is partition the  object into their groups and THEN done the save...

This does several things:
1. it allows you to  write out smaller files that can be cross compared with previous ones and disgarded if the same.
2. it allows ACID.
3. it allows you to start looking at building larger cross connected worlds, that dont require FULL  multi MB files to be exchanged to syncronise.

one absolutly massive ballup with compression...., it screws up  de-duplication.
you can take two text files and use de-duplication on them... even you change a couple of characters.
once you compress or "encrypt" a file, that goes out of the window., since usually compression changes every thing that comes after your changes...

one "trick" you can use..... is instead of writing directly to  spinning rust or  even SSD.
if you have shed loads of ram.. is make a ram disk as a staging area.. write your shit out to that as a buffer disk , then copy over to ssd or spinning rust.

but many of the plugins floating about can usually be made significantly faster,
in some case i have gained 10-20 fps by adding a couple of lines of code to a plugin that's running on a large map...