Warring NationsWarring Nations MC 1.21.1.NEOFORGE.JAVA 21
Wiki/Reference/Configuration: Core

Configuration: Core

The complete, exhaustive key-by-key reference for the base Warring Nations mod's server config: every dotted path, its shipped default, and what it actually does today, grouped exactly as the TOML groups it.

SERVER ADMINSMODPACK DEVS

Config File Location

Warring Nations' server-side settings live in one generated file, built from a NeoForge ModConfigSpec. Every key below is grouped exactly as the TOML groups it (a section header per push/pop block), with the dotted path you'd use with the in-game admin command, its shipped default, and what it actually does today.

Config file path

config/warring-nations/wn-core-server.toml

This page is the canonical, exhaustive reference. Some entries below explicitly note a key is currently inert (superseded by the composable war-preset file system under config/warringnations/war_types/, kept only for old configs). Those are called out inline so you don't spend time tuning a knob that no longer does anything.

Editing Config Live: /config

The /config command reads and writes this same config spec by dotted path, so in-game changes and hand-edits to the TOML stay in sync without a restart. It's one of the standalone admin-only roots, so it prepends wn too if commandNamespacePrefixEnabled is on (e.g. /wn config get <path>).

Subcommand
What it does
/config get <path>
Prints the current value at a dotted path (e.g. war.declarationCooldownTicks).
/config set <path> <value>
Parses the value into the key's real type, validates it against the key's own bound (e.g. a min/max range), and if valid applies it and persists it to disk immediately, no restart needed. Rejects with a human-readable error on an unknown path or an out-of-range value.
/config list [sectionFilter]
Lists every path/value pair whose path starts with the given section (case-insensitive; blank lists everything), sorted by path. Tab-completion on the path argument works off this same live list.
/config check
Runs the config contradiction check and reports any contradictory-but-individually-valid combinations found in the current config.
/reload
Forces every config value to re-read from the currently-loaded config. NeoForge already watches the on-disk TOML and reloads it automatically on change; this is a defensive cache-clear plus confirmation for an admin who wants to be sure without grepping the log or restarting.

/config's leaves require the ADMIN_CONFIG permission node; /reload is a separate standalone root requiring ADMIN_RELOAD.

Config Check: Contradiction Warnings

The config check is a pure, read-only check, it never mutates or rejects a config, only surfaces warnings (on boot, and via /config check) for combinations that are each individually valid but contradictory or silently inert together.

CURRENT CONTRADICTION CHECKS

claims.claimsPerMemberBase greater than claims.claimsPerMemberMax: every nation's base claim allowance already exceeds its hard cap.

claims.soloClaimCap greater than claims.claimsPerMemberMax: a solo player could hold more claims than a full nation is ever allowed to.

war.minClaimsToDeclareWar greater than claims.claimsPerMemberMax: no nation can ever reach enough claims to declare war.

With economy.economyEnabled = false: any of economy.warDeclarationCost, economy.claimUpkeepPerChunkPerDay, koth.kothRewardAmount, economy.treasurySeizurePercent, or economy.treasuryDepositCurrencyPerXp set above 0, each has no effect while the economy layer is off.

koth.kothRewardAmount set above 0 while koth.kothEnabled = false: no round can ever run, so it has no effect.

capitals.capitalCaptureEndsWar = true while capitals.capitalsEnabled = false: no nation can designate a capital, so no capital can ever fall and the setting has no effect.

war.requireWarApproval = true while war.warDeclarationsEnabled = false: declarations are already blocked outright, so there is nothing to approve.

Claims

Section [claims]. Controls how many chunks a nation or solo player may claim and how forceloading is bounded.

Key
Default
What it does
claims.claimsPerMemberBase
8
Base claims per member. Range 1-512.
claims.claimsPerMemberMax
64
Hard cap on total claims per nation. Range 1-4096.
claims.soloClaimCap
1
Claim cap for a player who hasn't joined or founded a nation. Range 0-4096.
claims.requireContiguousClaims
false
Require voluntary claims to border your nation's existing territory in the same dimension (anti-grief).
claims.maxForceLoadedChunksPerNation
3
How many of a nation's own claimed chunks may be force-loaded (kept ticking with nobody nearby) at once. A real ongoing server-performance cost, so kept small. Range 0-4096.
claims.excludedDimensions
[]
Dimension IDs (e.g. "vaultmc:the_vault") where no chunk can ever be claimed by any nation, and so is never contested by any war either. Empty by default.

