Skip to content

Server Configuration

messire edited this page Sep 26, 2026 · 5 revisions

The per-world server configuration is stored at:

world/serverconfig/siegeworks-server.toml

Durations are measured in ticks; Minecraft runs at 20 ticks per second.

Engine movement

Every engine has an [engines.<id>.movement] section.

Key Meaning
playerSpeed Maximum forward speed under direct control.
horseSpeed Maximum forward speed while towed.
playerAcceleration / horseAcceleration Speed gained per tick.
playerDeceleration / horseDeceleration Speed lost per tick after input stops.
reverseSpeedMultiplier Reverse maximum as a fraction of forward speed.
playerTurnDegreesPerTick / horseTurnDegreesPerTick Steering rate for direct and towed movement.

A speed or matching turn value of zero makes that movement mode stationary.

Engine ID Player speed Towed speed Recovery ticks
culverin 0.065 0.23 75
serpentine 0.045 0.19 105
mons_meg 0.018 0.11 600
tower_crossbow 0 0 95
arcballista 0.075 0.21 48
mangonel 0.055 0.17 10
trebuchet 0 0 60
battering_ram 0.03 0.09 80
mantlet 0.085 0.21 0
siege_tower 0.022 0.12 0
siege_ladder 0 0 0
hwacha 0.055 0.19 100

Recovery is configured under [engines.<id>.operation] and blocks another loading or activation cycle until it ends.

Loading durations

Timed loading stages are under [engines.<id>.operation.loading]. Only stages used by that machine are present, for example powderTicks, ramChargeTicks, ammunitionTicks, ramProjectileTicks, primingTicks, boltTicks, stoneTicks, fireProjectileTicks, rocketTicks and windingTicks.

Changing a winding duration also changes the speed of the corresponding reload animation.

Siege tower crew

[engines.siege_tower.crew] contains:

Key Default Meaning
minimumCrew 2 Active driver/pushers required before the tower can move.
fullSpeedCrew 6 Crew size that reaches configured movement speed.
minimumCrewSpeedMultiplier 0.30 Speed fraction available at minimum crew.

Global rules

  • [rules.deploymentLimits] sets a per-scoreboard-team limit for each engine. 0 means unlimited; players without a team are counted separately.
  • [movement].geometryTerrainCollision selects model-geometry terrain collision for moving machines. It defaults to true.
  • [performance.blockDebris] controls physical flying debris without changing projectile damage or block destruction. The shared default limit is 32 debris entities per world tick.
  • [integrations.recruits].maxFireZoneRadius limits map-selected artillery zones and defaults to 64 blocks.

Clone this wiki locally