Skip to content

Match Start

For: intermediate admins tuning autostart, pre-start, and headstarts.

How matches begin on their own: autostart, the pre-start window, headstarts, and start reminders.

Autostart

JManhunt begins a match on its own once enough players queue up, instead of waiting for /manhunt start:

settings:
  match:
    start:
      autostart:
        enabled: true
        timing:
          countdown-seconds: 30
          countdown-style: VERSUS
        minimums:
          hunter: 1
          speedrunner: 1
        maximums:
          hunter: -1
          speedrunner: -1
        broadcast-requirements:
          enabled: false
          interval-seconds: 60

Autostart triggers once each role reaches its minimums (hard minimum 1 per role). Each lobby runs its own countdown and starts its own match; see Concurrent Matches. Minimums and maximums (-1 disables a role) only gate autostart: manual /manhunt start keeps its own one-hunter-one-speedrunner check.

While a lobby sits below its minimums, broadcast-requirements tells queued hunters and speedrunners what is still missing every interval-seconds. When a role sits above its maximum, the nag names the excess instead. The timer restarts whenever someone new joins the teams.

Countdown

countdown-seconds (default 30) is the wait before JManhunt runs /manhunt start on its own. Set to 0 to start immediately with no countdown.

countdown-style (default VERSUS) picks the announcement style. SIMPLE uses the plain autostart messages, while VERSUS shows the runner-vs-hunter lineup instead (3v5 starts in 30s.). Both are customizable in messages.yml.

Start on Speedrunner Damage

The match opens with a pre-start window that lasts until a speedrunner hits a hunter, giving speedrunners a moment to get their bearings before hunters are let loose.

settings:
  match:
    start:
      start-on-speedrunner-damage:
        enabled: true
        delay-seconds: 45
        on-expire: FORCE_START
        start-in-adventure-mode: true
        reminder-interval: 30.0

Players in the pre-start window are invulnerable and deal no damage. The speedrunners' first hit on a hunter opens the match: it deals no damage itself, but its knockback registers. Hunter hits are cancelled outright. Match clocks ignore the pre-start window and start when the game begins.

If a leave empties a side before the game begins, the match cancels. Disconnecting during pre-start removes you at once, with no grace period.

Pre-Start Timeout

delay-seconds is how long JManhunt waits for that first hit before falling back to on-expire. Values below 5 clamp up to 5; set to -1 to wait indefinitely.

On Expire

  • CANCEL: abort the match without recording stats.
  • FORCE_START: start the match anyway, with the normal game-start announcement after the force-start line.

Adventure Mode Lock

start-in-adventure-mode puts every participant in adventure mode during the pre-start window so nobody breaks blocks while waiting. Everyone returns to survival the instant the game begins.

Headstarts

Either side can start ahead: a headstart configured for one side holds the other side in limbo while the configured side plays. Each side is configured independently.

settings:
  match:
    headstart:
      speedrunner:
        enabled: true
        delay-seconds: 20
      hunter:
        enabled: false
        delay-seconds: 20

Speedrunners start ahead out of the box (20 seconds, hunters held); the hunter side is disabled. delay-seconds accepts 0 and up; 0 releases the held side immediately.

If Start on Speedrunner Damage is also enabled, countdowns do not begin until that first hit lands. Each held player's location is recorded when their countdown begins: held players may fly around freely, then teleport back to their recorded spawnpoint when the delay expires. Every countdown announces its full delay at once, skips ladder marks within 2 seconds of that opener, then runs the shared ladder (10h40m down to the final 3, 2, 1) with formatted times like 5m or 1h 2m. Players who join mid-match while their side is held are held too.

Headstart Restrictions

Extra rules for held players. The master switch defaults off; when it is on, each sub-category applies per its own flag:

settings:
  match:
    headstart:
      restrictions:
        enabled: false
        traversal:
          enabled: true
          max-distance: 10.0
        effects:
          enabled: false
          effect: blindness
          amplifier: 0

traversal pins each held player inside a max-distance sphere around their own recorded point. Escape attempts rubberband back to the sphere surface (look direction kept). Values at or below 0 disable the clamp; a new radius applies on the next check without a restart.

effects applies one potion effect for the whole hold (infinite duration, cleared at release, cancel, or teardown). Unknown ids warn and skip; the amplifier minimum is 0. Effect changes apply on the next hold, never mid-hold.

Start Reminders

How often players are reminded while waiting for the first speedrunner hit:

settings:
  match:
    start:
      start-on-speedrunner-damage:
        reminder-interval: 30.0      # in seconds

Finite pre-start timeouts announce the full delay at once, then the shared countdown ladder (whatever marks fall inside the delay). The value above is only the repeat interval when the pre-start window waits indefinitely (delay-seconds: -1). Set it to -1 to disable reminders while still waiting.

Start Broadcasts

When the match begins, everyone sees the Twists roll call: one bullet line per active modifier, then an and n more by ... tail once the list passes the cap:

settings:
  server:
    mod-broadcasts:
      enabled: true                  # announce active mods at match start
      max: 8                         # lines before the overflow tail

Set enabled: false to start matches quietly. The tail names the hidden authors (most mods first).

Next Steps