Suggestion : SQL

WEll, that about says it. Is it possible to, instead of individual files, to store the backpack data in an SQL database?

It is possible to implement, but for what reason do you require this? Are you facing particular problems or feature gaps with the usage of data files on your server(s)?

Want to share the data file with two servers. Two maps, one backpack.

It would take significant work to implement this as an option. I haven't implemented database support in any Rust plugins, and haven't done it for other games since many years; I've gotten pretty accustomed to the constraints of saving with data files, so I would need to take some time to think through the problems that a database would introduce, such as unavailability, and async reading (e.g., when opening the backpack the first time, it cannot be opened synchronously because the data needs to be loaded async). I would also need to account for automated migration between data formats, as well as how to handle future data schema changes/additions. Not sure if or when I'll get to any of this. Note that the project is open source so anyone capable can contribute it.

If I were to implement something to help solve the SQL use case, I might make a generic solution instead of SQL directly. For example, APIs/hooks through which another plugin could intercept saving and loading of data. Another plugin could use those APIs/hooks would do translation between SQL queries and JSON.

As for solutions that are possible today without modifying the plugin, some servers use the API_ReadBackpackContentsAsJson and API_WriteBackpackContentsFromJson methods via another plugin to transfer contents between servers when players connect and disconnect.

Would that change force server owners (who dont want to use the SQL method) to use it ? , I for one am perfectly satisfied using the existing data save system and can see no benefit in changing.

It would be an optional alternative.