DodoWrangler Posted Monday at 11:42 PM Report Posted Monday at 11:42 PM A copy of VS was loaned so someone could try the game out on my server before committing to a purchase. They have (of course) decided this game is great and purchased a copy. We now would like to transfer the player data as intact as possible between the users. How can I do this? Waypoints are top priority and mods like Cartography are not preferred as it will require server interruption to install then uninstall the mod, simultaneously risking corruption. All suggestions are welcome, or even just pointers on where the data is stored and how. Thanks in advance :)
Rainbow Fresh Posted Tuesday at 06:13 AM Report Posted Tuesday at 06:13 AM What player data are we talking about? If we are talking inventories, I think they could be part of the save-file SQLite database (if there is no relevant files in the playerdata folder, am currently not home so can't check). In that case you need to most certainly make a backup, get an SQLite DB editor, open that thing up, try to somehow figure out which UUID belongs to which player and replace it with the new UUID of the target player, then hope it works. Map data is stored on your PC in the VintagestoryData folder under "Maps" - it's a separate DB file with the filename being the UUID of the world (if they only played on one it should be easy enough - in fact, if they played on their PC they already have the map data they explored; you don't.)
DodoWrangler Posted Tuesday at 07:37 PM Author Report Posted Tuesday at 07:37 PM (edited) 13 hours ago, Rainbow Fresh said: What player data are we talking about? If we are talking inventories, I think they could be part of the save-file SQLite database (if there is no relevant files in the playerdata folder, am currently not home so can't check). In that case you need to most certainly make a backup, get an SQLite DB editor, open that thing up, try to somehow figure out which UUID belongs to which player and replace it with the new UUID of the target player, then hope it works. Map data is stored on your PC in the VintagestoryData folder under "Maps" - it's a separate DB file with the filename being the UUID of the world (if they only played on one it should be easy enough - in fact, if they played on their PC they already have the map data they explored; you don't.) Thank you very much for this information, it was very helpful. I'm trying to move over everything, but map data is most important. I was able to get the map itself transferred, but the waypoints were not showing up on the new account. I assume this is due to some sort of assignment to player ID - is there a way to reassign the waypoints to a new user? Edit: Update: I was able to locate waypoint data server-side in [worldname].vcdbs but the text is scrambled looking at it in plain-text. Wondering now if there is some way I can figure out where to change the user ID assignment. Edited Tuesday at 07:47 PM by DodoWrangler Update to information to contextualize question
Solution Rainbow Fresh Posted Tuesday at 07:48 PM Solution Report Posted Tuesday at 07:48 PM (edited) 16 minutes ago, DodoWrangler said: Thank you very much for this information, it was very helpful. I'm trying to move over everything, but map data is most important. I was able to get the map itself transferred, but the waypoints were not showing up on the new account. I assume this is due to some sort of assignment to player ID - is there a way to reassign the waypoints to a new user? Edit: Update: I was able to locate waypoint data server-side in [worldname].vcdbs but the text is scrambled looking at it in plain-text. Wondering now if there is some way I can figure out where to change the user ID assignment. Everything in the VS databases is stored as raw byte data in BLOB format. You wouldn't be able to decipher anything if you tried. Since you are trying to transfer EVERYTHING over regardless though, just moving the data to the entry with the right player UUID should do the trick. EDIT: To find the UUID, just check "playerdata.json" in the "Playerdata" folder, assuming you both have been on the same world with your individual accounts. Edited Tuesday at 07:53 PM by Rainbow Fresh
DodoWrangler Posted Wednesday at 01:32 AM Author Report Posted Wednesday at 01:32 AM 5 hours ago, Rainbow Fresh said: Everything in the VS databases is stored as raw byte data in BLOB format. You wouldn't be able to decipher anything if you tried. Since you are trying to transfer EVERYTHING over regardless though, just moving the data to the entry with the right player UUID should do the trick. EDIT: To find the UUID, just check "playerdata.json" in the "Playerdata" folder, assuming you both have been on the same world with your individual accounts. Worked sufficiently, thank you!
Recommended Posts