HomeALiVE 3Docs
Menu
Donate

ALiVE.OS · ALiVE 3 Development

Persistence

Saves mission state to a database so a campaign can pick up where it left off, and powers the stats and performance tracking other modules rely on.

In development · 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.

On this page

Overview

What Persistence does

This is the ALiVE Data module. Placing it in the editor turns on the plumbing that lets a mission remember itself between sessions: mission time, spawned roadblocks and outposts, and the persistence dictionary that other ALiVE modules (like the population and OPCOM systems) use to store their own state. It also underpins War Room statistics, after action review (AAR) tracking, and server performance monitoring, so most missions will want exactly one of these modules present even if persistence itself is switched off.

Mission makers choose a Database Source, then pick which pieces of mission state get saved: mission date and time, spawned compositions such as checkpoints and camps, and an optional chat kill feed. Respawn tickets and any values the mission stores itself are saved with every save. The server can also save on a timer, with the Autosave (min) setting. Local is the default and the one to use. The Cloud source is discontinued and the old War Room service it fed is gone, so an older mission still set to Cloud saves nothing until you switch it. Every save is kept per mission and per map, so a copy of a mission on another map runs its own campaign. When a mission maker or server admin needs to start fresh, an in-game admin menu can clear the current mission's whole campaign, clear only its saved vehicles and buildings, or wipe all saved ALiVE data.

How it works

What gets saved, and when

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.

  1. Set upPlace ALiVE Data and leave Database Source on Local. Cloud is the old War Room service, which is offline, so with Cloud nothing is saved. Set Persistent to Yes on each module whose state you want kept: ALiVE Virtual AI System, Military AI Commander, Military Air Component Commander, Military Logistics, Military Close Quarters Battle, Military IED Threat (Persist IEDs) and Player Command/Control (C2ISTAR) (Persistent Tasks). All of them start at No. Player FOBs is the exception: its Persistent starts at Yes, and without ALiVE Data it saves to the server's profile instead. Persistent Craters works the same way: its Keep craters over a save starts at Yes. For players, place ALiVE Player Options and set Save to Database to Yes. Persist By there picks who the save follows: Player (the default) or Slot.
  2. Where it goesInto the Arma 3 profile of the machine running the mission: the dedicated server, the host, or your own PC in singleplayer. Each save is named after the mission and the map, so a copy on another map starts a campaign of its own.
  3. While you playEach player's kit, health, position and score are copied into the server's memory every 5 minutes and when they leave. With Save to Database on and ALiVE Data on Local, Auto Save Interval also writes players to disk. With Autosave set on ALiVE Data, the whole campaign is written as well, every 5, 10, 15, 30 or 60 minutes, the same as Server Save and Exit writes it, and the mission carries on. It needs Database Source on Local.
  4. SavingAn admin, or a player whose Steam UID is in Save Server Allowlist on ALiVE Data, picks SERVER SAVE AND EXIT (Admin Only) in the Esc menu, or ALiVE SAVE (Single Player) in singleplayer. Everyone else is saved and sent out first, then the save is written and the mission ends.
  5. What it writesPlayers (with the AI they recruited, which can still be dismissed after a load), the virtual forces, the commanders (with their minefields and high value target), IEDs, CQB and Military Logistics where Persistent is on; the air commander's aircraft and the tasks players made in C2ISTAR, which only load back where Persistent is on; moved objects, and vehicles bought at a Recruitment point where Player Logistics is placed, which keep their buyer and can still be dismissed; markers and reports; roadblocks and outposts; and the date with Save Mission Time on.
  6. Anything else saves nothingA mission that ends on a trigger, a win or a loss, or a server that's shut down, writes nothing more than the last save. Player Exit only updates that one player in the server's memory.
  7. Next startEach module with Persistent on loads its own save. The virtual forces come from the save instead of the placement modules, so placement modules you've added or changed since don't add any troops until you start a fresh save. Players get their saved state once the server has finished loading, matched by Steam ID by default. With Persist By set to Slot, the state belongs to the unit's Eden variable name instead, so whoever takes that slot gets its kit, position, vehicle and health; name, face, rank and scores stay out of it. A slot with no variable name falls back to the player's ID. Saved markers and reports show for every player once their side is known.
  8. Starting overAs admin, open the ALiVE menu and go to Module Settings, then Persistent Data. Clear Current Mission's Data removes this mission's save on this map, and Wipe ALL ALiVE Data removes every mission's.

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

What it handles

Storage source

Local save, or the discontinued Cloud

Local stores the save on the machine and is the default. Cloud is discontinued now that the old War Room is gone, so an older mission still set to Cloud saves nothing until you switch it to Local.

