Shadnix-was-taken / BeatSaber-SongPlayHistoryContinued

Beat Saber local leaderboard plugin
MIT License
16 stars 4 forks source link

history inaccessible #5

Open IonEwe opened 1 year ago

IonEwe commented 1 year ago

i have over a thousand histories that aren't accessible

There is score on score saber but no local history shows. This happens on old and "new" maps The history file seems to be there but doesn't show in game (not sure about how to id specific files for specific plays thou) The maps lists as "uplayed" The time past play become inacessible days to months. not sure. The issue is present in versions 1.18 to 1.25.x, so it has been happening for years. I have ~ 5k plays... would like to resolve this before i remove my self from public databases. (fixing old plays is not the goal but would be nice) Any tools or methods to figure out what is going on? I'm not sure how to even diagnose what is going on with this.

Shadnix-was-taken commented 1 year ago

Hi there and sorry for the late reply.

I did some tests today on my side and wasn't able to reproduce your described problem. Seems fine on my end.

Please keep in mind that there are different scores saved and displayed on different locations by different means. This mod only records scores and attempts you did while having this mod installed. It will save that information to the file SongPlayData.json in the BeatSaber UserData directory. This information is displayed in a tooltip, which shows up while hovering over the local score information at the bottom of the leaderboard.

The local score information at the bottom shown without this mod installed is saved by the base game in a file in your AppData\LocalLow\Hyperbolic Magnetism folder. The file you are looking for is PlayerData.dat. That file can get reset to defaults when downgrading the game, loosing all saved local scores.

The information on the Score Saber Leaderboard is only saved by Score Saber, so you'll need the Score Saber mod for them to show up.

If you have 5k plays save to the save file managed by this mod (SongPlayData.json in the BeatSaber UserData directory), then feel free to send a copy of the file to me and I'll try to reproduce the issue on my end.

If the problem is regarding any of the other shown scores, then I'm not sure how I can help you with that.

IonEwe commented 1 year ago

mod only records scores and attempts you did while having this mod installed... yes i'm only using the one system to set SS/BL scores. only one system to verify local scores. There are over 1k (of 5k+) scores on SS that are not local.

it is repeatable, or at least i can set a new score locally sever times and have it deleted / missing again. i haven't had much time to dig into this recently (4 hours of poking at files and looking at diffs). I have backups that i'm comparing. if i can't find specific info... i will send the dat files. (and likely a screen shot or 2 to make sure we are talking about the same thing).

IonEwe commented 1 year ago

most recent playdata SongPlayData_12_10_22.txt

IonEwe commented 1 year ago

all failed as of april last... when i realized i had no way of connecting the ID to a map... i gave up trying this method. PlayerDatafails_04_18_22.txt

Shadnix-was-taken commented 1 year ago

I was able to load your SongPlayData.json no problem and got the history for a couple of maps I spot checked:

image

So, unfortunatley, I can't reproduce the issue. One other thing comes to mind that I could check: With the mod installed, please start and quit Beat Saber once and then send the _latest.log file, which you can find in the "Logs" directory of your Beat Saber installation folder.

Regarding connecting the IDs to the maps, if you want to code something for that: The ID format is used throughout the modding community. It is tha SHA1 hash of the contents of the info.dat file and all difficulties as ordered in the info.dat file concatinated together. You can also ask BeatSaver for a specific hash and get map information back. Check https://api.beatsaver.com/docs/ for more information.

IonEwe commented 1 year ago

I've taken some images that should explain a bit more. i will add them soon. a few diff cases as they show up in game: a score displayed but "no record" norecord a score saber score 3 months ago but no local score noscore noscorea

qe201020335 commented 1 year ago

Do you mind sharing the exact map and difficulty this happens? Recommend the DiTails mod, this can show you the level hash and the bsr in game by clicking the level cover image.

Shadnix-was-taken commented 1 year ago

I've taken some images that should explain a bit more. i will add them soon. a few diff cases as they show up in game: a score displayed but "no record" norecord a score saber score 3 months ago but no local score noscore

This is the expected behaviour if you set a score without having this mod active. As qe201020335 mentioned, please share details about the map with missing data, so we can check if the data you are missing is actually part of the save file you provided. Otherwise, I'm working on the assumption that the data hasn't been recorded at all by the mod. In that case, I won't be able to figure out what happened two months ago.

As mentioned earlier, if you still experience this issue right now (new scores not getting saved), please share your game log file. With the mod installed, please start and Beat Saber, play a map and quit Beat Saber. Then send the _latest.log file, which you can find in the "Logs" directory of your Beat Saber installation folder.

qe201020335 commented 1 year ago

With the exact map info, We can also take a look whether the mod is having trouble with some certain levels or not.

Maybe there could be a bug that causes certain levels to not save.

IonEwe commented 1 year ago

fairly sure this isn't about saving... because... all scores that i can ever remember have always shown a value, but after days, weeks, months have gone missing. When i replay those maps, the are no prior history listed. I'm fairly sure there are some percentage of them that are repeat issues, but i have no way to keep track of this. I'll do the log thing today and upload it soon. DiTails looks unsupported (not in modassistant and last updated a year ago), but i'll install it after the log. (try not to break things more then they are ready are).

The following log has one map "satellite - rise against" played that had been played 2 years and 4 months ago. I'll add more info from the vid i took of this play soon.

2023.01.03.23.10.15.log

qe201020335 commented 1 year ago

@IonEwe DeTails did not break and is feature complete so it is not updated.

qe201020335 commented 1 year ago

fairly sure this isn't about saving... because... all scores that i can ever remember have always shown a value, but after days, weeks, months have gone missing. When i replay those maps, the are no prior history listed. I'm fairly sure there are some percentage of them that are repeat issues, but i have no way to keep track of this. I'll do the log thing today and upload it soon.

Since if you replay those map, new records are saved, that means there is no problem saving with the latest versino of the mods. With the exact map details, we will be able to find whethere the old records were saved at all in the play data file you uploaded above.