Skip to content

Instantly share code, notes, and snippets.

@Rian8337
Last active July 10, 2023 17:33
Show Gist options
  • Save Rian8337/9be846b71665a8364bf5428d850e24bb to your computer and use it in GitHub Desktop.
Save Rian8337/9be846b71665a8364bf5428d850e24bb to your computer and use it in GitHub Desktop.
Alice Multiplayer System

Alice osu!droid Multiplayer System

This is a document that explains about the osu!droid multiplayer system that is used in Alice, which is mainly used in the osu!droid (International) Discord Server.

If you have further inquiries, please contact @rian8337 in Discord.

Contents

How It Works

The multiplayer system supports two osu!droid clients: the official 1.6.8 client (later referred to as "official client") and a custom multiplayer client (later referred to as "custom client") that is supported by a custom osu!droid server.

The custom client has the following differences compared to the official client:

  • Allows play options to be more rich and flexible, such as using unranked mods and settings.
  • It is labeled as osu!droid-multi to allow users to install the client alongside the official client
  • You cannot fail. As such, the No Fail (NF) mod has been removed
  • The pause function has been replaced with the "press back twice to exit" function to mimic osu!stable's multiplayer
  • "Tabbing out" from the game during gameplay will automatically exit the gameplay. This does not apply when pulling down the notification shade; your gameplay will continue
  • Global leaderboard doesn't exist
  • Account registration is not possible
  • When logging in, use the registered email as password instead of your actual password
  • Scores submitted in the custom client will not be submitted to the official server
  • It supports real-time spectating in matches via the spectator client

Requirements

To play using the multiplayer system, you need to have a registered osu!droid account and your Discord account binded to it.

If you would like to use the custom client, you may download it here.

And that's it!

How to Play

To start using the multiplayer system, you need to create or join a multiplayer room.

To create a multiplayer room, use the /multiplayer create command. You will be prompted to enter the ID of the room and its name. You may also choose to use a password to only allow certain users to join your room and the amount of player slots in your room. Once the room is created, a thread channel will be created in the text channel and you will be the host of the room. Do not worry about your room password being leaked as the command will respond privately.

You may use any ID you want, but it should not be too long as the ID will be used to perform certain tasks, such as joining the room and viewing room statistics.

The ID and name of the room is subject to server and local language channel rules (if you choose to use the system in a language channel). Language moderators and helpers reserve the right to close any multiplayer room that do not respect these rules.

To join a multiplayer room, use the /multiplayer join command. A password is required if the multiplayer room you are joining has a password.

To leave a multiplayer room, use the /multiplayer leave command. When there are no players left in the room, the room will be deleted and the thread channel will be locked and archived.

Only one type of client can be used at a time. By default, this is set to the custom client. The room host has the ability to change the type of the client to be used in the room.

Keep in mind that only your currently binded osu!droid account can be used to play. If you want to change your currently binded osu!droid account, you need to rejoin the multiplayer room after doing so.

Beatmap Settings

The process of picking a beatmap is very simple.

To pick a beatmap, the room host can use the /multiplayer beatmap select command. They will be prompted to enter a beatmap ID or a beatmap link.

To view the currently selected beatmap, use the /multiplayer beatmap view command.

Win Condition

There are 11 available win conditions:

  • Highest Score V1 (default)
  • Highest Accuracy
  • Highest Maximum Combo
  • Highest Score V2
  • Most 300s
  • Least 100s
  • Least 50s
  • Least misses
  • Lowest Unstable Rate
  • Highest Droid PP (when using the custom client, this does not account for three-finger penalty)
  • Highest PC PP

The player with the highest grade with respect to the win condition wins. When two or more players obtain the same score with respect to the win condition, they are considered winners.

The room host has the ability to change the win condition.

Team Mode

There are two available team modes:

  • Head-to-head (default)
  • Team VS

The room host has the ability to change the team mode.

Head-to-head

Players will face against each other.

Team VS

Players will be grouped into two teams, Red and Blue, and will face against the opposing team.

Players can change their team position using the /multiplayer team select command.

To view the current team outline, use the /multiplayer team view command.

Preparation

During preparation, make sure that you have:

  • Selected the correct beatmap
  • Selected the correct mods and settings

After you have prepared yourself and are ready to play, you can enter the ready state using the /multiplayer ready command. You may use the command again if you want to opt out from ready state.

