Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Speedrun Arena
Multiplayer speedrun contests on one server: every player runs the same seed, alone, in their own worlds.
Each player gets a private overworld, nether and end, all copied from the same template. The terrain, structures and stronghold are the same for everyone, and nobody can interfere with anyone else. Players score points at each stage of the run, and an admin runs the competition from an in-game screen.
Features
Same seed, separate worlds
- Each round uses a seed from your list. The template worlds are generated once in the background, then copied for each player.
- Nether and end portals lead to the player's own nether and end. The dragon fight is fresh in every player's end.
- Solo-world isolation. During a round, a player sees nothing from the others: no chat, death or join messages, and only themselves in the Tab list. The server applies this filter, so clients never receive the hidden information.
Timed stages and scoring
Seven stages are detected automatically and timed on the round clock:
| Stage | Reached when |
|---|---|
| Stone | Cobblestone in the inventory |
| Iron | An iron ingot in the inventory |
| Nether | The player enters their nether |
| Blaze rod | A blaze rod in the inventory |
| Stronghold | The player stands inside the stronghold |
| End | The player enters their end |
| Dragon | The player kills their Ender Dragon |
- Each stage gives full points up to a par time. Points then decrease linearly to a minimum at twice the par.
- Points, minimum and par time are set per stage in the config. The defaults go from 100 down to 25 points, with par times from 1 to 30 minutes.
- Stages already validated stay validated after a death.
Rounds, deaths and the recap
- Rounds. The admin picks a time limit for each round (30 minutes by default). Every round starts with a 10-second countdown.
- End of a round. A round ends at the time limit, when every player has killed the dragon, or when the admin ends it.
- Deaths. A death sends the player back to a fresh copy of their worlds after a 3-second countdown. The round clock keeps running, so dying costs time.
- HUD. A stage bar sits at the top of the screen, with the remaining time of the round.
- Recap. At the end of a round, each player gets a screen with their stages, their score, and every attempt laid out on a timeline.
Admin screen and spectating
- Admin screen. Press
Kas an operator. It shows a live table of every player, with their status, stages, deaths and points. From it, you start a round with a duration, end it, and launch the next one. - Spectating. Follow any player in third person, through portals and deaths.
- After the dragon. A player who killed the dragon becomes a spectator and can watch the players still in their run.
- Operators who play. An operator can take part in a round ("I play" toggle, or
/arena play on).
Client compliance check (anti-cheat)
- At login. A client with any mod outside the server's allow-list, or an active resource pack outside it, is refused. The message lists exactly what to remove.
- During the session. The server checks every player again every minute, and as soon as they change resource packs.
- During a round. A player who fails a check is frozen, together with their worlds, and their clock stops. Operators are alerted, then either release the player (after a fresh check passes) or exclude them from the round.
- Honest limit. The server can only judge what the client declares. A modified client can lie. This check stops honest mistakes and casual cheating, not a determined cheater.
Requirements
- Minecraft 26.3, Java 25
- Fabric Loader 0.20.1 or later, and Fabric API (tested with 0.165.0+26.3)
- A dedicated server. In a singleplayer world the mod does nothing.
- The mod on the server and on every client. A client without it, or with another version, is refused with a clear message.
Speedrun Arena bundles Fantasy (NucleoidMC, LGPL-3.0) to create worlds at runtime.
For players: use a clean Fabric profile with only Speedrun Arena and Fabric API, plus whatever else the server allows. Any other mod or resource pack gets you refused at login.
Getting started
- Install the mod and Fabric API on a dedicated server, start it once, and stop it.
- Edit
config/speedrunarena.json. At the very least, replaceseedswith the seeds of your event. - Start the server. Players join and wait in a lobby while the first template is prepared.
- An operator presses
Kand starts the round.
Configuration
The config is strict. An unknown field, a wrong type or an out-of-range value stops the server with a message that names the field.
| Field | Default | Purpose |
|---|---|---|
seeds |
[42, 7, 2026] |
Seeds of the rounds, in order |
defaultRoundMinutes / minRoundMinutes / maxRoundMinutes |
30 / 1 / 180 | Suggested round duration and its bounds |
startCountdownSeconds / deathCountdownSeconds |
10 / 3 | Countdowns at the round start and after a death |
templateRadiusChunks |
4 / 2 / 6 | Pre-generated area of each template (overworld / nether / end) |
templateChunksPerTick |
2 | Pre-generation pace |
stages |
7 stages | Points, minimum, par time and icon of each stage |
allowedMods |
Speedrun Arena, its dependencies, Minecraft, Java | Mods accepted on clients. A module embedded in an accepted mod is accepted too, so Fabric API's modules pass with Fabric API. |
allowedResourcePacks |
vanilla, fabric |
Resource packs accepted on clients. The built-in pack of an accepted mod is accepted too. |
complianceCheckSeconds / complianceReplySeconds |
60 / 10 | Interval between in-game checks, and the reply delay |
Commands (operators)
| Command | Effect |
|---|---|
/arena start [minutes] |
Start the first round (from the lobby) |
/arena end |
End the current round |
/arena next [minutes] |
Start the next round (from the end-of-round recap) |
/arena play on|off |
Take part or not. off during a round counts as abandoning |
/arena debug stage <id> · kill · tpstronghold |
Testing helpers |
Keys
K: admin screen for an operator, or the list of players to follow once you have killed the dragonJ: reopen the round recap
Known limitations
- Server restart. A restart in the middle of a competition loses its state: the round, the scores and the position in the seed list.
- 10 players. The mod targets 10 simultaneous players. Server performance has not been measured with 10 real clients yet.
- Template preparation. Preparing a template briefly blocks the server (about 3 seconds) at startup and at the end of each round, when nobody is playing.