War

Section [war]. Declaration gates, cooldowns, the legacy war-model knobs, and approval/vote requirements. Several keys here are marked inert because they've been superseded by per-war-preset preset files.

Key
Default
What it does
war.declarationCooldownTicks
2400
Ticks between war declaration and war start (2400 = 2 min). Range 0-2147483647.
war.endCooldownTicks
144000
Ticks until a war times out (144000 = 2 hours). Range 1-2147483647.
war.minMembersToDeclarWar
1
Minimum members a nation must have to declare war. Range 1-100.
war.warModel
"CHUNK_CAPTURE"
War model: CHUNK_CAPTURE, ATTRITION, SIEGE, OBJECTIVES, NEGOTIATED, CONQUEST.
war.warScoreToWin
100
Score threshold to win a war (CHUNK_CAPTURE, ATTRITION, OBJECTIVES). Range 1-10000.
war.captureTicksBase
200
Ticks required to capture one chunk. Currently inert, every composable war preset (including chunk_capture) reads its own captureTicksBase from its war-preset preset file instead. Kept for old configs; edit the war-preset JSON to actually change capture speed. Range 1-72000.
war.siegeHoldTicks
12000
Ticks attacker must hold defender home to win a SIEGE war. Currently inert, the SIEGE war model runs through the composable breach war-preset preset, which uses its own keepHoldTicks formula instead. Range 1-2147483647.
war.attritionPointsPerTick
1
War-score points per enemy-owned chunk a side has presence in, per scoring interval (ATTRITION, NEGOTIATED). Currently inert, both war models run through composable engines with their own formula-driven scoring instead. Range 0-10000.
war.attritionScoreIntervalTicks
20
How often, in ticks, the legacy (pre-composable) ATTRITION/NEGOTIATED war engine re-scores presence. Currently inert, that legacy engine no longer runs; the composable war-preset-file system exposes the same idea per-type via its own formula instead. Range 1-2147483647.
war.maxConcurrentWarsPerNation
3
Maximum simultaneous active wars per nation. Range 1-100.
war.minClaimsToDeclareWar
0
Minimum claimed chunks a nation must own to declare war. Range 0-4096.
war.warDeclarationsEnabled
true
Master switch: false blocks /war declare and declare-as outright, before any other gate. Nations, claims, and diplomacy keep working; only starting a war is disabled.
war.warSizeParityMinRatio
0.0
Blocks a declaration when the declarer's member count is more than this many times the target's. 0 disables the check. Range 0.0-1000.0.
war.requireWarApproval
true
Require staff to approve war declarations (/war approve <attacker>) before the countdown starts.
war.requireNationApproval
true
Require staff to approve nation creation (/nation approve <player>) before the nation is founded.
war.requireLinkedAccountForNationCreation
true
Require the founder to already have a linked Discord account (wn-discord's /account link) before founding a nation. Only has an effect while wn-discord is installed and connected; a server without it sees no behavior change regardless of this value.
war.requireBannerApproval
true
Require staff to approve a nation's custom-painted banner (/banner approve <nation>) before it replaces the current one.
war.suppressFtbCommands
false
Strip FTB Teams' and FTB Chunks' own top-level commands once they finish registering, since those mods' own commands let a player found a team or claim/unclaim land straight through them, bypassing every WN gate. Safe to enable: WN's own FTB integration talks to FTB Teams'/FTB Chunks' Java API directly, never through their commands. Off by default.
war.offlineRaidProtectionTicks
0
Grace window, in ticks, during which a nation with no member online anywhere is immune to every composable war engine's capture progress. Measured from the last member's most recent login/logout. 0 disables it.
war.warVoteQuorumPercent
50.0
Percent of a nation's members who must vote before a war-declaration vote can resolve, for nations with warVoteRequired on. Range 0.0-100.0.
war.warVoteApprovalPercent
50.0
Percent of CAST votes that must be yes for a war-declaration vote to pass once quorum is met. Range 0.0-100.0.
war.warVoteTimeoutTicks
6000
Ticks a live war-declaration vote stays open before it's tallied on whatever turnout it has (6000 = 5 min). Range 20-2147483647.

Season

Section [season]. Automatic seasonal wipes and leaderboard size.

Key
Default
What it does
season.seasonLengthTicks
0
Ticks between automatic seasonal wipes (releases every nation's claims, zeroes treasury, resets progression, archives a leaderboard first). 0 disables automatic seasons; /season wipe always works regardless.
season.seasonLeaderboardSize
10
How many top nations (by claim count) are captured in each archived season's leaderboard. Range 0-1000.

Outcome

Section [outcome]. Both keys here are currently inert legacy knobs, superseded by war-preset presets.

Key
Default
What it does
outcome.annexPercent
50
Percent of loser claims annexed by winner on a decisive win. Currently inert, annexation is now decided per composable war-preset preset (each war preset's own annex terms) instead of this one global percent. Range 0-100.
outcome.postWarProtectionTicks
6000
Ticks of re-declaration immunity granted to the loser after a war. Currently inert, nothing in the composable war engine reads it; war.offlineRaidProtectionTicks is the setting that actually shields a recently-warred nation today.

Combat

Section [combat]. Friendly fire, environment protection, and the legacy CONQUEST scoring base.

Key
Default
What it does
combat.allowFriendlyFire
false
Whether allied nation members can damage each other.
combat.claimEnvironmentProtection
true
Shield claimed land from explosions, cross-border pistons, mob block-breaking and trampling.
combat.conquestScoreBase
20
CONQUEST base score; attacker win threshold = this times defender tier weight, points per capture = attacker tier weight. Currently inert, CONQUEST runs through the composable war-preset-file system, which reads its own scoreLimit/tier formulas from its preset file instead. Range 1-100000.

Territory

Section [territory]. Home teleport channeling and home-claim capture protection.

Key
Default
What it does
territory.chunkStrengthDecayRate
0.01
Strength decay rate per tick for unclaimed/inactive chunks. Currently inert, reserved for a chunk-strength mechanic that hasn't been built yet. Range 0.0-1.0.
territory.homeTeleportChannelTicks
100
Ticks a nation-home "Go Home" teleport channels for before completing; cancelled by damage or movement (100 = 5s). 0 disables the channel (instant teleport). Range 0-72000.
territory.protectHomeClaimFromCapture
false
Excludes a nation's home claim entirely from chunk_capture/conquest/objectives capture (NOT breach, whose keep IS the point of that war-preset preset).

KOTH

Section [koth]. King of the Hill contested sites and payouts.

Key
Default
What it does
koth.kothRewardAmount
0
Currency paid to the winning nation's treasury when a recurring KOTH round (/koth) ends. 0 = no payout, round still runs.
koth.kothEnabled
true
Master switch for King of the Hill: recurring, admin-defined contested sites (/koth create|delete|list) that award kothRewardAmount to whichever nation holds the most cumulative member-presence when a round ends. When false, every /koth subcommand refuses with a "disabled on this server" message and no round ever starts.

Display

Section [display]. Nation tag rendering, rank tags, and cape display.

Key
Default
What it does
display.showRankTag
true
Show the player's rank, from an external rank-provider mod (LuckPerms), as its own bracketed segment next to the nation tag in chat/tab list. No effect if no supported rank-provider mod is installed.
display.nationTagAsSuffix
false
Render the nation tag after the player's name instead of before it.
display.nationCapesEnabled
false
Render every nation member's banner design as their in-world cape. Server-controlled: overrides each member's own client-side cape toggle. Players with no nation, or whose nation has no banner design, are unaffected.
display.nationCapesWarOnly
false
Narrows nationCapesEnabled to wartime: members wear the nation cape only while their nation is in an ongoing war. Inert unless nationCapesEnabled is true.

Economy

Section [economy]. Treasury deposits, war costs, upkeep, XP, and protected-asset limits.

Key
Default
What it does
economy.economyEnabled
true
Master switch for treasury/economy features: nation treasury deposit/withdraw, war declaration cost, claim upkeep, and negotiated-peace reparations/tribute/vassalage/DMZ. Cession and white peace stay available either way.
economy.economyProviderId
"auto"
Which installed economy/banking mod backs nation treasuries when more than one is present, e.g. "ubs". "auto" (default) uses whichever one the loader detects first.
economy.claimXpPerChunk
10
Nation XP awarded per net-new claimed chunk (drives leveling). Range 0-100000.
economy.warWinXp
100
Nation XP awarded to the winner of a decisively-won war. 0 disables it. Range 0-100000.
economy.treasuryDepositCurrencyPerXp
500
Currency a member must deposit into the nation treasury per 1 nation XP. Counted against the treasury's all-time high, so deposit/withdraw cycling earns nothing. 0 disables it.
economy.diplomacyMilestoneXp
50
One-time nation XP for each diplomacy milestone: the nation's first alliance, and its first non-aggression pact. 0 disables it. Range 0-100000.
economy.warDeclarationCost
0
Treasury cost to declare a war; the declaration is refused if the nation can't afford it. 0 disables the cost.
economy.claimUpkeepPerChunkPerDay
0
Treasury upkeep charged per claimed chunk, once per in-game day, to every nation holding claims. Never puts a nation in debt. 0 disables upkeep.
economy.maxProtectedAssetsPerNation
5
How many chunks a nation may flag as protected critical infrastructure at once (/protect, /unprotect). Range 0-4096.
economy.treasurySeizurePercent
0
Percent of the loser's treasury seized by the winner when any composable war ends decisively. 0 disables it. Range 0-100.

Negotiated

Section [negotiated]. Budget and leverage tuning for the negotiated-peace war preset: cession, reparations, tribute, vassalage, DMZ, and ultimatums.

Key
Default
What it does
negotiated.leverageNormalizer
40
Score-margin denominator for negotiated-peace dominance; a margin below this reads as a skirmish, not domination. Range 1-2147483647.
negotiated.maxLeverageBudget
100
Negotiating budget a side has at full (1.0) war-score dominance. Range 0-1000000.
negotiated.leverageSlack
1.15
Multiplier on entitlement before a peace offer is rejected as unaffordable, allowing a small over-ask. Range 1.0-10.0.
negotiated.cessionWeight
3.0
Budget cost per percentage point of claims ceded in a peace offer. Range 0.0-1000.0.
negotiated.reparationWeight
0.6
Budget cost per percentage point of treasury demanded as reparations in a peace offer. Range 0.0-1000.0.
negotiated.tributeWeight
25.0
Flat budget cost to attach recurring tribute to a peace offer. Range 0.0-1000.0.
negotiated.vassalageWeight
60.0
Flat budget cost to force vassalage in a peace offer. Range 0.0-1000.0.
negotiated.dmzWeight
1.5
Budget cost per percentage point of claims placed under a DMZ in a peace offer. Range 0.0-1000.0.
negotiated.vassalageDominanceFloor
0.75
Minimum dominance (0.0-1.0) required to force vassalage at all, on top of its budget cost.
negotiated.tributeIntervalTicks
24000
How often an active tribute obligation is charged.
negotiated.tributeDurationTicks
168000
How long a tribute obligation lasts once imposed.
negotiated.vassalageDurationTicks
168000
How long an imposed vassalage lasts, blocking the vassal from declaring war on its overlord.
negotiated.dmzDurationTicks
72000
How long an established DMZ blocks capture/annexation of its chunks.
negotiated.ultimatumThreshold
0.6
Minimum self-dominance (0.0-1.0) required to issue an ultimatum.
negotiated.ultimatumGraceTicks
2400
How long the responder has to accept a live ultimatum before it auto-resolves. Range 1-2147483647.
negotiated.peaceNegotiationTicks
6000
How long a live peace offer with no ultimatum stands before the war auto-resolves it. Range 1-2147483647.
negotiated.autoResolveDominanceThreshold
0.5
Minimum absolute dominance for auto-resolution's dominance-based default terms; below this it's white peace instead. Range 0.0-1.0.
negotiated.mediationOverreach
1.30
Slack multiplier a mediator's proposal may exceed either side's own entitlement by. Range 1.0-10.0.

History

Section [history]. All keys here are pure history/bookkeeping bounds, no gameplay effect, only memory/save-file growth and lookback-window length.

Key
Default
What it does
history.warHistoryMaxEntries
100
Hard cap on retained concluded-war records server-wide, oldest evicted first. Bounds the /war history lookback window. Range 1-1000000.
history.diplomacyHistoryMaxEntries
100
Hard cap on retained diplomatic-relation-change records server-wide, oldest evicted first.
history.nationLogMaxEntries
50
Hard cap on retained governance/membership log entries per nation, oldest evicted first.
history.nationHistoryMaxEntriesPerNation
2880
Hard cap on retained nation-size snapshots per nation, recorded roughly once an hour, oldest evicted first. Feeds the wn-discord growth-over-time graph command. Default is roughly 120 days at the recorder's 1-hour cadence.
history.warBetHistoryMaxEntriesPerPlayer
50
Hard cap on retained resolved-bet records per player, oldest evicted first. Feeds the wn-discord bet-history command.
history.claimReleaseChunksPerTick
5
How many pending chunk-unclaims are drained per server tick (e.g. when a large nation disbands or a season wipe releases every claim at once). Higher finishes a mass release faster at the cost of more work per tick. Range 1-100000.

Commands

Section [commands]. Single knob controlling the shared /wn command namespace prefix.

Key
Default
What it does
commands.commandNamespacePrefixEnabled
false
Nest every WN command under a shared /wn root (e.g. /wn nation, /wn war end) instead of registering bare top-level commands (/nation, /war end). Enable this if another installed mod's command already claims one of WN's bare names. Requires a server restart (or a vanilla /reload) to take effect.

Immersion

Section [immersion]. Optional physical/in-world alternatives to typed commands: books, banners, and goat horns.

Key
Default
What it does
immersion.bookApplicationsEnabled
false
Right-clicking a signed written book titled "Join: <Nation>" submits a /nation apply <Nation> application, as a physical/in-world alternative to typing the command.
immersion.bannerClaimingEnabled
false
Shift-right-clicking a placed banner claims the player's current chunk for their nation (same rules as /nation claim); right-clicking a placed banner with flint and steel unclaims it.
immersion.nationBannerWorldPresenceEnabled
false
A nation's painted banner design is rendered on real banner blocks in the world: any banner with no loom patterns of its own, standing in a chunk claimed by a nation that has painted a custom banner, flies that nation's design instead of plain dyed cloth. Purely visual and entirely client-side.
immersion.goatHornWarDeclarationEnabled
false
Right-clicking a placed banner with a goat horn declares war on the nation owning the nearest claimed chunk within goatHornWarDeclarationRadiusChunks of the banner.
immersion.goatHornWarDeclarationRadiusChunks
3
Search radius, in chunks, goatHornWarDeclarationEnabled scans around the banner for the nearest foreign claim. Range 1-64.

LuckPerms

Section [luckperms]. LuckPerms group sync, plus two cosmetic war/nation toggles that live in the same section.

Key
Default
What it does
luckperms.syncLuckPermsGroups
false
Auto-manage a LuckPerms group per nation (wn_nation_<id>): created on nation creation, its prefix kept in sync with the nation's name, membership kept in sync with the nation's roster, and cleared (not deleted) when the nation disbands. No effect if LuckPerms isn't installed.
luckperms.warSoundEffectsEnabled
true
Play a handful of vanilla sound effects for key war/nation moments (war declared, a chunk capture crossing a 25/50/75% milestone, a nation disbanding). Purely cosmetic audio.
luckperms.warKillAnnouncementsEnabled
true
Broadcast a chat line (scoped to the two belligerent nations) whenever a kill happens during an active war, plus a personal running-total line to killer and victim. Lifetime kill/death/war-win counters (/war stats) keep tracking either way.

Capitals

Section [capitals]. Optional nation capital designation, income, and capital-loss capitulation.

Key
Default
What it does
capitals.capitalsEnabled
false
Master switch for nation capitals: a named, leader-designated seat pinned to one of the nation's own claimed chunks (/nation capital set <name>). When false, every /nation capital subcommand refuses with a "disabled on this server" message.
capitals.capitalMoveCooldownMinutes
720
How long, in wall-clock minutes, a nation must wait between moving its capital from one chunk to another. A nation's first designation and any in-place rename are never subject to it. Default is 12 hours; 0 disables the cooldown. Range 0-525600.
capitals.capitalIncomePerDay
100
Currency deposited into the treasury of every nation that has a designated capital, once per in-game day. Inert unless capitalsEnabled AND economyEnabled are both on; 0 disables income while leaving the capital itself fully working.
capitals.capitalCaptureEndsWar
false
When true, a nation that loses its capital chunk to an enemy during a war immediately capitulates in THAT war: it ends at once as a decisive defeat, exactly as if the nation had run /war surrender. The nation itself survives, it is not disbanded. Inert unless capitalsEnabled is also on.

Bounty

Section [bounty]. Single master switch for the bounty system.

Key
Default
What it does
bounty.bountiesEnabled
true
Master switch for bounties: a nation escrows currency on a player via /bounty post, paid out of the killer's wallet on that player's next confirmed PvP death regardless of either side's nation or war status. Posting also refuses separately when economyEnabled is off (a bounty is treasury-backed escrow).

Villages

Section [villages]. Independent territorial units below the nation level, with their own claims and sieges.

Key
Default
What it does
villages.villagesEnabled
false
Master switch for villages: an independent territorial unit below the nation, with its own name, leader, roster and claimed chunks, either affiliated with a nation or fully standalone (/village create <name>).
villages.villageMaxClaims
16
Maximum chunks one village may hold. Village claims are disjoint from nation claims. 0 means unlimited. Range 0-4096.
villages.villageSiegeSeconds
300
Seconds of sustained, outnumbering enemy presence inside a village's chunks needed to capture it. A standalone village may be besieged by any nation; a nation-affiliated one only by a nation at war with its owner. Range 5-86400.
villages.villageSiegeImmunityMinutes
60
How long, in wall-clock minutes, a village that just changed hands in a siege cannot be besieged again. 0 disables it. Range 0-525600.
villages.villageSiegeMaxProgressPerSecond
3
Progress a single one-second siege step may add to a besieged village, however lopsided the attacker/defender headcount is. Range 1-1000.
villages.villageSiegeDecayPerSecond
1
Progress lost per second a besieged village's siege sits uncontested. 0 disables decay entirely. Range 0-1000.

Access

Section [access]. Self-service nation creation and joining, plus co-leader and application-question limits.

Key
Default
What it does
access.playerCreationEnabled
true
Master switch for player-initiated nation creation via /nation create. false blocks self-service creation outright; /nation create <nationname> <player> (admin-forced creation) is not affected.
access.joinRequestsEnabled
true
Master switch for new join requests: /nation join (instant join on an OPEN nation) and /nation apply (application on an APPLICATION nation) both refuse outright when false, on top of whatever per-nation join policy already applies.
access.maxCoLeaders
4
How many co-leaders a nation may appoint alongside its primary leader (/nation coleader add). Co-leadership grants every permission implicitly, exactly like the primary leader. Range 1-100.
access.maxApplicationQuestions
5
Maximum screening questions a nation may set for its join-application flow (/nation applyquestions). Range 0-50.

Rebellions

Section [rebellions]. Internal nation splits that immediately go to war with the origin nation.

Key
Default
What it does
rebellions.rebellionsEnabled
false
Master switch for internal rebellions: disgruntled nation members secretly organize (/rebellion create|join|abandon|info|start) to break away and found a new nation that immediately goes to war with the one they left.
rebellions.rebellionMinParticipants
2
Flat minimum participant count a rebellion needs before it's eligible to split off, regardless of the origin nation's size. Range 1-4096.
rebellions.rebellionMinParticipantFraction
0.34
Minimum fraction (0.0-1.0) of the origin nation's current member count a rebellion needs among its participants before it's eligible, on top of rebellionMinParticipants (the larger of the two applies).
rebellions.rebellionMinMinutes
10
Minimum wall-clock minutes a rebellion must exist before it's eligible to split, even once it has enough participants. Range 0-525600.

Wither Blocking

Section [witherBlocking]. Single knob to cancel newly-spawned Withers.

Key
Default
What it does
witherBlocking.blockWitherSpawns
false
Cancel newly-spawned Withers outright, before they ever join the world. Withers already present in the save are unaffected.

Raid Curfew

Section [raidCurfew]. Schedule-based daily window that blocks new declarations and reinforcements, distinct from the presence-based offline raid protection under [war].

Key
Default
What it does
raidCurfew.raidCurfewEnabled
false
Master switch: block /war declare, /war declare-as, and /war reinforce during a fixed daily time window, regardless of who is online. Distinct from war.offlineRaidProtectionTicks, which is presence-based rather than schedule-based.
raidCurfew.raidCurfewStart
"22:00"
Curfew window start, HH:mm 24-hour local time in raidCurfewTimeZone. Inert unless raidCurfewEnabled is true.
raidCurfew.raidCurfewEnd
"06:00"
Curfew window end, HH:mm 24-hour local time in raidCurfewTimeZone; may wrap midnight (e.g. start 22:00, end 06:00). Inert unless raidCurfewEnabled is true.
raidCurfew.raidCurfewTimeZone
"UTC"
IANA timezone id (e.g. "America/New_York", "UTC") the curfew window is evaluated in.

Chunk Capture

Section [chunkCapture]. Headcount-scoring filters for the composable chunk_capture war preset.

Key
Default
What it does
chunkCapture.chunkCaptureAfkThresholdSeconds
60
Seconds of no movement before a player stops contributing to composable chunk-capture headcount scoring. 0 disables the filter (every online player always counts). Range 0-86400.
chunkCapture.chunkCaptureMinY
-2147483648
Lower Y-level (inclusive) a player must be at or above to contribute to chunk-capture headcount scoring. Default is no floor.
chunkCapture.chunkCaptureMaxY
2147483647
Upper Y-level (inclusive) a player must be at or below to contribute to chunk-capture headcount scoring. Default is no ceiling.
chunkCapture.chunkCaptureGlowEnabled
true
Apply the vanilla Glowing status effect to any player currently counting toward a chunk's capture progress.

Metrics

Section [metrics]. Anonymous usage statistics reporting.

Key
Default
What it does
metrics.metricsEnabled
true
Send anonymous server/player-count usage statistics to bStats (bstats.org). Only aggregate counts are sent, never player names, UUIDs, IPs, or server addresses. This is an additional, mod-specific off switch; bStats also writes its own global opt-out file (config/bStats/config.yml) that applies to every mod on the server, independent of this setting.

Server Presets

docs/server-presets/*.toml are ready-made, partial-config snippets for server owners who want a specific feature profile without hand-tuning every individual knob. Copy the section(s) a preset contains into your generated config (merging, not overwriting the whole file), or use one as the starting config on a fresh server.

Preset
Server archetype
What it does
no-economy.toml
Any
Turns off treasury/economy features entirely (deposits/withdrawals, war declaration cost, claim upkeep, and reparations/tribute/vassalage/DMZ in negotiated peace terms). Cession, white peace, and every other war-preset preset are unaffected.
anarchy-pvp.toml
Anarchy servers, classic raiding Factions
No approval gates, no cooldowns, no post-war protection, no environment protection, no economy. War is unmoderated by design.
competitive-factions.toml
OP-Factions / KOTH networks
Fast pacing, many simultaneous wars, claim upkeep to discourage dead-faction squatting, environment protection off for cannon-based raiding, offline raid protection, and a biweekly seasonal wipe with an archived leaderboard.
civ-diplomacy.toml
Civ-lineage and geography-mapped nation servers (EarthMC-style)
Contiguous, large territories; long deliberation windows on peace offers; durable tribute/vassalage/DMZ terms; moderate annexation. Built around the negotiated war-preset preset.
roleplay-curated.toml
Staff-curated Factions/Kingdoms roleplay
Full approval gates, low annexation, long post-war protection, a size-parity check against empire-vs-guild mismatches, builds protected from war damage.
cooperative-no-war.toml
Content-creator/friend-group SMPs, kitchen-sink modpack servers
War declarations disabled entirely (warDeclarationsEnabled = false) while nations/claims/diplomacy/treasury stay usable for group organization.
i
no-economy.toml is the odd one out. A single-purpose toggle that composes with any of the five archetype presets above it (e.g. run civ-diplomacy.toml together with no-economy.toml's economyEnabled = false if you want the diplomacy without the currency layer). Every preset is opinionated and partial; adjust to taste.

Other features are already a single existing config value rather than needing their own preset: protected critical infrastructure trims to maxProtectedAssetsPerNation = 0 under [economy]; an individual war-preset preset is disabled by not advertising it or by overriding its bundled file under config/warringnations/war_types/; recurring KOTH events stay dormant until at least one site is defined with /koth create; seasonal wipes/rewards and bounties are opt-in already (seasonLengthTicks and kothRewardAmount default to 0).