Mission time

Save mission date and time

Optionally saves the in-game date and time so a reloaded mission resumes at the same moment it was left, rather than restarting from the mission's default time.

Compositions

Save roadblocks and outposts

Optionally saves any compositions spawned during play, such as checkpoints and camps, and respawns them automatically when the mission is loaded again.

Autosave

Save on a timer

Type a number of minutes into Autosave (min) and the server saves the AI forces, objectives, players and the air commander by itself at that interval, the same as Save and Exit. It's off by default, and it needs Local storage on a dedicated or hosted server. No line in initServer.sqf is needed any more.

Tickets and values

Respawn tickets and mission values

If the mission uses the game's ticket respawn, each side's tickets (and the mission-wide count) are saved with it and set back to the saved number a few seconds after a reload, so a reload no longer hands every side its starting tickets again. Values a mission stores itself with setData are saved and read back whether or not Save Mission Time is on.

Admin menu

In-game wipe controls

A confirmation-gated admin menu lets a server admin clear the current mission's whole campaign on that map, clear just its saved vehicles and buildings (the Player Logistics save) while keeping the AI Commanders' objectives, installations and roadblocks, or wipe all saved ALiVE data, without the debug console. Every wipe is logged with the admin's name, and Wipe ALL keeps your saved presets. On a dedicated server, Wipe ALL can't reach a save an older build made for another mission until that mission has saved once on this build.

Stats and AAR

Statistics and after-action review

On a dedicated server running the War Room test server mod (@alive_wr) with Database Source on Local, Statistics switches on and sends its events, signed, to the new War Room on alivemod.com. Without that mod it stays off. The after-action replay stays off either way, as the new War Room doesn't take replays yet. The chat kill feed doesn't need any of them and works.

Performance monitoring

Server and OS performance data

Server performance recording and, separately, OS statistics like CPU and memory usage each have their own on/off setting, with customisable counted object types and check intervals. The server performance recording is switched off in this version of ALiVE, so it does not run whatever you set.

How to use it

Getting started

  1. Place the Data moduleDrag the ALiVE Data module into the editor. Most missions need exactly one, since other ALiVE modules use it to save their own state between sessions.
  2. Leave Database Source on LocalLocal is the default and saves on the machine running the mission. Cloud needs the old War Room service, which is gone, so a mission set to Cloud saves nothing until you switch it to Local.
  3. Turn on what you want savedSet Save Mission Time to Yes to keep the mission's date and time (it's No by default). Save Roadblocks/Outposts is Yes by default and keeps spawned roadblocks and camps across reloads.
  4. Optionally set Autosave (min)Type a number of minutes if you want the server to save by itself, for example 10. Leave it at 0 and the mission only saves when someone uses Save and Exit or the Save Server button. Autosave works with Local storage on a dedicated or hosted server.
  5. Play, end the mission, then reload itPlay for a few minutes so something gets saved, exit, then relaunch the same mission and confirm the saved time and/or compositions come back.
  6. Try the admin wipe menuAs a server admin, open the ALiVE menu, then Module Settings and Persistent Data. Pick Clear Current Mission's Data or Wipe ALL ALiVE Data, confirm the prompt, then reload and check the campaign starts fresh. Wipe ALL keeps your saved presets and says how many entries it removed. Clear Saved Vehicles and Buildings Only takes out just the Player Logistics save: restart the mission and only the vehicles and buildings players moved are gone, while the AI Commanders' setup stays. On a dedicated server, clear an older build's save from inside its own mission.
  7. War Room checks need the test server modStatistics only runs on a dedicated server with the War Room test server mod (@alive_wr) loaded and Database Source on Local; the server log then says War Room link found. Without that mod there's nothing to check. AAR tracking and performance figures stay off either way, as the new War Room doesn't take them yet.

Settings

Every setting, and what it does

These settings choose where ALiVE saves a mission (the machine running it, or the old online War Room) and what gets saved and restored. They also switch the War Room statistics, after-action replay and chat kill feed on or off.

Presets that use this module: Persistent campaign: a war that carries on where you saved. Place one in the editor to see it set up.

Quick setups

Persistence in singleplayer, the editor or a hosted game

  • Database Source: Local

Local is the default. An older mission may still say Cloud, which only ever worked on a dedicated server and switches the whole Data module off anywhere else.

A campaign where the clock carries on between sessions

  • Save Mission Time: Yes

The saved date and time replaces the mission's start date when it loads.

A server that saves itself every 10 minutes

  • Database Source: Local
  • Autosave (min): 10

