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¶
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