ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.13k stars 2.25k forks source link

Mods Not Applying when they should be in Multiplayer #26463

Closed NanaParty closed 8 months ago

NanaParty commented 8 months ago

Type

Game behaviour

Bug description

as far as I'm aware, it needs two people to replicate, one person hosting and one person with the mod setup

we'll call player X the host and player Y the mod user

X will setup an open lobby with round robin beatmap selections on whatever beatmap they like (any gamemode) and Y will setup mods to their liking, lets say HDFL in this scenario

when the beatmap from player X is selected as the first beatmap, player Y will add another beatmap from another gamemode on top of that, still holding onto the mods from selection on the first beatmap and apply the other mode beatmap into the lobby. it will visually reset their mods on clientside but then keep the mods serverside (displayed by the lobby member's list) and will apply to the player Y's mods. Player Y then goes back into the beatmap select to put another gamemode again, but without selecting, Player X will start the match. Player Y should then be playing the mods that were selected prior but visually only to them, they will be playing NM (or DT if the map is DT at all) the entire time. This applies to every mod combination possible and does save to replays, seemingly also submitting to bancho for the multi to register the point differences between players. it does not seem to give performance points due to mod combos nor submit to the actual profile.

an additional point to mention, when using HR with this bug it causes sliders to have absurd SV compared to normal when still playing out as a "NM" play to the user, this was done with Taiko as a setup so I'm quite unsure as to why it would do that other than the fact that scroll speed on taiko is correlated to HR itself, which might be a hint possibly to why the mods act this way when swapping around modes

Screenshots or videos

setup video https://youtu.be/vVa_nXOoZqo

View from both an outside player and the player with the "mods" https://youtu.be/5ZZ7WKdSRtw

Version

2023.1231.0-lazer

Logs

compressed-logs.zip

NanaParty commented 8 months ago

upon further investigation, no two players are needed, and you dont need to apparently apply the beatmap before starting a lobby. all one person has to do is start a lobby on their own, put something like HDFL, set the timer to start at 10 seconds and then go back into selection again while hovering over another gamemode and it still applys the bug. the bug will still submit scores with those ghost mods applied while also saving replays with it.

(edit 2: I take it back it still does submit on global leaderboards with the ghost mods, I think this needs to be higher prio because of that.)

peppy commented 8 months ago

@frenzibyte your PR fixes the issue without actually fixing the issue right?

Like sure, having a guard in place is good and all, but we still need to fix the underlying issue of how this happened in the first place, hopefully in a way it just doesn't happen anymore.

frenzibyte commented 8 months ago

No it's fixed in https://github.com/ppy/osu/pull/26496

peppy commented 8 months ago

right, thanks.