The server saves the AI forces, objectives, players and the air commander every 10 minutes, so a crash costs at most that much play. 0 turns it off.

Let a trusted player save the server without being admin

  • Save Server Allowlist: their Steam UID

Anyone whose Steam UID is on the list gets the Save Server button, admin or not.

Kill messages in side chat

  • Enable Chat Kill Feed: Side

Player deaths, kills by players and vehicles players destroy are announced in side chat, once to each player on that side.

General

2 settings
Enable DebugDefault: No

Choices: Yes / No

Writes extra Data module diagnostics to the server log.

AffectsOnly read when the module actually starts, so with Cloud on a non-dedicated game it never takes effect.

Database SourceDefault: Local

Choices: Local / Cloud

Where saved data goes. Local saves on the machine running the mission and works everywhere. Cloud is the old ALiVE War Room service, which is gone: it only ever worked on a dedicated server, and in singleplayer, the editor or a hosted game it switches the whole Data module off, so nothing saves.

AffectsEvery ALiVE module that saves or loads its state depends on this.

TryLeave it on Local, and check older missions, which may still say Cloud.

See it inPersistent campaign: a war that carries on where you saved (pns)

Saving

3 settings

Choices: Yes / No

Yes saves the in-game date and time, and on the next start sets the clock to the saved value instead of the mission's own start date. Saves are kept per map. Only the clock waits on this setting: respawn tickets and values the mission stores itself are saved and restored whatever it says.

AffectsThe date and time are written whenever the server saves: the Save Server button, an autosave, or the server shutting down. Only works once the Data module has loaded its saved data.

See it inPersistent campaign: a war that carries on where you saved (true)

Choices: Yes / No

Yes saves roadblocks, camps and other compositions ALiVE spawns, and rebuilds them in the same places next time. A module left untouched counts as Yes.

AffectsReaches into civilian placement, which reuses the saved roadblock positions.

Autosave (min)Default: 0 (off)

Choices: A number of minutes; 0 is off

How often the server saves the mission on its own: the AI forces, objectives, players and the air commander, the same as Save and Exit. No line in initServer.sqf is needed.

AffectsLocal storage only, on a dedicated or hosted server. A mission that still calls ALiVE_fnc_AutoSave_PNS itself keeps working; whichever starts last sets the interval. To save once at a moment the mission chooses, from a trigger or a script before a planned restart for example, run "now" call ALiVE_fnc_AUTOSAVE_PNS on the server. It saves the same things straight away and leaves the timed autosave running.

See it inPersistent campaign: a war that carries on where you saved (15)

Kill Feed and Statistics

3 settings

Choices: Group / Side / None

Announces over the radio when a player dies, a player kills someone, or a player destroys a vehicle. Group or Side picks which chat channel the message goes to; None turns it off.

AffectsWorks whatever the War Room and Disable Stats are doing, and each player on that side sees each message once. Side chat only shows for someone carrying a radio.

Disable StatsDefault: No

Choices: Yes / No

Yes stops player and operation statistics being sent to the War Room.

AffectsStatistics only go to the War Room. On a dedicated server with the War Room test server mod (@alive_wr) loaded and Database Source on Local, No sends them to alivemod.com and Yes keeps them off; without that mod they're off whatever this says. It doesn't affect the chat kill feed.

Disable AARDefault: No

Choices: Yes / No

Yes stops player positions being recorded for the War Room after-action replay. The recording only ever runs on a dedicated server.

AffectsAlso needs a working War Room connection that allows replays; without one the recording is forced off whatever this says.

Performance Monitoring

3 settings
Disable PerfMonDefault: No

Choices: Yes / No

Yes stops server performance figures being recorded to the War Room. That recording is switched off in this version of ALiVE, so it does not run whatever you set here.

Disable OS PerfMonDefault: Yes

Choices: Yes / No

Tells the ALiVE server plugin whether to collect operating system figures such as CPU, threads and memory. It's separate from Disable PerfMon above.

Custom Perf MonitorsDefault: [['entities',150],['vehicles',300],['agents',450],['allDead',600],['objects',750],['triggers',900],['activeScripts',1050]]

What the server performance recording counts and how often, as a list of name and interval pairs. That recording is switched off in this version of ALiVE, so this has no effect at the moment.

Access

1 setting
Save Server AllowlistDefault: (empty)

A comma separated list of Steam UIDs whose owners can use the Save Server button without logging in as admin. Leave it empty and only admins can save.

Recent work

