ALiVE.OS · ALiVE 3 Development
Shells, rockets and bombs leave craters that stay, and the big ones dig into the ground.
New · ALiVE 3
ALiVE 3 is in active development. This briefing describes work in progress, and the behaviour it covers is subject to change as testing continues. Check the changelog at the foot of the page for what has moved recently.
Overview
Persistent Craters is a single Eden module that makes explosions leave their mark. Mortar rounds and rockets leave a scorched crater mark on the ground. Artillery shells, from 155 mm up, and bombs also lower the ground under the blast into a bowl you can take cover in. Every player sees the same craters, including players who join later, and the craters are kept over a save. Place one anywhere; it syncs to nothing.
Craters come only from rounds that really go off in the world, fired by players, AI near players, the server or a headless client. Fights between virtual (unspawned) profiles have no rounds, so they leave no craters. The module keeps places that matter clear: nothing on roads, runways, buildings, FOBs or the AI Commander's military objectives, and only a mark, never a dug crater, in towns, civilian objectives, beside a road or near a building. Once the cap is reached the oldest crater fills back in, and the ground goes back to exactly its old height.
How it works
ALiVE writes a campaign to disk when an admin uses Server Save and Exit, and every few minutes when Autosave is set. Player state can also be written on a timer of its own.
Worth knowing. Plan every restart around SERVER SAVE AND EXIT: a restart without it loses everything since the last save, apart from what Autosave or Auto Save Interval wrote. Map markers, SPOTREP, SITREP and PATROLREP reports and objects moved with player logistics are saved without anything to switch on, and so are roadblocks and outposts unless Save Roadblocks/Outposts is off. Autosave is off by default; with it on, a crash only loses what changed since the last autosave. Player FOBs keeps its own saves: every Save Interval (60 seconds by default) once something has changed, and straight away when a FOB is deployed or taken. Persistent Craters saves every Save interval (120 seconds by default) once a crater has changed, and with the autosave and SERVER SAVE AND EXIT.
Capabilities
Mortars and rockets leave a crater mark. Artillery digs a crater, and bombs dig a bigger one, half as deep again. A bigger hit on an old crater digs it deeper, never shallower. Bullets, smoke and flares never leave anything.
No crater on a road, runway, taxiway or building, within 8 m of a building, inside a FOB or in an AI Commander's military objective. Towns, civilian objectives, ground beside a road or near a building, across a trench or near sea level get a mark only.
Hits from players, the server and headless clients all count. Each crater is dug once on the server and shows for every player, including those who join after it was made.
Craters are saved through ALiVE Data when the mission has it, otherwise in the server's profile, on the save interval, with the autosave and with SERVER SAVE AND EXIT. Nothing is saved until the old craters are back in, so a slow start can't wipe them.
One player's machine can send at most 30 hits in ten seconds, and the server digs at most 8 a second; the rest wait their turn. The cap (150 by default) keeps the number of craters down, filling in the oldest first.
How to use it
Settings
These settings decide which hits leave a crater, how deep the big ones dig, how many are kept and whether they're saved.
Every hit that counts leaves a crater mark, and the terrain is left alone.
Grenade launcher rounds leave a mark too. Raise Most craters kept so they don't fill in too soon.
Craters still stay for the session, but a loaded game starts without them.
Choices: No / Yes
Writes what happens to each hit to the server's RPT, including why a hit left no crater or a mark only, and marks every crater on the map.
Choices: Grenade launchers and up / Mortars and rockets and up / Artillery and bombs only
The smallest blast that leaves anything. Bullets, smoke and flares never do.
AffectsOnly artillery and bombs dig the ground, whatever this says; smaller hits leave a mark.
When there are more than this, the oldest fill back in and the ground returns to its old height. 1 to 2000.
Choices: Yes / No
Artillery and bombs lower the ground under the blast. No leaves a crater mark only, for every hit.
How deep artillery digs. Bombs dig half as much again. 0.2 to 1.2.
AffectsShows only with Dig the ground on.
No digging this close to a building, a crater mark only. Within 8 metres there's no crater at all. 8 to 200.
Choices: Yes / No
Saves the craters with the mission and puts them back on load. Uses ALiVE Data when the mission has it, otherwise the server's profile.
Saved this often when something changed. The autosave and SERVER SAVE AND EXIT always save. 10 to 3600.
AffectsShows only with Keep craters over a save on.
Recent work
Status
Mortars and rockets leave a mark, artillery and bombs dig the ground, and a filled crater puts the ground back to exactly its old height. Tested on a dedicated server with a player and a headless client.
Craters come back the same after a restart, through ALiVE Data or the server's profile.
Fights between virtual (unspawned) profiles fire no real rounds, so they leave no craters. Only rounds that go off in the world make one.
Testing
Place one Persistent Craters module anywhere (it syncs to nothing) and set Debug to Yes, which marks every crater on the map and writes each hit to the RPT. Fire mortars or rockets at open ground for marks, then call in artillery or drop a bomb for a dug crater. Try a road, a town, a FOB and an AI Commander's military objective to see them kept clear or given a mark only. Lower Most craters kept to a handful to watch the oldest fill back in. With Keep craters over a save on, save, restart and load: the craters should come back where they were. RPT lines start with ALiVE Persistent Craters.
Spotted a problem? Please report it on the ALiVE issue tracker on GitHub, with the map, rough location and what the units were doing so it can be reproduced.
Changelog