Summary
Fixes savegame failure on modded Reforger servers where SCR_PersistenceSystem dies in SETUP with "Failed to request persistent state". Keeps ACE and RHS fully active.
Description
WPF Modpack Persistence Bridge by Whisper
Naprawa błędu SAVE Game Z pełną paczką RHS ACE itd...
Używanie za zgodą
Whisper przez DC https://discord.gg/dziuplagier-arma pisz na pw.
Fixes the savegame failure that hits Arma Reforger 1.8 dedicated servers running large
mod collections (ACE Anvil + RHS Status Quo and friends).
SYMPTOM
- playthroughNNN is created, but savepointNNN never appears
- server log shows SCR_PersistenceSystem going INIT -> SETUP -> FAILURE
- engine reports "[PERSISTENCE] Failed to request persistent state.", preceded by
"Failed to fetch persistent state data. Storage unavailable!"
- the same scenario saves fine with a small mod list
CAUSE
Configs/Systems/Persistence/Common.conf (GUID 3A03B52D11F7C36A) is the vanilla file that
declares every PersistenceCollection together with its Storage binding, the WorldState
bundle, and the entity/state configuration groups.
Enfusion resolves a resource GUID to exactly one file - the one from the highest priority
addon. A mod can patch a vanilla config by declaring the same GUID as its own base class.
For Persistence/Common.conf the overriding files instead re-base onto BaseSetup.conf, the
same base vanilla uses, so they are siblings of the vanilla file rather than patches on it:
vanilla 8103 B
ACE Core Dev 180 B
RHS Status Quo 348 B
Whichever wins the GUID replaces the 8 KB vanilla definition with a ~200 byte file. Every
Collection -> Storage binding and the WorldState bundle disappear. ACE's
ACE_LoadtimeEntityManagerState is bound to Collection {6586D01E488CA578}; with its storage
gone the engine cannot fetch the data, the persistent state request fails, and persistence
drops to FAILURE during SETUP - before any savepoint is attempted.
WHAT THIS MOD DOES
Ships Configs/Systems/Persistence/Common.conf at the vanilla GUID containing:
- the complete vanilla definition (all 10 collections with Storage, the WorldState bundle,
and every vanilla entity/scripted-state configuration group)
- plus ACE's ACE_LoadtimeEntityManagerState in PersistentStates
- plus RHS's item EntityPersistenceConfig under Entities/Items
No mod is disabled and no other author's package is modified.
Server-side instrumentation is included: it logs the effective SystemsConfig, SaveGameManager
state and enabled save types, follows SCR_PersistenceSystem transitions, names the failing
stage, waits for a genuine ACTIVE state and then performs one controlled SCRIPTED savepoint.
It never starts a save while another transaction is running and leaves the vanilla autosave
interval untouched. All lines are prefixed [WPF-BRIDGE].
LOAD ORDER - IMPORTANT
The bridge must load AFTER ACE and RHS, otherwise their truncated file wins the GUID again.
Place it LAST in the mods array of your server config. If it ever loses load order the result
is simply the unpatched behaviour - it cannot make things worse.
A good run logs:
[WPF-BRIDGE] Persistence state: SETUP -> ACTIVE
[WPF-BRIDGE] STAGE OK [ACTIVE]: persistence active, saving enabled=1 allowed=1
[WPF-BRIDGE] STAGE OK [COMMIT]: savepoint written id=... playthrough=0 savepoint=0
NOTES
- The merged file reproduces vanilla Common.conf from 1.8.0.10. After a game update that
changes it, the merge should be regenerated.
- ACE and RHS entries are copied by GUID from ACE Core Dev 1.5.36 and RHS Status Quo.
- Other same-GUID persistence collisions (Configuration/Item.conf, Group/Entities/Items.conf,
GameMode/Conflict.conf, EditableMission.conf) do not block savepoint creation and are not
merged yet.
Credits: ACE Anvil team, RHS team, Bohemia Interactive.License
Arma Public License (APL)