Speedrun Arena

Speedrun Arena

Multiplayer speedrun contests on one server: every player runs the same seed alone in their own worlds, with timed stages, scoring, a live admin screen and spectating

9 downloads 0 followers

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 K as 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

  1. Install the mod and Fabric API on a dedicated server, start it once, and stop it.
  2. Edit config/speedrunarena.json. At the very least, replace seeds with the seeds of your event.
  3. Start the server. Players join and wait in a lobby while the first template is prepared.
  4. An operator presses K and 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 dragon
  • J: 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.

No gallery available for this project.

Version Minecraft Loader Download

Speedrun Arena 0.1.0

0.1.0

26.3
fabric
Download