-
Notifications
You must be signed in to change notification settings - Fork 0
Config
github-actions[bot] edited this page Aug 5, 2026
·
1 revision
Every NeroColonies setting, in config/nerocolonies.properties. The file is written on first launch
with each key at its default and a comment describing it, and it is hot-reloadable with
/neroland config reload.
Every gameplay key is server-authoritative: the server decides and clients are told. The one
exception is telemetryEnabled, which is client-local — anonymous crash reporting is a personal
opt-out that a server must never force on or off.
| Key | Type | Default | Server-authoritative | Purpose |
|---|---|---|---|---|
telemetryEnabled |
boolean | true |
no — client-local | Send anonymous, NeroColonies-only crash reports (Sentry, EU servers): stack trace, mod/MC/loader/OS/Java versions, your other installed mods, this mod's config, recent in-game actions, anonymous stability and timing data. No IP, username, UUID, world data, colony ownership or chat; file paths scrubbed of your account name. false opts out of all of it. See Telemetry and ../PRIVACY.md. Read once at bootstrap, so a change takes effect on restart. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
maxColoniesPerPlayer |
integer | 3 |
0–64 | yes | How many colonies one player may own at once. 0 disables founding new colonies. |
maxColoniesTotal |
integer | 200 |
1–10,000 | yes | Server-wide colony cap. The safety net behind the per-player cap; also bounds how much work the colony tick can ever create. |
claimRadius |
integer | 48 |
8–512 | yes | Beacon claim radius in blocks. RANGE upgrade modules add to this per colony. |
minColonySpacing |
integer | 192 |
0–8,192 | yes | Minimum distance between two colony beacons in the same dimension. A placement inside this radius is refused with a translated message rather than silently allowed. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
colonistsPerColony |
integer | 24 |
0–256 | yes | Population cap per colony. Housing capacity can never raise the roster above this. |
founderColonistCount |
integer | 2 |
0–8 | yes | Colonists that arrive with a newly placed colony beacon. They exist without housing (they are what builds the first housing) but still count toward colonistsPerColony and maxLoadedColonists. 0 disables founders, which also means autonomous construction never starts until you build housing by hand. |
maxLoadedColonists |
integer | 300 |
0–5,000 | yes | Global cap on colonist entities alive at once across all loaded colonies. |
colonyTickIntervalTicks |
integer | 100 |
20–12,000 | yes | How often a colony processes production, food and morale. Colonies are staggered across this interval so N colonies never tick on the same game tick. |
colonyTickBudgetMs |
integer | 5 |
1–200 | yes | Millisecond budget for colony processing per game tick. The remainder of a batch is deferred to the next tick rather than blowing the tick time. |
aiActiveRadius |
integer | 64 |
0–512 | yes | Distance from an owner or access-list member within which colonist AI runs at full rate. Beyond it the goal selector runs at a quarter rate and pathfinding is suspended. |
housingScanIntervalTicks |
integer | 600 |
100–24,000 | yes | How often the claim is rescanned for housing blocks to recompute capacity and comfort. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
catchUpMaxHours |
integer | 24 |
0–720 | yes | Cap on the offline window a colony catches up on when its chunk reloads. 0 disables catch-up entirely (colonies then only ever produce while loaded). |
catchUpEfficiency |
double | 0.5 |
0.0–1.0 | yes | Multiplier applied to production and consumption during offline catch-up. Below 1.0 so there is no incentive to chunk-load a planet for free yield. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
foodPerColonistPerCycle |
integer | 1 |
0–64 | yes | Food items consumed per colonist per colony tick. 0 makes colonies never hungry. |
oxygenMbPerColonistPerCycle |
integer | 20 |
0–10,000 | yes | Millibuckets of oxygen gas burnt per colonist per colony tick to hold life support. |
oxygenGeneratorEnergyPerTick |
long | 40 |
0–1,000,000 | yes | Energy per tick the colony oxygen generator draws while running. |
lifeSupportGraceTicks |
integer | 1200 |
0–72,000 | yes | How long life support stays DEGRADED before it is considered FAILED. Failure drives morale decay; it never kills a colonist. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
moraleBase |
double | 50.0 |
0–100 | yes | Morale baseline before any weighted term is applied. |
moraleWeightHousing |
double | 20.0 |
0–100 | yes | Weight of the housing-comfort term in the morale sum. |
moraleWeightFood |
double | 20.0 |
0–100 | yes | Weight of the food-stock term in the morale sum. |
moraleWeightLifeSupport |
double | 30.0 |
0–100 | yes | Weight of the life-support term in the morale sum. |
moraleWeightCrowding |
double | 15.0 |
0–100 | yes | Weight of the overcrowding penalty in the morale sum. |
moraleWeightHazard |
double | 10.0 |
0–100 | yes | Weight of the planet-hazard penalty in the morale sum. Only ever non-zero when a planet mod is installed and reports a hazardous planet. |
moraleChangeRate |
double | 2.0 |
0.01–100 | yes | Points morale moves toward its target per colony tick. Morale is never snapped. |
moraleWorkStopThreshold |
double | 20.0 |
0–100 | yes | Below this morale jobs halt and colonists idle. Colonists are never deleted. |
moraleMinMultiplier |
double | 0.25 |
0.0–1.0 | yes | Output multiplier floor at zero morale. Production is a curve down to this, not a cliff. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
jobSlotsPerColony |
integer | 4 |
0–64 | yes | Base number of simultaneously worked job slots per colony. Research raises it. |
jobBaseRateMultiplier |
double | 1.0 |
0–100 | yes | Global scalar on every job's production rate. |
exportBufferSlots |
integer | 18 |
1–54 | yes | Slots in the beacon's export buffer. Overflow blocks further export production rather than voiding items. |
exportValueMultiplier |
double | 1.0 |
0–1,000 | yes | Scalar on the credits paid when an export entry is sold. |
See Construction for what these actually govern.
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
constructionEnabled |
boolean | true |
— | yes | Whether colonies build their own structures from the datapack blueprints. false leaves every structure to the player; nothing else changes. |
constructionBlocksPerCycle |
integer | 2 |
0–64 | yes | Blocks a colony may place per colony tick while building. Deliberately small: a colony growing visibly over minutes reads as a colony, one that snaps into existence reads as a command block. |
constructionUnsuppliedFactor |
double | 0.25 |
0.0–1.0 | yes | Build-rate multiplier while a structure's materials are not in colony storage — the colonists fabricate from scrap instead, for free but slowly. Put the materials in storage and the same build runs at full speed. 0 means an unsupplied colony never builds at all. |
constructionRequiresColonist |
boolean | true |
— | yes | Whether a colony needs at least one living colonist to build. This is a roster check, not a proximity one: block placement is colony-tick logic and never depends on a colonist actually reaching the site. |
maxAutoStructures |
integer | 12 |
0–128 | yes | Total structures one colony may build for itself. Each blueprint also carries its own smaller max; this is the ceiling over all of them. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
outpostsPerColony |
integer | 4 |
0–64 | yes | How many outposts one colony may parent. |
outpostClaimRadius |
integer | 16 |
4–256 | yes | Claim radius of an outpost beacon. |
outpostColonistCap |
integer | 2 |
0–64 | yes | Colonists an outpost may hold. |
outpostJobSlots |
integer | 1 |
0–16 | yes | Job slots an outpost may work. |
outpostMaxDistance |
integer | 512 |
16–16,384 | yes | Maximum distance between an outpost and its parent colony, same dimension only. |
| Key | Type | Default | Range | Server-authoritative | Purpose |
|---|---|---|---|---|---|
accessLogEnabled |
boolean | false |
— | yes |
Off by default. When on, a colony records {player UUID, action, timestamp} rows for administrative review — never chat, never IP, never coordinates. Rows expire after accessLogRetentionDays. See ../PRIVACY.md. |
accessLogRetentionDays |
integer | 7 |
1–365 | yes | How long an access-log row is kept before the retention sweep deletes it. |
erasureOwnedColonyPolicy |
string | transfer_to_server |
transfer_to_server / dissolve
|
yes | What happens to colonies owned by a player who requests erasure: transfer_to_server (the colony keeps running, ownerless — a co-op server is not griefed) or dissolve (the colony record is deleted). |
| Key | Type | Default | Server-authoritative | Purpose |
|---|---|---|---|---|
gateWritesEnabled |
boolean | true |
yes | Whether founding a colony opens Core's first_colony progression gate. NeroColonies never requires a gate to be open; this only controls the write. |
thresholdEventsEnabled |
boolean | true |
yes | Whether colony food, oxygen, morale and structure-completion threshold crossings are published on Core's event bus for other mods. Scope is a colony id, never a person. |
linkModuleEnabled |
boolean | true |
yes | Whether the NeroLink companion module is registered. Snapshots are per-player scoped and never enumerate other players. |
- Admin guide — which of these to reach for, and when
- Construction — founders and the autonomous build loop
- Colony basics — what the claim, morale and catch-up keys actually govern
- Data storage — the privacy keys in practice
-
Telemetry —
telemetryEnabled