I think I've misunderstood persistence

  1. 7 years ago

    From what I've been reading, it appears someone actually has to save the server state to save objects. Then save himself before leaving. A little like closing the door on the way out. Is there any way to call this function when the last player leaves in a "persistent = 1" config, and same for the player details when a player leaves? ALiVE clearly thought about closing down AI processing when players leave and stopped short in the design there...

    Perhaps i'm asking of too much of the engine, but I don't see why when we can call the save in game, that that the save shouldnt be automated to save the session in the event of a restart and at last player leaving.

    The reason I ask is because to have a fully automated dedicated server you need to manage its reboot. Mine goes off and autolaunches the game and mission right back (actually I suspend it in the early hours but thats another story). So if I reboot a server, the game is forcibly closed down and no save ever took place. AFAIK there is no way of accessing the dedi console to run an execVM to call anything like a save...

    My vision is a 100% JIP, autosaving, auto-restarting server I can leave running without checking it, running a massive campaign, hopefully based on the Alive engine for efficiency. I cannot currently achieve that by having to log in as admin at the end of the evening just to save the game, seems ridiculous.

    With local database as a solution I can save player and unit from code on multiplayer events or on a timer, but I have no ALiVE which uses virtual AI anyway, so the solution taunts me.

    Surely someone must have come here looking for the same Nirvana?

  2. Edited 7 years ago by SpyderBlack723

    Saving isn't given enough time to complete if a player uses the standard exit button, this is why you MUST use the Server, Save, And Exit or Player Exit buttons - it allows the game more time to save the necessary information before the player is removed from the mission (or the mission ends).

  3. And the server state (which wwas the thrust of the post). Other mods can do this and allow reboot cycles.

  4. highhead

    30 Apr 2016 Administrator

    Hi!

    Thanks for taking the time to give us feedback! If I see it right, you want to have an autosave option with adjustable savetime (every x hours), or an option that hooks into the #restart #missions etc. servercommands. Please correct me if I am wrong!

    Thanks mate

  5. Yes. The scenario I'm trying to solve is a persistent server thats up 24/7 that people can JIP, leave sitreps down, move mortars and battlefield components and otherwise play then come back to it later and the efforts they made still exist on map. The problem is that not all these people woudl eithe rremeber or be admin capable of saving server state and we may have server restarts in between. The current design appears to be (although persistent is a word used) based on a single game session that the same group come back to in an organised fashion. I'm looking for an option that bridges that gap, like say the exile/epoch/wasteland style 24/7 servers use.

    The challenge to this is that you need to find a way of saving automatically before a scheduled restart of the server, both in game and from outside if you restart the physical box. The current methods needs an attended save, so I understand. It seems it can cope with reducing the AI to not continue working, via one of the options in the ALiVE (required) module (disable AI) so it looks like it's been considered, in part.

    The other challenge is the CPU process as it iterates through all the objects. It's not something we want to happen often, but the only way to autosave is to launch that method on a customisable timer so that in the event of the server crashing or the physical box restarting unexpectedly, the servers comes up with say a 5 minute old snapshot.

    I'm not sure this fits with your lightweight "virtual AI" system which was designed to be saved to the cloud. But there are local DB's intwined with the current technology. The war room can still have its place as a stat machine, but IMHO the horsepower needs to be in a local DB for the persistence.

    Why?

    The modern gaming userbase has drifted from the old massive groups of loyal players. People now play multiple games, they get bored easily, they have modern pressures and cannot stick to kickoff times. People have shift work, can't stick to single evenings and even the younger folk complain of lack of time like the adults with young children do, and thus gaming groups are smaller, more dynamic, fragmented, struggling (feel free to disagree if you can remember ten years back). JIP, the term i only heard coined in Arma, suits many more people now and having a server you can jump on to, but pick back up a few days later and still be in the same session is a killer. It's effectively MMORPG style. Something that ALiVE can do that the base game struggles with is your Virtual AI system. It's genius and solves so many scaling problems (it's not new however, I'm thinking back to Falcon 4 who did this). With Virtual AI we can have game types like Capture the Island, but what we can't do is capture the island in one session. So whist solving the scaling issue, ALiVE went right up to the solution of persistence, danced with it and then dropped the ball, in my opinion.

    By adding "multisession JIP persistence" you make Arma capable of large scale warfare, logistics and can play the same session at any time over the months of the campaign, with some or all of your teams without ever having to worry about someone having to press a button to save progress. Seems such a simple thing but its has got a far reaching consequence for Server admins and game designers that allows ALiVE to be a must have mod.

    TLDR; AUtosave server state, autosave player state, autosave prior to mission shutdown and finally a commandline from OUTSIDE the mission that can call these functions prior to a shutdown or restart such a sa typical admin would have for rebooting so that the misison can be persistent without player intervention.

    I think these items would greatly improve the uptake of the mod.

  6. Highhead: I would love if you could implement exactly what you posted. An Autosave function, to allow a nightly, or bi-daily save of the server at usual off hours.
    I am the only server administrator for our group's Alive server. If I let it run overnight, or a period of days, it builds a HUGE RPT file due to errors with mods (that don't really affect game play) and/or ARMA errors.

    I had a 3.5 GB!!! RPT this past week for a session where I left the server up just over 4 days. I would just turn off Logs, but they have been instrumental in my learning Server Admin duties, and figuring out where I've screwed up on getting a mission up and running.

    Thanks!

  7. Edited 7 years ago by HeroesandvillainsOS

    @ski2060

    Any tips you can think of offhand to reduce log spam, such as any specific things you can think of doing? Mine are uuuuggggly. Filled with crap so I have no choice but to run no logs.

  8. Nope, other than run vanilla ;) Even then you're not immune to errors.
    Mine are HUUUUGE and filled with all kinds of "no bone in slot A", "config error in subatomic particle B" stuff.
    All above my pay grade.

    I just get it running on the server and hope my guys don't crash it shooting at ISIS.

  9. highhead

    1 May 2016 Administrator

    @Tupolov will have to reply about that feature request

  10. Friznit

    3 May 2016 Administrator

    The ALiVE save & exit function is ['SERVERSAVE'] call alive_fnc_buttonAbort

    It needs to be called by an admin.

    Does that help at all?

  11. It might do, I need to work out how I can be an admin and not on the server, but that's perhaps not ALiVE's problem :)

 

or Sign Up to reply!