ALiVE.OS · ALiVE 3 Development
Keeps your gear, health and position with you across disconnects and server restarts
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.
Overview
Player Persistence is the module that remembers who you are between logins. In any mission with the ALiVE Player Options module, the server keeps your loadout, ammo, health, position and score, and restores them automatically when you reconnect during the same session. To carry them across a full server restart, the mission also needs the ALiVE Data module and Save to Database set to Yes. Mission makers add one module to a mission to turn this on, with options controlling exactly what gets saved, whether it follows the player or the slot they take (Persist By), and whether players can reset themselves back to a starting state.
Under the hood it works quietly in the background: on a multiplayer server you're saved every five minutes and when you disconnect, and your data is handed back to you the moment you reconnect and your character appears in the world. Those saves wait until that's done, so an early drop can't overwrite your record. With the ALiVE Data module and Save to Database on, saves can also be written to the database so they survive a full server restart.
How it works
Player Options' Persist By decides who a save belongs to: each player, whichever slot they take, or each slot, whoever takes it.
Capabilities
In multiplayer your loadout, ammo, health, position and mission score are saved every five minutes, on disconnect and when you use Save Player Data. On reconnecting they're applied as soon as you spawn in. With ACE loaded and Store Health on, your wounds, bandages, fractures, blood, pain, medication and tourniquets come back too. If you lead an AI squad, its men on foot are brought back beside you, and men you recruited with the Recruitment module are saved with you and put back in your group with the same kit, skill and damage. A player already on the server when a mission starts, as after an admin's Server Save and Exit, is restored too.
Persist By on the ALiVE Player Options module is Player by default: each player keeps their own kit, position and health whatever slot they take. Slot keeps them with the slot instead, for units whose players change role from week to week, so whoever takes a slot gets its kit, position and health. Name and rank stay with the player, scores too, and the different-class check doesn't apply. Slots are told apart by their Eden Variable Name, and an unnamed slot is saved by player. When you switch a campaign from Player to Slot, a slot with no save of its own takes the first joining player's own save, once.
Mission makers can allow players to trigger a save on demand through the ALiVE interaction menu, useful before a risky mission stage or before logging off.
If enabled, players can reset themselves back to their starting state for the session, or to their last manual save, through the ALiVE interaction menu.
By default reconnecting as a different role than the one you left in is blocked and will kick you back out, keeping saved state matched to your original class. Mission makers can allow different-class rejoins if they want more flexibility.
With the ALiVE Data module and Save to Database on, player data is written to the database at Server Save and Exit and, with the Data module set to Local, every Auto Save Interval seconds, so state survives a full server restart, not just a reconnect.
Server admins can flip reset, manual save and different-class rejoin on or off mid-session from the in-game ALiVE menu, without needing to restart the mission.
How to use it
Recent work
Status
In multiplayer, loadout, ammo, health, position and score are saved every five minutes, on disconnect and on a manual save, then restored automatically on reconnect.
Available to players through the ALiVE menu when the mission maker has enabled them.
Player persistence can follow the slot instead of the player, with a one-off carry-over of each player's save when switching to Slot.
Works together with ALiVE's data storage module so saves outlive a full server restart.
The lookup that matches a reconnecting player back to their saved data now retries once, closing the recently reported gap where quick reconnects lost their save.
Custom weapon attachments or items stored inside a backpack are not fully preserved across a save and restore.
Saved ammo counts are still being checked for correctness in some loadout situations.
Testing
Place the ALiVE Player Options module in a test mission, since there is no separate Player Persistence module to place and the saving options live on Player Options, then join as a player, change your loadout or take damage, then disconnect and reconnect to confirm your gear, health and position come back as expected. To test a dedicated server restart as well, place the ALiVE Data module, set Save to Database to Yes and have an admin use Server Save and Exit before the restart. Try a fast reconnect immediately after mission start to check the recent fast-join fix. If manual save or reset is enabled, test both from the ALiVE interaction menu. If different-class rejoin is left off, confirm that switching to a different role before reconnecting is blocked as expected. To test Persist By, set it to Slot, give two playable units Variable Names, change the kit on one, disconnect, and have a different player take that slot: they should get the kit, and keep their own name and rank. Then switch an existing Player campaign to Slot and check the first player into a slot with no save gets their own earlier kit once.
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