config.yml reference

Every section of the ServerGames config.yml, explained.

plugins/ServerGames/config.yml controls the world, generator, physics, HUD, power-ups, music and sounds. All player-facing text lives in messages_en.yml / messages_tr.yml (MiniMessage, fully editable) — add your own messages_<code>.yml and set language.

language: "en"   # messages_en.yml / messages_tr.yml — add your own and switch here

Race & world

race:
  world: "race_world"          # arena world; created as a void world if missing (Canvas/Paper)
  fallback-world: "world"      # used on plain Folia (no runtime world creation)
  fallback-origin-x: 20000     # track center in the fallback world (keep far from spawn)
  fallback-origin-z: 20000
  road-y: 128                  # track base height (void world)
  fallback-road-y: 208         # track height in the fallback world
  max-players: 100
  min-players: 2
  default-laps: 3
  default-width: 7             # road width in blocks (odd recommended)
  default-length: 24           # control-point count ≈ track size
  countdown-seconds: 10
  auto-start-when-full: true   # start the countdown when the lobby hits max-players
  time-limit-seconds: 600      # race time limit (0 = disabled)
  end-grace-seconds: 120       # time granted to the rest after the first finisher
  finish-restore-delay-seconds: 8
  freeze-hotbar: false         # lock hotbar switching (inventory is NEVER touched)
  respawn-on-fall: true        # fall off → respawn at last checkpoint
  cancel-all-damage: true      # cancel ALL damage to racers (PvP always blocked)
  disable-hunger: true
  restore-health: true
  block-elytra: true
  block-teleport-items: true   # block ender pearls / chorus fruit in race
  demolish-after: false        # remove track blocks when the race ends
  rejoin-continue: false       # true = relog continues from last checkpoint; false = restore
  announce: true               # server-wide open/finish broadcasts
  allowed-commands: [ ... ]    # commands permitted while racing

Generator

generator:
  chunks-per-batch: 6          # chunks per batch tick (build speed vs TPS)
  batch-period-ticks: 2
  radius-per-point: 6.0        # track radius = length × this
  hills: true                  # gentle slab ramps (car tracks are always flat)
  hill-amplitude: 3.0
  checkpoint-every: 2          # one checkpoint per N control points
  powerup-every-blocks: 40

Car

Physics for the car race mode (/race create <name> car).

KeyDefaultMeaning
car.accel0.028Acceleration per tick.
car.max-speed0.86Top speed, blocks/tick (~17 m/s).
car.ice-max-speed0.96Top speed on the ICE theme (faster, slippery).
car.turn-degrees5.8A/D steering degrees per tick at full speed.
car.grip-degrees10.5How fast travel direction catches the nose (lower = slidier).
car.drift-grip-degrees3.8Grip while holding SHIFT — big gap = long drifts.
car.brake0.88Speed multiplier per tick while handbraking.
car.boost-multiplier1.35SPEED / boost effect on the vehicle.
car.slow-multiplier0.60SLOW trap effect on the vehicle.
car.dash-impulse0.9DASH power-up burst.
car.crash-speed-keep0.38Fraction of speed kept after a head-on wall hit.
car.track-width11Minimum road width for car arenas (auto-enforced).

Vehicle rendering

Each car’s model is drawn as client-side virtual parts streamed only to the players near it, so a full 100-racer grid stays light on the network. This is on by default and needs no setup — the keys below only matter if you want to tune reach or fall back to the classic renderer.

car:
  render:
    packet-based: true   # client-side virtual parts (per-viewer culling, bundled packets) —
                         #   recommended for big grids. false = classic display entities.
                         #   RESTART required to change this one.
    view-distance: 96    # blocks: vehicles stream only to players within this range (hot-reloads)
    view-angle: 0        # 0 = off. >0 = degrees of the viewer's forward cone (e.g. 210);
                         #   vehicles behind a player aren't streamed until faced. Applies only
                         #   beyond 16 blocks and only gates entry (no flicker when turning).

HUD

hud:
  update-ticks: 10             # bossbar + ranking update period
  scoreboard-update-ticks: 20
  scoreboard-lines: 8          # top N racers on the sidebar

Power-ups

powerups:
  enabled: true
  respawn-seconds: 8
  effect-duration-seconds: 6
  dash-strength: 2.2
  weights:                     # probability weights (0 = disabled)
    SPEED_BOOST: 25
    JUMP_BOOST: 15
    DASH: 15
    SHIELD: 15
    SLOW_TRAP: 12
    BLIND: 8
    CONFUSION: 10

Music

music:
  enabled: true
  mode: NOTES                  # NOTES = note-block music | DISC = jukebox discs | OFF
  volume: 0.9
  lobby: true                  # play music in the lobby
  final-lap-boost: true        # faster + transposed-up on the final lap
  discs:                       # used in DISC mode
    lobby: "music_disc.creator_music_box"
    racing: "music_disc.pigstep"

Sounds

sounds:
  enabled: true
  volume: 1.0                  # effect sound multiplier

Data files

FilePurpose
config.ymlAll gameplay / generator / HUD / power-up / music / sound settings.
messages_en.yml, messages_tr.ymlEvery player-facing string (MiniMessage).
races.ymlArena parameters (geometry re-derives from the seed).
pending-restores.ymlCrash-safe restore records (auto-managed).
stats.ymlPlayer stats.
rewards.ymlPer-arena place rewards.

Next: FAQ.