What's changed lately

  • Autosave on a timerThe Data module has an Autosave (min) setting. Type a number of minutes and the server saves the AI forces, objectives, players and the air commander at that interval. It's 0 (off) by default, so existing missions don't change. Before, it took a line in initServer.sqf, and that line saved nothing if it was called without an interval.
  • Saves locally by defaultA newly placed Data module now defaults to Local. It used to default to Cloud, which saved nothing because the War Room is offline. A mission already saved with Cloud keeps that setting, and previewing it from the editor says on screen that nothing will be saved.
  • Respawn tickets are keptA mission that uses the game's ticket respawn used to start every reload with its full tickets again. Each side's tickets, and the mission-wide count, are now saved with the mission and set back to the saved count after a reload.
  • Compositions and mission values save when left aloneA Data module left at its defaults never saved its roadblocks and camps, because a missing value was read as No. It now counts as Yes. Values a mission stores with setData also persist with Save Mission Time off; only the date waits on that setting.
  • Each map keeps its own savesEvery save carries the map as well as the mission name, so a copy of a mission on another map runs its own campaign. The admin menu can clear the current mission's save, or wipe all saved ALiVE data (your presets are kept), with a confirmation step and a server log line naming the admin.

Status

Where it stands

Delivered

Mission time and composition persistence

Saving and restoring mission date/time and spawned roadblocks/outposts both work and are controlled by their own on/off settings in the module.

Autosave, tickets and mission values

Autosave (min) saves on a timer on a dedicated or hosted server with Local storage. Respawn tickets are saved and restored with the mission, and values stored with setData persist whatever Save Mission Time says.

Local saving works; Cloud is discontinued

Local saving works and is the default. Cloud went away with War Room, so picking it switches the Data module off. Preview such a mission from the editor and it tells you so on screen.

Admin wipe menu

Clearing the current mission's save removes its whole campaign on that map, with a confirmation step and a server log record of who did it. Wiping all saved data works the same way and keeps your saved presets. Clear Saved Vehicles and Buildings Only takes out just the Player Logistics save and keeps the AI Commanders' setup; Player Logistics then saves nothing until the mission restarts. On a dedicated server, a save an older build made for another mission stays until that mission has saved once on this build.

Stats, AAR, and performance tracking

Each can be turned off independently in the module's settings. Statistics runs on a dedicated server with the War Room test server mod (@alive_wr) loaded and sends its events to alivemod.com. AAR and performance tracking stay off, as the new War Room doesn't take them yet.

Saves kept per mission and map

Every save carries the mission name and the map, so a copy of a mission on another map runs its own campaign instead of loading factions, commander state or other saved data from the original. A campaign saved by an older build moves to the new names the first time the mission starts, and whichever copy you launch first takes it, so launch the one you want to keep first. If that might be the wrong copy, the RPT names the other map.

In progress

Wording and translation cleanup

Popup and admin menu text has recently been revised for accuracy and partially translated; further passes may still refine wording.

Testing

How you can help

Place the module and check Source says Local, the default. Set a save option (mission time and/or compositions) to on, play for a few minutes, end the mission, then reload it and confirm the saved state (time, or spawned roadblocks/outposts) comes back. In singleplayer or on a listen host, confirm the welcome popup on reload shows your actual player name and says the save will be loaded, not a broken placeholder or misleading wording. That greeting only appears in that configuration, so don't expect it on a dedicated server. Copy the same mission file to a different map under the same name, with persistent AI forces on, and load it; confirm it starts its own campaign and doesn't pick up the original's forces or objectives. As a server admin, open the ALiVE admin menu's Persistent Data section and clear the current mission's data, then reload and confirm the AI forces and objectives start fresh. Separately try wiping all data, and confirm each asks for confirmation first. To test Clear Saved Vehicles and Buildings Only, move or load a few vehicles and crates with Player Logistics, save, then pick it: the notification should say how many were cleared and to restart, and a Save and Exit before the restart shouldn't write them back. Restart the mission and check those objects are back where the mission put them, while the AI Commanders' objectives and roadblocks are still there. On a dedicated server, play and save two different missions, then Wipe ALL from one of them and check both start fresh; the popup should say how many saved-data entries were removed. In singleplayer, check your saved presets are still there afterwards. Check the server's RPT for the line naming the admin and the scope: this mission on a named map, or all data. Finally, set Source to Cloud and preview from the editor: an on-screen note should say nothing will be saved, and Player Logistics should still work rather than the mission stalling. To test Statistics, run a dedicated server with the War Room test server mod (@alive_wr) and Database Source on Local: the server log should say War Room link found, and play shouldn't log any line starting ALiVE War Room: could not send. To test autosave, set Autosave (min) to 1 on a dedicated or hosted server, play past the first minute and look in the server RPT for the autosave line, then reload and confirm the state came back. To test tickets, use a mission with ticket respawn, spend a few tickets, save and reload, and check each side has the saved number rather than its starting tickets.

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

