Skip to content

Arma Reforger Persistence and Save Games

Turn on persistence so an Arma Reforger server keeps its world across restarts: the panel toggle, autoSaveInterval, save retention, and what breaks a save.

Level
intermediate
Read
13 min
Updated
By
Bradford

Restart an Arma Reforger server with default settings and the world starts over. Every captured base, every built fortification, every vehicle someone drove somewhere useful is gone, because persistence is a feature you switch on rather than one that is on already. On a Loafhosts server it is a single toggle plus a decision about how often to save.

This guide covers what persistence actually stores, how to enable it, the settings worth changing, and the three things that reliably break a save. It is written against Bohemia Interactive’s own server documentation and current as of 1.8.0.10.

What Persistence Actually Saves

Reforger’s persistence system splits data into two storage types, and knowing which is which explains most of the confusing behaviour people hit.

Session storage holds the save points for one playthrough. A session begins the first time a mission launches, survives restarts, and normally ends when the game mode concludes with a result. This is the storage that makes a server feel continuous: bases, structures, vehicles, the state of the world. When people say “my server does not save”, this is the storage they mean.

Game mode storage holds data that outlives a session. Player experience, currencies, unlocks and similar progression live here, and it can be shared across mission variants. Two scenarios on different maps can run their own separate sessions while sharing one game mode storage, which is how player progression follows people between them.

Note: The distinction matters when you reset. Wiping a session starts the world fresh while leaving player progression intact, because they are different storages

Every persistent object is tracked with a 128-bit UUID that is assigned deterministically for map entities, so the same object is recognised on reload. That determinism has a condition attached, and it is the single most important sentence in Bohemia’s documentation on this: entities are identified on load “as long as the map has not changed significantly”. Change the map enough and the engine can no longer match saved objects to world objects.

Turning Persistence On

On a Loafhosts server this is one control rather than a file edit.

  1. Log in to the LoafHub panel at hub.loafhosts.com
  2. Open your Arma Reforger server
  3. Open the Reforger config editor and find the Server group
  4. Switch on Enable persistence (auto save/load)
  5. Save, then restart the server

That toggle adds the -loadSessionSave startup parameter. With it, the server looks for the most recent save point for the current scenario at launch and loads it. Without it, every start is a fresh world regardless of what is on disk.

Warning: Persistence is off by default on a new Reforger server. If you have been running for weeks and wondering why nothing carries over, this is almost always why

Tip: The toggle is a startup variable, so it takes effect on the next start rather than immediately. Restart before you judge whether it worked

Tuning It in config.json

The toggle gets you working saves on defaults. To change how often and how many, edit the persistence block in config.json from the panel file manager. The whole block is optional and the system works without it.

"persistence": {
    "autoSaveInterval": 10,
    "saveRetention": 10,
    "loadSessionSave": true,
    "keepSessionSave": false,
    "hiveId": 0
}
KeyRangeDefaultWhat it does
autoSaveInterval0-6010Minutes between autosaves. 0 stops them
saveRetention1-12810Save points kept for this mission
loadSessionSavetrue/falsetrueLoad newest save at first startup
keepSessionSavetrue/falsefalseKeep saves after the mission ends
hiveId0-163830Separates UUIDs on a shared database

A few of these deserve more than a table row.

autoSaveInterval is the one to think about. Ten minutes means that in the worst case a crash costs ten minutes of progress. Dropping it to 5 halves that exposure and costs a little disk and a brief hitch each time. Setting it to 0 does not disable persistence, it disables automatic saving, which is a different and usually unhelpful thing.

keepSessionSave defaults to false, which means when a Conflict match actually concludes, the save points for that playthrough are discarded. That is correct for most servers and surprising if you expected the world to survive a finished match. Set it to true if you want completed playthroughs kept.

hiveId only matters if you run several servers against one shared persistence database. On a single server, leave it at 0. Its job is keeping UUIDs from colliding between hives.

Tip: Each save point writes a meta-info.json containing its UUID. That UUID can be passed to -loadSessionSave to pin a server to one specific save rather than the latest

Turning Persistence Off Properly

There are two different “off” switches and they do different things.

Leaving the panel toggle off means the server does not load a previous session at startup. Saves may still be written; they are simply not read back.

To stop the mission saving at all, set the save types to zero in the mission header:

