ppy / osu-stable-issues

Report critical osu-stable issues here
59 stars 11 forks source link

tourney: ipc client's score still stored even player left #1227

Open ilsubyeega opened 3 months ago

ilsubyeega commented 3 months ago

I am developing a third-party tourney overlay for osu!stable. The tournament I'm working on is run in an non-traditional way, the team sizes (n people per team) for all matches vary. Players can play in teams of 1, 2 3 or 4.

To use this in osu!stable tourney, I needed to set the maximum team size at 4, and place players in slots 1, 5, etc.

So far so good, but it seems that when a person leaves the osu! ipc client/from match, their score remains as is. If you see a screenshot like the one below, while each player's score does not exceed a million, the score bar at the bottom exceeds a million. To solve this, I think this need to initialize/reset all data the moment the beatmap changes. Thank you.

Screenshot from 2024-03-10 00-18-14

+) This may think that it can save the score to check the score on the result screen, but in reality the match was played by 1 player from each team from the beginning, so I think it's a valid proposal to reset the score when the beatmap changes.

peppy commented 3 months ago

When you say IPC, where are you seeing the discrepancy? Please provide all details, ie. what file you're accessing, or what app you're using to read memory or whaever.

ilsubyeega commented 3 months ago

I apologize for the confusion. The IPC clients I'm referring to here are the 8 child tournament clients, not the main client. I wasn't actually using IPC file listening, I'm reading the client data with a third-party memory reading tool called gosumemory, so please ignore that since that wasn't meant for this issue.

What I meant to say is that in the case of discrepancies, the value of the score bar on the main client (the one with sync music, panic button, etc) is inconsistent with the value of the score displayed on the child clients. (404_221 versus 1_856_698)

peppy commented 3 months ago

I believe it's done the way it is to stop the score dropping down as players leave the results screen individually.

Are you saying that in the above case the other players never actually entered gameplay for the beatmap/round in question?

ilsubyeega commented 3 months ago

What is certain is that before the match started, all players except the participating player left. I believe it's before the game starts, after the beatmap changes.

I rushed a test, Played different maps (same sets, but different difficulty levels).

https://github.com/ppy/osu-stable-issues/assets/37479424/39455668-49a9-44ee-9a67-399c20c0433a