Skip to content

dtr.yml

DTR (Deaths Till Raidable): the maximum, the cost of a death, the floor, regeneration and announcements.

How it plays: read the guide

Every example on this page is taken from the shipped dtr.yml. Changes apply with /hcf reload.

Switch

dtr.yml
# Turning this off means no team is ever raidable: claims stay permanently
# protected, and deaths cost nothing.
enabled: true

enabled: false: no team is ever raidable, and deaths cost nothing.

Maximum

dtr.yml
maximum:
  # DTR every team has regardless of size.
  base: 0.0
  # DTR added per member. With the default 1.1, a solo team holds 1.1 DTR - so
  # its first death (costing 1.0) leaves it at 0.1 and still protected, and the
  # second one opens it. That asymmetry is intentional and long-standing.
  per-member: 1.1
  # Hard ceiling whatever the member count. 0 = uncapped.
  # The default 6.6 is 1.1 x 6, the classic "six-man cap".
  cap: 6.6
Key As shipped What it does
base 0.0 DTR every team has, whatever its size
per-member 1.1 DTR added per member
cap 6.6 The ceiling whatever the size; 0 uncapped

Deaths

dtr.yml
# DTR lost per member death.
loss-per-death: 1.0

# Floor the DTR can never fall below, however many times a team dies. Must be
# zero or negative, otherwise no team could ever become raidable. A deeper floor
# means a heavily-farmed team takes proportionally longer to close its base.
minimum: -5.0
Key As shipped What it does
loss-per-death 1.0 DTR a member's death costs
minimum -5.0 The floor; zero or negative, or no team could become raidable

Regeneration

dtr.yml
regeneration:
  # DTR comes back from the moment of a death - there is no pause after one. A
  # team is raidable while its DTR is below zero, so the time a raid has is the
  # time it takes to climb back to it: with the defaults, 15 minutes from -1, 30
  # from -2.
  #
  # DTR granted per interval. 0 disables regeneration entirely - a team would
  # then only recover through a staff override.
  amount: 0.1
  # Length of one regeneration step. With the defaults, 0.1 every 90 seconds is
  # a full DTR point every 15 minutes.
  #
  # Regeneration is stepwise, not continuous: a partial interval grants nothing,
  # so what players see matches what the server advertises.
  interval-seconds: 90
Key As shipped What it does
amount 0.1 DTR given per step; 0 stops regeneration
interval-seconds 90 Length of a step, counted from the death. A partial step gives nothing

Regeneration starts at the death: a team is raidable while its DTR is below zero, so the raid lasts the climb back to zero — 15 minutes from -1 with the defaults. freeze-seconds, the pause after a death, is gone: it is reported and ignored.

Announcements

dtr.yml
announcements:
  # Tell the team how much DTR a member's death cost.
  on-death: true
  # Announce server-wide when a team becomes raidable, and when it stops being.
  on-raidable-change: true
  # How often to check for teams that regenerated back above zero.
  #
  # This only drives ANNOUNCEMENTS - never the DTR value itself, which is always
  # computed live. A slower poll makes "no longer raidable" messages less
  # punctual; it never makes protection late. Becoming raidable is caused by a
  # death and is announced immediately, whatever this value.
  poll-seconds: 60
Key As shipped What it does
on-death true Tell the team what a death cost
on-raidable-change true Announce to the server when a team becomes raidable, and protected again
poll-seconds 60 How often a return to protection is checked, for the announcement only

The whole shipped file

View it on GitHub.

dtr.yml
# ---------------------------------------------------------------------------
# HCFCore - DTR (Deaths Till Raidable) configuration
# ---------------------------------------------------------------------------
# DTR is what decides whether a team's territory is currently open to raiding.
# A team is raidable exactly while its DTR is in the negative (below 0), and
# regains its protection the moment DTR climbs back to zero - nothing is
# re-claimed, and its land never changes hands.
#
# ⚠️ DTR is DERIVED FROM TIME, not ticked by a task. What is stored per team is
# the value at its last death plus the instant regeneration resumes; the current
# figure is computed on read. One consequence to be aware of: regeneration keeps
# running while the server is down, so a team that logs off raidable can come
# back protected. That is the usual HCF behaviour.
#
# The defaults below are the long-standing HCF scale. Tune to taste.
#
# Lines "# --8<-- [start:...]" and "# --8<-- [end:...]" mark the parts the online
# documentation quotes from this file. They are comments and change nothing.
# ---------------------------------------------------------------------------

# Turning this off means no team is ever raidable: claims stay permanently
# protected, and deaths cost nothing.
enabled: true

maximum:
  # DTR every team has regardless of size.
  base: 0.0
  # DTR added per member. With the default 1.1, a solo team holds 1.1 DTR - so
  # its first death (costing 1.0) leaves it at 0.1 and still protected, and the
  # second one opens it. That asymmetry is intentional and long-standing.
  per-member: 1.1
  # Hard ceiling whatever the member count. 0 = uncapped.
  # The default 6.6 is 1.1 x 6, the classic "six-man cap".
  cap: 6.6

# DTR lost per member death.
loss-per-death: 1.0

# Floor the DTR can never fall below, however many times a team dies. Must be
# zero or negative, otherwise no team could ever become raidable. A deeper floor
# means a heavily-farmed team takes proportionally longer to close its base.
minimum: -5.0

regeneration:
  # DTR comes back from the moment of a death - there is no pause after one. A
  # team is raidable while its DTR is below zero, so the time a raid has is the
  # time it takes to climb back to it: with the defaults, 15 minutes from -1, 30
  # from -2.
  #
  # DTR granted per interval. 0 disables regeneration entirely - a team would
  # then only recover through a staff override.
  amount: 0.1
  # Length of one regeneration step. With the defaults, 0.1 every 90 seconds is
  # a full DTR point every 15 minutes.
  #
  # Regeneration is stepwise, not continuous: a partial interval grants nothing,
  # so what players see matches what the server advertises.
  interval-seconds: 90

announcements:
  # Tell the team how much DTR a member's death cost.
  on-death: true
  # Announce server-wide when a team becomes raidable, and when it stops being.
  on-raidable-change: true
  # How often to check for teams that regenerated back above zero.
  #
  # This only drives ANNOUNCEMENTS - never the DTR value itself, which is always
  # computed live. A slower poll makes "no longer raidable" messages less
  # punctual; it never makes protection late. Becoming raidable is caused by a
  # death and is announced immediately, whatever this value.
  poll-seconds: 60