Skip to main content

Rules at a glance

Timing

RuleValue
Global command window15 seconds
Resource replenishmentevery 4 resolved Ticks (about 1 minute)
Core migration4 logical Ticks per cell
Core respawn attemptsame Tick as destruction
WebSocket Ping interval20 seconds
WebSocket Pong timeout60 seconds
Credential revalidationapproximately 5 seconds
Recommended reconnect backoff250 ms → 5 seconds, with jitter

Core

AttributeValue
HP5
Shield5
Shield cap with Beacon10
Vision5
Starting resources5
Starting Workers1
Resource capacitymax(10, population × 5)
HP recovery1 resource → 1 HP, after combat
Shield repair1 resource → 1 shield

Units

UnitHPVisionBase priceDamage / range
Worker235none
Vanguard44101 to adjacent target cell
Ranger25121 at eight-direction range 1-3

World

RuleValue
Cell capacity2 occupying entities
Terrain kindsEMPTY, RESOURCE, OBSTACLE
Chunk size32×32
Central chunk ringthe 2×2 chunks with cx, cy ∈ {-1, 0}
Resource quotamax(2, floor(16 × 8 / (8 + ring))) per chunk
Spawn distance from nearest active Core20-30
Coordinate typesigned int64 [x, y]
Beacon start[0, 0]

Economy

axis(c) = c if c >= 0 else -c - 1
ring = axis(cx) + axis(cy)
resource_quota = max(2, floor(16 * 8 / (8 + ring)))

One point yields 1 resource to a normal Worker or 2 to a Beacon player's Worker. Either harvest consumes exactly one point. A same-point tie goes to the lowest eligible Worker UUID.

A dead Worker drops its complete cargo amount on its final cell. Recovery takes 1 resource normally or up to 2 with the Beacon, never more than the pile holds. Cargo piles do not count toward the chunk's natural-resource quota.

population = Worker + Vanguard + Ranger
resource_capacity = max(10, population × 5)
k = max(0, floor((population - 20) / 5) + 1)
unit_price = round_half_up(base_price × (13 / 10)^k)

Deposits move only what fits. If population falls, stored resources above the new capacity are destroyed immediately.

There is no per-Tick maintenance charge. The dynamic price uses the living population after same-Tick Unit self-destruction and combat deaths. The exact fraction is rounded once at the end, with halves rounded upward. The initial and respawn Worker are free.

Combat-destroyed Core inventory goes to the player who dealt the most damage to that Core during the Tick, up to this capacity. Ties use raw player UUID order; overflow is destroyed, and all loot is destroyed if the winner's Core also dies.

Population before spawnWorkerVanguardRanger
0-1951012
20-2471316
25-2981720
30-34112226
100-1044338651,038

Commands

LimitValue
Idempotency key8-128 visible ASCII bytes
New submissions per (player, tick, source)64
Concurrent command bodies per credential kind4
WebSocket inbound frame limit1024 bytes
WebSocket messagestick, state, received
Command sourcesAGENT, MANUAL