Sharing blueprints across multiple server instances?
Hi there,

I would like to share blueprints across multiple server instances. Hence, I would like to reroute database accesses related to Blueprints to a transactional DBMS, instead of that SQLite file player.bleprints.3.db.

Before I get started digging deep using Reflection, could any experienced individual please tell me if this is possible at all using oxide/umod?

Thanks a lot!
IMHO I would prefer an easier way => 3rd party database and REST API. And then some simple plugin to send/receive BP informations with SteamIDs
True, I just discovered that the game is saving the blueprint lists as binary blobs in those SQLite3 db files. Thus one would have to guess how to read/write information from/to those blobs.

Hence, I'll probably implement a solution where I simply wait for every Nth OnTick and then iterate over all players' blueprints and write them into a 3rd party DB. If anyone knows of a Hook that is called whenever a player is learning a BP, that would be awesome information. Then I could limit the full iteration to server initialization and do the rest event-based.

Thanks again.
try this...

private void OnItemAction(Item item, string action, BasePlayer player)
{
if (player != null && action == "study" && item.IsBlueprint())
{

}
}

Merged post

https://umod.org/plugins/blueprint-share
Awesome. This works. I'll report back as soon as I have a first version ready.