bancho.py icon indicating copy to clipboard operation
bancho.py copied to clipboard

Beatmap submission system

Open cmyui opened this issue 3 years ago • 6 comments

This one is pretty large compared to any other issues, it entails the implementation of the following handlers:

POST /web/osu-osz2-bmsubmit-post.php
POST /web/osu-osz2-bmsubmit-upload.php
GET /web/osu-osz2-bmsubmit-getid.php
GET /web/osu-get-beatmap-topic.php

along with writing a program to write osz2 files, and quite a few backend changes. I've already done a few hundred lines of code of this one, but it will likely not be implemented into master for a while to come.

cmyui avatar Apr 19 '21 20:04 cmyui

Suggestion: after my experiment, ppy use i32 as beatmap id in osu, other beatmap id type will cause the beatmap can't be read, so we can use negative number as beatmap id. (-1 ~ -2147483648)

If we want different private servers to share each other's beatmap resources, we can consider making a submission site that uses negative numbers as beatmap ids.

Pure-Peace avatar Jun 29 '21 01:06 Pure-Peace

I think we have to use positive numbers though if we want osu-search-set to work, since osu!'s internal parser won't read the '-' properly.

https://user-images.githubusercontent.com/17343631/123728247-fd1e1800-d860-11eb-9847-7734a7004c1e.mp4

cmyui avatar Jun 29 '21 02:06 cmyui

I think we have to use positive numbers though if we want osu-search-set to work, since osu!'s internal parser won't read the '-' properly.

q2oLv3glVGhYLx7dnobE.mp4

Oh, it does look like this is a problem. ppy's client has strange behavior.

Using positive numbers needs to avoid conflicts with existing maps, a bit tricky

Pure-Peace avatar Jun 29 '21 02:06 Pure-Peace

Yea, i think i’ll just end up either cutting int32 space in half and starting from halfway, or starting at 2147483647 and counting down.

cmyui avatar Jun 29 '21 03:06 cmyui

Should work, these numbers are temporarily not used up lol

Pure-Peace avatar Jun 29 '21 03:06 Pure-Peace

Another problem of using negative IDs is that the osu! client will straight up not submit the map if it receives a negative ID from the server

infernalfire72 avatar Jul 26 '21 11:07 infernalfire72