Updates to this page

  • 2026-11-03
    On a dedicated server running the War Room test server mod (@alive_wr) with Database Source on Local, Statistics now switches on and sends its events to the new War Room on alivemod.com, and the server log says War Room link found. Without that mod nothing changes, and AAR and PerfMon stay off either way.
  • 2026-11-03
    Persistent Data in the admin menu has a third entry, Clear Saved Vehicles and Buildings Only. It takes out just this mission's Player Logistics save and keeps the AI Commanders' objectives, installations and roadblocks; the notification says how many were cleared, and Player Logistics saves nothing more until the mission restarts.
  • 2026-11-01
    In Eden the autosave interval only shows with a database source that uses it, and the PerfMon code row while PerfMon is on.
  • 2026-10-28
    Wiping ALiVE save data from the admin menu no longer shows a CBA script error after the wipe; the message shows both its lines.
  • 2026-10-19
    Typed number settings now show their unit in the label, for example Autosave (min).
  • 2026-10-14
    Autosave interval is now a typed number of minutes (0 off) instead of a few fixed choices (#1083).
  • 2026-10-10
    A save now keeps a group's On Each Spawn code, wounded infantry, what vehicles carry or sling, and where groups were heading.
  • 2026-10-09
    Respawn tickets are saved and restored with the mission, for each side and the mission-wide count.
  • 2026-10-09
    A mission script or trigger can save the mission straight away with "now" call ALiVE_fnc_AUTOSAVE_PNS (server, Local source); a timed autosave keeps running.
  • 2026-10-09
    Asking for a mission value that was never saved no longer logs a script error in the RPT.
  • 2026-10-09
    ALiVE Data has a new Autosave setting: Off, or every 5, 10, 15, 30 or 60 minutes. It saves what Save and Exit does (AI forces, objectives, players and the air commander) on a server with Local storage, with no line needed in initServer.sqf. Off by default.
  • 2026-10-08
    Compositions and roadblocks are saved and loaded when Save Compositions is left at its default, Yes. A default was read as No, so a mission that never touched the setting saved none.
  • 2026-09-28
    The local autosave now saves the air commander too, on the passes that save the AI forces, when the air commander's Persistent is on.
  • 2026-09-25
    Enable Chat Kill Feed works again. It had been silent since the War Room went offline.
  • 2026-09-25
    Each player on the side now sees each kill feed message once, whichever machine the kill happened on.
  • 2026-09-25
    Wipe ALL ALiVE Data now works on a dedicated server, where it used to remove nothing. A save an older build made for another mission stays until that mission has saved once on this build.
  • 2026-09-25
    Wipe ALL ALiVE Data no longer deletes your saved presets.
  • 2026-09-25
    After a wipe, whoever asked is told how many saved-data entries were removed, instead of being told everything was wiped before it happened.
  • 2026-09-25
    The server now refuses a clear or wipe request from anyone the admin menu wouldn't offer it to.
  • 2026-09-24
    A copy of a mission on another map now runs its own campaign. A campaign from an older build moves to whichever copy you launch first, so launch the one you want to keep first.
  • 2026-09-24
    Clear Current Mission's Data now removes the whole campaign for that map, including the AI forces, objectives, tasks and the air commander's aircraft.
  • 2026-09-24
    A newly placed ALiVE Data module saves locally by default. Missions already saved with Cloud keep that setting, so check older ones.
  • 2026-09-24
    With Cloud in singleplayer or a hosted game, Player Logistics, IEDs, markers and reports now start as normal, and an editor preview says nothing will be saved.
  • 2026-09-22
    A persistent data wipe from the admin menu is recorded in the server log, with who asked for it. The server used to keep no record at all.
  • 2026-09-22
    The popup you get when a save is found points at Admin Actions > Persistent Data instead of the debug console, which did nothing on a dedicated server.
  • 2026-08-13
    Save Server works on a dedicated server: the mission was being shut down instead of saved. Worth testing hosted as well, since the two behaved differently.
  • 2026-08-13
    The data module takes a comma separated list of Steam UIDs, and anyone on it can use Save Server without logging in as admin.
  • 2026-08-13
    The server now only accepts save requests from real admins or allowlisted players, so a client can't trigger a save it shouldn't.
  • 2026-08-06
    The testing steps corrected: the welcome popup only appears in singleplayer or on a listen host with Local storage, not on a dedicated server.
  • 2026-07-27
    Page first published.