"missionHeader": {
    "m_eSaveTypes": 0
}

That is the switch to use when you want a genuinely stateless server that resets cleanly every restart, such as a training or event box.

Warning: Setting autoSaveInterval to 0 and calling it “persistence off” leaves the load path active. The server can still load an older save at startup and surprise you with a world you thought was gone

What Breaks a Save

Three causes account for most reports of a save that will not load or loads wrong.

The modlist changed. Object identity depends on the world matching what was saved. Add, remove or version-bump mods that place or alter entities and the engine may no longer resolve saved objects. Take a backup before a modlist change, and treat a large mod change as a probable world reset. Our mod manager guide covers version locks, which are the cheapest protection here.

The scenario changed. Save points belong to a mission. Point the server at a different scenario and it will not find a save for it, because there is not one. Switching back usually finds the original save again, assuming retention has not aged it out. The scenario ID guide lists the IDs.

Retention aged it out. saveRetention defaults to 10 save points. At a 10 minute autosave interval that is roughly the last 100 minutes. A server that crashed three days ago and has been restarting in a loop since has long overwritten the save you wanted.

Tip: Back up before any modlist or scenario change rather than after. See backing up a Reforger server

What 1.8 Changed for Saved Servers

Persistence got a meaningful round of fixes in 1.8.0.10, which is worth knowing if you run a long-lived world.

  • A crash in save data processing was fixed
  • Ambient vehicles no longer despawn after loading a save before players have connected
  • Empty private groups restored from a save, typically after a server crash, no longer block new groups from being created
  • The group reconnection period after loading a save was raised to 5 minutes
  • Faction commander is now automatically re-elected after a reconnect
  • The Game Master interface no longer opens by itself when a character is being controlled during save point creation

The practical read: if you previously turned persistence off because saved servers came back in a broken state, the specific failures people reported have been addressed. It is worth another try on a test server.

A Sensible Starting Configuration

For a community Conflict server that should feel continuous:

"persistence": {
    "autoSaveInterval": 5,
    "saveRetention": 20,
    "loadSessionSave": true,
    "keepSessionSave": true
}

Five minute autosaves, twenty retained points for roughly a hundred minutes of rollback, load the latest on boot, and keep the playthrough when a match concludes. Pair it with a scheduled daily restart during a quiet hour so memory stays clean, and the world carries across it.

Note: Game servers come with a 3-day money-back guarantee. Dedicated servers are non-refundable

Frequently Asked Questions

Why does my Arma Reforger server not save?

Persistence is off by default. Switch on “Enable persistence (auto save/load)” in the Reforger config editor and restart. That adds the -loadSessionSave startup parameter, which is what makes the server load the most recent save point at launch.

How often does an Arma Reforger server autosave?

Every 10 minutes by default. It is controlled by autoSaveInterval in the persistence block of config.json, which accepts 0 to 60 minutes. Setting it to 0 disables automatic saving rather than disabling persistence.

How many save points does Reforger keep?

Ten by default, controlled by saveRetention, which accepts 1 to 128. At the default 10 minute interval that is roughly the last 100 minutes of play, after which the oldest points are overwritten.

Does changing mods break my save?

It can. Saved objects are matched to world objects on load, and that matching depends on the map not having changed significantly. A modlist change that adds or alters placed entities can leave the engine unable to resolve saved objects. Back up first and treat a large mod change as a likely reset.

What is the difference between session and game mode storage?

Session storage holds one playthrough: bases, structures, vehicles, world state. Game mode storage holds data meant to outlive a session, such as player progression, and can be shared between mission variants. Resetting a session does not clear player progression.

How do I completely disable saving?

Set m_eSaveTypes to 0 inside missionHeader in config.json. Turning off the persistence toggle only stops the server loading a save at startup; it does not stop saves being written.

What is hiveId for?

Separating save data when several servers share one persistence database. Each server gets its own hive number so UUIDs do not collide. On a single server leave it at 0.

Can I load one specific save instead of the newest?

Yes. Each save point writes a meta-info.json containing its UUID, and that UUID can be given to -loadSessionSave to pin the server to that save. Without a UUID the parameter loads the most recent save for the current scenario.

Sizing, deployment and first boot are covered in the Arma Reforger server hosting guide, and the wider file is explained in config.json explained.

Rate this guide

Tap a star, it helps us decide what to write (and fix) next.