osu-stable-issues icon indicating copy to clipboard operation
osu-stable-issues copied to clipboard

BSS doesn't honor maps with complete BeatmapID and BeatmapSetID

Open aryoadhi opened this issue 1 year ago • 3 comments

For some reason, BSS doesn't honor maps with complete BeatmapID and BeatmapSetID when uploading maps to osu!. This causes unintended behavior as happened to this map: https://osu.ppy.sh/beatmapsets/1998595/discussion/4154388/general#/3748411

Here's how to replicate it:

  1. Add another .osu file to the pending/WIP beatmap set
  2. Change the BeatmapID value of that new beatmap to be the same as existing maps
  3. Leave the value BeatmapSetID to either 0 or -1
  4. Update the map

The result of this bug causes the discussions happened to existing map to be transferred to another difficulty, which is unwanted and may causes issues on long run if that difficulty has many mods.

While this issue requires deliberation to replicate it, this may occur due to how osu! automatically retreives BeatmapID if the map is somehow uploaded by the mapper, and the guest previously owned the unuploaded copy and then creating new diff based on that map. In short, the guest may not know that their local copy already automatically modified by client so they can update the map to reflect the latest version.

I suggest to have osu! automatically check sanity of the map, which prioritizes complete metadata first, followed with BeatmapID and BeatmapSetID, and then anything else.

aryoadhi avatar Jun 13 '23 13:06 aryoadhi

I don't get it. Why would you clear set ID but not beatmap ID.

peppy avatar Jun 14 '23 01:06 peppy

The only assumption I can think is the mapper directly edits the offline/unuploaded copy of the beatmap, without making their own difficulty copy (i.e simply editing difficulty name). As you can see from the .osu file I obtained before the GD is uploaded (in .txt file), the BeatmapID is already set to existing beatmap, however the BeatmapSetID is -1, which means it's the game automatically updating BeatmapID, but not BeatmapSetID because the update requires user interaction.

This was completely done without any manual/deliberate intervention. Abyssmare_-_I_AM_THE_BEST_Ryu_Sei_Insane_IS_THE_HARBY.txt

aryoadhi avatar Jun 14 '23 01:06 aryoadhi

set id can't be null if beatmap id is populated. it's both or none.

peppy avatar Jun 14 '23 02:06 peppy