Race modes & tracks
Procedural track generation, the four themes, the HUD, music and survival-safety.
Procedural circuits
Every track is a closed-loop circuit generated in code from a seed: the same seed always produces the same circuit. Nothing is pasted from a schematic.
A generated circuit includes:
- A main straight with a checkered start/finish line, a start gantry and a start gate that opens at GO.
- Kerbs, a hole-free road and, on bike and kart circuits, grass run-off with gravel traps, armco and tyre walls.
- Checkpoint arches with hanging lanterns, in order around the loop.
- A covered grandstand, light posts along the barriers and an elevated lobby platform.
- On foot circuits, gentle slab-ramped hills (no jumping needed). Vehicle circuits are always flat.
Circuits come in two styles: the wide, flowing circuit, and the narrow TEKNIK kart circuit with hairpins, chicanes and hazards on the road. Building is asynchronous and chunk-batched, so generating a big circuit never freezes the server. The whole layer-by-layer design, with pictures, is on The circuits.
/race generate <name> [seed] [laps] [length] [width] [theme] [teknik|circuit] [hazards|nohazards]
- seed: any number; reuse it to rebuild the exact same circuit.
- laps: number of laps (default 3).
- length: size and complexity (24 gives a lap of roughly 900 to 1,000 blocks; on a TEKNIK circuit 420 to 960, typically about 550).
- width: road width in blocks (odd numbers). Bike arenas are at least
car.track-width(11), kart arenas two more. TEKNIK circuits default to 9 for karts and 7 for bikes. - theme: one of the four below.
- teknik / circuit: the circuit style, for bike and kart arenas. Like the hazard keywords, it can go anywhere after the name.
- hazards / nohazards: boost pads, oil, mud and tyre stacks on the road, on or off (
engel/engelsizwork too). TEKNIK kart circuits have them by default.
Four themes
| Theme | Feel |
|---|---|
NORMAL | Classic circuit: concrete, grass and gravel. |
ICE | Faster and slippery, with a higher top speed. |
NETHER | Dark blackstone track lit by shroomlights. |
NEON | Black road, magenta kerbs and glowing sea lanterns. |
Five ways to race
- Foot race: the default. Run the loop through the checkpoints.
- Bike race:
/race create <name> car. Every racer rides a motocross bike with fully manual controls. - Kart race:
/race create <name> kart. The race in go-karts, in Mario Kart style: items, drift mini-turbos and slipstream. Kart circuits are two blocks wider; addteknikfor the narrow TEKNIK circuit. - F1 race (1.5.0):
/race create <name> f1. Open-wheel single seaters: faster, no items, a stronger slipstream, run-off that costs time and a DRS on the main straight. Made for the wide circuit. - ATV race (1.5.0):
/race create <name> atv. Quad bikes with the kart’s Mario Kart package and tyres that barely mind grass, gravel or mud. Made for TEKNIK circuits with hazards.
Every vehicle is covered on Vehicle races.
Race-open announcement
/race open <name> tells the whole server (with race.announce: true, the default):
- a title, a subtitle and an actionbar with the join command, and a notification sound;
- a chat line with the join command, clickable (it runs
/joinrace <name>), followed by the arena’s place rewards: each item’s own name and lore, with the item’s tooltip on hover; - an event bossbar for everyone who is not racing, until GO. It names the join command, stays full while the lobby waits for players, then drains with the lobby auto-start countdown and the grid countdown, and cycles through the rewards every three seconds.
The join command shown is the join-command message key: /joinrace in English, /yarış in Turkish. See Commands.
Lobby auto-start
The lobby runs itself. Once race.lobby.start-at-players players (default 2) have joined, a countdown starts (race.lobby.countdown-seconds, default 60) and the race begins when it hits zero, with no /race start needed. Players can still join or leave while it counts; if the lobby drops below the threshold, the countdown is cancelled and resets.
When the arena counts as full (race.max-players, or race.lobby.full-players if you set it), the race either starts right away (race.auto-start-when-full: true) or the remaining wait is cut to race.lobby.full-countdown-seconds. Set race.lobby.auto-countdown: false to start every race by hand.
Live HUD
- Bossbar — current lap, position and time.
- Sidebar — the top racers plus your own line (
hud.scoreboard-lines, default 8). - Titles & actionbars — countdown beeps, a goat-horn start and status messages.
- Direction guidance — a pulsing particle arrow at GO and after every rescue, plus a WRONG WAY! warning when you run against the track flow.
- Finish fireworks — a firework per finishing position.
Custom music
A programmatic note-block engine — no resource pack:
- A lobby theme and per-theme racing themes.
- The final lap speeds up (150 → 200 BPM) and transposes up.
- A victory fanfare on the win.
DISCmode plays jukebox discs instead, and each player can toggle music with/race music.
Survival-safe
- Players keep their own inventory — it is never touched, so dupes are impossible.
- No item drops or pickups during a race, no PvP and no damage.
- A command allow-list, plus elytra and ender-pearl blocks.
- Optional hotbar freeze.
- Falling off the track respawns you at your last checkpoint (no fall damage).
Everyone is restored to their original location, gamemode, flight and health on finish, leave, relog or the next server boot.
Next: The circuits.