Skip to content

schedules.yml

When KOTHs start automatically - days, times, random picks and which KOTHs each schedule runs.

Every schedule lives in schedules.yml under Schedules. Each key is one schedule, and the key is its name. After editing, run /kothadmin reload. A walkthrough is in Scheduling KOTHs.

One example ships, disabled, so nothing starts on its own until you set it up:

Schedules:
evening:
Enabled: false
Days:
- MONDAY
- WEDNESDAY
- FRIDAY
Times:
- "18:00"
- "21:30"
Random: false
Koths:
- spawn

Unlike config.yml, this file has no fallback to shipped values: a schedule you delete stays deleted.

Key Required Default Description
Enabled no true false keeps the schedule in the file without running it. Disabled schedules do not count for {next}.
Days no every day Days of the week it runs on: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY. Empty or missing runs every day.
Times yes Start times as HH:mm, 24-hour clock ("08:00", "21:30"). At least one. Quote them.
Random no false false starts every listed KOTH. true starts one of them, picked at random.
Koths yes KOTH ids to start. At least one.

Times are read in Settings.Timezone from config.yml.

  1. Every listed KOTH that exists, is enabled and is not already running is a candidate. With no candidates, nothing happens.
  2. With Random: false every candidate is started; with Random: true one random candidate is.
  3. Before each start, the KOTH’s Settings.Minimum-Players is compared with the online player count. If too few are online, it is not started and MINIMUM-PLAYERS-NOT-MET is announced.

These skip the schedule with a console error naming it (other schedules still load):

  • No Times, or a time that is not HH:mm
  • No Koths
  • A day name that is not one of the seven above

A Koths entry that does not match any KOTH is not an error, but it is reported in the console when the file loads (for enabled schedules) and every time the schedule fires.