
BoatRace
Gate-to-gate boat racing events for Valheim. Admins define a course in a JSON file, start a race with everyone online, and racers follow lit buoy gates with a live leaderboard, minimap markers and a screen-edge direction arrow.BoatRace
Gate-to-gate boat racing events for Valheim. An admin lays out a course as a list of gates in a JSON file, starts a race with everyone currently online, and racers follow lit buoy markers around the course while a live leaderboard tracks who is furthest along.
Required on the server and on every client. Race state is server-authoritative.
Setting up a course
Copy BoatRace_Gates.example.json into BepInEx/config/, rename it to
BoatRace_Gates.json, and edit it. Each gate is a line between two buoy points that racers
cross in order:
{
"gates": [
{
"index": 1,
"name": "Start Line",
"pointA": { "x": 0.0, "y": 30.0, "z": 0.0 },
"pointB": { "x": 30.0, "y": 30.0, "z": 0.0 }
}
]
}
Gate 1 is the start line, the highest-numbered gate is the finish. Indices must run
1, 2, 3... with no gaps or duplicates. Stand where you want a buoy and read your
coordinates off the F5 console to fill the file in.
Commands
boatrace_start— (admin) start a race with everyone currently connectedboatrace_end— (admin) end the race early; anyone still racing is marked DNFboatrace_reset— (admin) clear all race state and hide the HUDboatrace_reload— (admin) reload the gate file from disk and respawn markersboatrace_testui— preview the markers, leaderboard and arrow with dummy databoatrace_setpos <x> <y>— move your own leaderboard panel
Racing rules
Crossing a gate out of sequence costs a flat time penalty (15s by default) but does not change which gate you need next. Crossing the final gate locks in your time; the race keeps running for everyone else. Disconnecting mid-race is a DNF.
Navigation aids
All three point at your own next gate, not the leader's: the next gate's buoys burn green while every other gate burns orange, a pulsing marker appears on both the minimap and the full map, and a screen-edge arrow rotates toward the gate with a distance readout.
Requires Jotunn.