-
Notifications
You must be signed in to change notification settings - Fork 17
Description
title says save desynchronization, but it really should be a client desync
game version v1.2.2
rando version 0.9.5
OS: linux flatpak and windows
there is an issue i'm having where some checks, mainly progressive ones, seem to send themselves in double, at first, i received sword upgrade and wallet upgrades repeatedly when i was tabbed out and reading ressources for my run, then, it was bottles, and then magic. this happened while the game was running and connected to the archipelago server. though it did show that it got disconnected momentarily in the console.
i reloaded my game and the duplicates seemed to have dissapeared. leaving me with a game state that matched what the server had. but then things got weird.
whenever i closed the game and opened it the next day, certain checks would be reapplied to my save file, oddly enough, my hearts got set to 3, where i should have had 4-5 at that point. (my YAML had the 3 heart start setting.)
i did several tests, it seems the checks state is sent to the client upon connection, this SHOULD ensure matching data on both side, however, i'm getting inconsistencies that make seemingly no sense, notably, beans quantities go from 1 to 20, i'm getting double magic when the server only shows one progressive magic check, after drinking chateau romani, i had permanent infinite magic that not even editing the save could fix.
what my progression should be:
progressive sword: tier 2
progressive magic: tier 1 (half bar)
heart pieces: 2
heart containers: 3
bottle: 4 (2 regular, chateau romani and plain milk)
this is verified using the "/received" command using the text client.
the client state, after connecting though, is different. i should have 2 pieces of heart, yet i have 3, sometimes i have 3 hearts total health, sometimes 4, sometimes 5 or 6, sometimes i only got the starting sword, sometimes i have the tier 2 sword, other times it's tier 3, i should have 4 bottles. yet it only sometimes will set it to 6, sometimes the heart pieces show that i have none, too. and throughout all this, poptracker and the main archipelago tracker on the site show the correct information, it seems like the client itself is getting confused somewhere. I have verified this issue to be happening on windows and steam deck (same server, different OS) so i don't believe some cached save data is causing this issue as the linux install was brand new.
i tried adjusting the check state with a save editor to match the server, but these inconsistent checks keep pushing themselves back onto the modified save file, acting as a sort of cloud save from the server.
this whole thing seems to somewhat be related to quitting the game and resuming at a later time (aside from the initial time where it happened while connected), the edited, matching, save that i made seems to be fixed upon reconnection (minus an extra heart piece) as long as i keep playing, reconnect just once and all of these checks get mangled.
some sort of re synchronization command seems to be sorely missing from archipelago itself, I'm at a loss for solutions to this and i don't have access to the .apsave to make a more in depth assessment of this issue.
Is there a way to enable verbose logging in order to investigate further or if this is known, a workaround?