I am making a proposal on how Multiplayer could be achieved in the osu 2007 client despite it not having the ability to play Multiplayer normally,
Changes that Need to be Made:
A New Table must be created called "lobbies" that would hold information about all currently active lobbies. the columns would include:
lobbyname, currentmap_md5, mapplayed, players, playerscores, host
lobbyname: the name of the current lobby, used for distinction and to show on the multiplayer tab of the page
currentmap_md5: md5 hash of currently selected beatmap that should be played, used for score submittion to the current lobby
mapplayed: number of maps played up until that point
players: all players seperated by ","
playerscores: scores seperated by ";"
host: map selector, can kick people out of lobby, sets lobby name,
In the Player Database, a Column called "lobbyname" must be implemented. This then could be read during score submittion and the Score Database would need the same thing, this could then be used on a Multiplayer Page and could be read.
During Score Submittion;
The Score gets submitted normally, except the "lobbyname" attribute gets filled with what multiplayer lobby the player is currently sitting in. Then the User could click a button in the Multiplayer window that maybe says "Submit Score" and that would execute some PHP code that could pull all the players scores that checks all scores that have lobbyname set to the current lobbies name. Then that could be compared and see who won, default scoring system would be Head2Head, where the player with the most score wins, games can go on infinitly.
Disbanding Matches:
When a Player Quits a match, the lobbyname flag on their profile disappears and they get removed from the match. if the host clicks the "Delete Match" button, their flag gets deelted too and the entire match is deleted from the matches database