Spectating

Since multiplayer room threads are public, anyone can join the thread and spectate. However, if you're a room host and you do not want to play (for example, being a referee), you can enter the spectating state using the /multiplayer spectate command.

Note that the command will automatically opt you out from the ready state. Additionally, using the /multiplayer ready command will automatically put you out from the spectating state.

Starting the Round

To start the round, the room host can use the /multiplayer round start command. The command will start a timer with a duration that you can adjust between 5-15 seconds (by default it will be 15 seconds). Once the timer ends, the round will finally start.

By default, the round can only be started if all players in the room (including the host) are ready. However, the room host can enable the force flag to start a timer regardless of players' ready state. Additionally, the room host can toggle the spectating state to absent themselves from playing the round.

In the case where the room host accidentally starts a timer, they can use the /multiplayer round stop command to cancel the timer. Additionally, when the beatmap has finished, but there is no message from Alice telling the result of the round, they can use /multiplayer round forcesubmit to forcefully submit scores to the round.

Score Submission

The score submission in the system works just like the official client. However, the server will validate your scores with respect to beatmap and room settings before finally submitting them.

If you submit a score 10 seconds early prior to the start of the beatmap, the server will reject your score. This is also the case if the score is 30 seconds late after the end of the beatmap.

Room Settings

The multiplayer system features a rich set of room settings. These settings can only be used by the room host unless specified otherwise.

Displaying Room Statistics

To display a room's statistics, use the /multiplayer statistics command. It is available to everyone and you don't need to be in a multiplayer room to use it. You may optionally put a room ID in, but the command will default to the current multiplayer room in the channel.

Changing Client Type

A room can only use one type of client at a time. By default, it uses the custom client. To change this, use the /multiplayer settings client command.

Keep in mind that when switching to the official client, mods and settings that cannot be used in the official client will be removed or disabled automatically.

Changing Room Name

To change your room name, use the /multiplayer settings name command.

Changing Player Slot Amount

To change the amount of player slots in your room, use the /multiplayer settings slotamount command. You may open up to 20 slots at a time in a multiplayer room.

Changing Room Password

To change the password required to join your room, use the /multiplayer settings password command. Do not worry about the password being leaked as the command will respond privately.

Changing Room Host

To transfer the room's host to another user in the room, use the /multiplayer settings transferhost command.

Kicking a User From The Room

To kick a user from your room, use the /multiplayer kick command. You may also optionally lock the user's slot by using the lockslot option.

Changing Team Mode

To change team mode, use the /multiplayer settings teammode command.

When switching from Head-to-head to Team VS, every player in the room will be randomly assigned to Red and Blue Team.

Changing Win Condition

To change win condition, use the /multiplayer settings wincondition command. You will be prompted to pick a win condition that is listed in the win condition section.

Required and Allowed Mods

You may specify a combination of mods that must be used by users in your room (later referred as "required mods"). Additionally, you may specify a combination of mods that can be used by users (later referred as "allowed mods").

Note that required mods cannot collide with allowed mods. When picking required mods that collide with allowed mods, colliding mods will be put in required mods and removed from allowed mods, and vice versa. Additionally, you cannot use speed-changing mods such as DT, NC, and HT for allowed mods.

These mods are ranked in the custom client and can be used:

  • EZ
  • HT
  • RE
  • HD
  • DT
  • HR
  • FL
  • PR
  • SC
  • ScoreV2

To set the required and allowed mods, use the /multiplayer settings mods command.

Speed Multiplier

You may set a custom speed multiplier that must be used by players using the /multiplayer settings speedmultiplier command.

Force AR

You may allow the usage of force AR and determine the inclusive range at which players are allowed to use force AR in by using the /multiplayer settings forcear command.

Slider Lock

You may allow the usage of in-game 2B slider lock option using the /multiplayer settings sliderlock command. By default, this option is not allowed.

Custom Mod Score Multipliers

You can apply a custom mod score multiplier setting that overrides the client's default mod score multiplier. When used, a submitted play's score will be altered by these multipliers.

Keep in mind that the effect of this setting will only apply when playing with the 'Highest Score V1' or 'Highest Score V2' win condition.

You may apply a certain multiplier to multiple mods at once using the /multiplayer settings modmultiplier command. Omitting the multiplier option will reset the multiplier of entered mods back to their default value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment