Skip to content

phases.yml

The map phases: SOTW length and start date, EOTW start date, and the Purge.

How it plays: read the guide

Every example on this page is taken from the shipped phases.yml. Changes apply with /hcf reload. Nothing happens until a phase starts — by command, or at its date.

Time zone

phases.yml
# Time zone the dates below are written in. "system" follows the host clock;
# prefer naming it ("Europe/Paris") so moving hosts does not shift the map.
time-zone: "system"

The zone dates and times are read in. Write yours: "Europe/Paris".

SOTW

phases.yml
sotw:
  # How long a SOTW lasts: a scheduled one, and /sotw start without a duration.
  duration-seconds: 7200

  # Date and time at which SOTW starts by itself, as "yyyy-MM-dd HH:mm" in the
  # time zone above. Empty: only staff start it.
  # It runs from that time to that time plus duration-seconds. A server that was
  # down at the start still gets what is left of that window; once the window
  # is over, the date does nothing - a date left from an earlier map is harmless.
  start-at: ""

  # Remaining-time marks to broadcast, in seconds.
  announce-at-seconds: [3600, 1800, 600, 300, 60, 10]
Key As shipped What it does
duration-seconds 7200 A SOTW's length: a scheduled one, and /sotw start without a duration
start-at empty "yyyy-MM-dd HH:mm": the SOTW runs from then to then plus its duration. A date left from an earlier map does nothing
announce-at-seconds [3600, 1800, 600, 300, 60, 10] Remaining-time marks

EOTW

phases.yml
eotw:
  # Date and time at which EOTW starts by itself ("yyyy-MM-dd HH:mm"). Empty:
  # only staff start it. If a SOTW is running at that time, EOTW waits for its
  # end.
  start-at: ""

  # How late a scheduled EOTW may still start, in seconds - after a server that
  # was down at the time comes back up. Past that, the date is treated as one
  # left from an earlier map and ignored, so a fresh map never opens straight
  # into EOTW. Start it with /eotw start instead.
  start-window-seconds: 3600

  # During EOTW every claim is open to building and breaking, whatever its team's
  # DTR. Server land too - roads, events, mountains - when open-server-land is on,
  # except the safe zones (spawn) with keep-safe-zones, and the server teams named
  # in protected-teams.
  open-server-land: true
  keep-safe-zones: true
  protected-teams: []
Key As shipped What it does
start-at empty "yyyy-MM-dd HH:mm" at which EOTW starts by itself; it waits for a running SOTW to end
start-window-seconds 3600 How late a scheduled EOTW may still start after the server was down
open-server-land true Server land is open to building and breaking during EOTW, as every team's claims are
keep-safe-zones true ...except the safe zones — spawn
protected-teams [] ...and the server teams named here

The Purge

phases.yml
purge:
  # The Purge: a window during which anybody may USE the blocks of every other
  # team's claims - doors, fence gates, chests, buttons, levers - whatever its DTR,
  # but not build or break there: that stays for a team raidable by its DTR, and
  # for EOTW. No bans until the map ends: deathbans and DTR work as usual. Spawn
  # stays a safe zone, and server land stays shut.
  #
  # /purge start [duration] and /purge stop (hcfcore.phase.admin), or by itself
  # at the times below. Never during SOTW - a SOTW that begins ends a running
  # Purge - and refused during EOTW, when every team is raidable already. Like
  # SOTW it ends at an instant, so a restart does not cut it short.

  # How long a Purge lasts: a scheduled one, and /purge start without a duration.
  duration-seconds: 1800

  # Times of day, in the time zone above, at which a Purge starts by itself.
  # Empty on purpose: when a server purges is its own call.
  #   schedule: ["20:00"]
  schedule: []

  # false: the Purge opens nothing - only its announcements and schedule remain.
  use-enemy-blocks: true
Key As shipped What it does
duration-seconds 1800 A Purge's length
schedule [] Local times at which it starts by itself, e.g. ["20:00"]
use-enemy-blocks true During the Purge, anybody may use the blocks of other teams' claims — doors, chests, buttons — but not build or break there

The whole shipped file

View it on GitHub.

phases.yml
# ---------------------------------------------------------------------------
# HCFCore - SOTW and EOTW (Start and End Of The World)
# ---------------------------------------------------------------------------
# The start and the end of a map:
#
#   SOTW - no PvP anywhere, no deathbans, no DTR lost. A player may type
#          /sotw enable to fight early: for the rest of that SOTW they can hit,
#          and be hit by, only players who did the same. There is no going back.
#   EOTW - every team is raidable whatever its DTR - server land too, spawn
#          aside -, players cannot claim new land (staff still can, for server
#          land), and a death bans until the end of the map - staff lift those
#          bans after the reset. Spawn stays a safe zone.
#
# SOTW's "no PvP" holds even if pvp.yml is turned off: it is the map's rule.
# EOTW's deathban is still a deathban, though: with pvp.yml off, or its
# deathbans off, nobody is banned in EOTW either.
#
# Both start by command (/sotw start [duration], /eotw start - permission
# hcfcore.phase.admin) or by themselves at the dates below. A SOTW ends by
# itself when its time runs out; EOTW lasts until staff stop it. Both survive a
# restart: a SOTW that ends at 20:00 ends at 20:00 however often the server
# goes down before then.
#
# Changes take effect on /hcf reload.
#
# Lines "# --8<-- [start:...]" and "# --8<-- [end:...]" mark the parts the online
# documentation quotes from this file. They are comments and change nothing.
# ---------------------------------------------------------------------------

# Time zone the dates below are written in. "system" follows the host clock;
# prefer naming it ("Europe/Paris") so moving hosts does not shift the map.
time-zone: "system"

sotw:
  # How long a SOTW lasts: a scheduled one, and /sotw start without a duration.
  duration-seconds: 7200

  # Date and time at which SOTW starts by itself, as "yyyy-MM-dd HH:mm" in the
  # time zone above. Empty: only staff start it.
  # It runs from that time to that time plus duration-seconds. A server that was
  # down at the start still gets what is left of that window; once the window
  # is over, the date does nothing - a date left from an earlier map is harmless.
  start-at: ""

  # Remaining-time marks to broadcast, in seconds.
  announce-at-seconds: [3600, 1800, 600, 300, 60, 10]

eotw:
  # Date and time at which EOTW starts by itself ("yyyy-MM-dd HH:mm"). Empty:
  # only staff start it. If a SOTW is running at that time, EOTW waits for its
  # end.
  start-at: ""

  # How late a scheduled EOTW may still start, in seconds - after a server that
  # was down at the time comes back up. Past that, the date is treated as one
  # left from an earlier map and ignored, so a fresh map never opens straight
  # into EOTW. Start it with /eotw start instead.
  start-window-seconds: 3600

  # During EOTW every claim is open to building and breaking, whatever its team's
  # DTR. Server land too - roads, events, mountains - when open-server-land is on,
  # except the safe zones (spawn) with keep-safe-zones, and the server teams named
  # in protected-teams.
  open-server-land: true
  keep-safe-zones: true
  protected-teams: []

purge:
  # The Purge: a window during which anybody may USE the blocks of every other
  # team's claims - doors, fence gates, chests, buttons, levers - whatever its DTR,
  # but not build or break there: that stays for a team raidable by its DTR, and
  # for EOTW. No bans until the map ends: deathbans and DTR work as usual. Spawn
  # stays a safe zone, and server land stays shut.
  #
  # /purge start [duration] and /purge stop (hcfcore.phase.admin), or by itself
  # at the times below. Never during SOTW - a SOTW that begins ends a running
  # Purge - and refused during EOTW, when every team is raidable already. Like
  # SOTW it ends at an instant, so a restart does not cut it short.

  # How long a Purge lasts: a scheduled one, and /purge start without a duration.
  duration-seconds: 1800

  # Times of day, in the time zone above, at which a Purge starts by itself.
  # Empty on purpose: when a server purges is its own call.
  #   schedule: ["20:00"]
  schedule: []

  # false: the Purge opens nothing - only its announcements and schedule remain.
  use-enemy-blocks: true