System.RecreateAll should preserve the state of factions and shrines.
This has been (as I just learned) quite a disappointment from players who want to play the territory game. Wasting time on changing out flags (which generate PVP) just to have them reset later in time is a real drag. I think this should be a little higher priority if anyone is open to take the challenge.
I looked into this and it seems like it might not be too difficult, but takes more programming understanding than I have.
For example TerritoryGame (flag game) has a SaveFlagStates() and ReloadSavedFlagStates().
The only thing is, these store the saved flag states in lists inside of the TerritoryGame Object, if you call these before and after the actual recreate happens, then the recreate just deletes the TerritoryGame Object and you lose the saves.
If you can save the states of these, and copy the same method and store the saved list information in another object that was already recreated (i.e. settings) then call them after the recreate has happened might work.
I also believe that we are using RecreateAll in the wrong method, RecreateAll (as it is described in the code) is a last resort effort to fix errors in the game. Maybe in the future we use targeted recreates and this actually doesn't matter until you come to recreate the Parliament (controls the recreate for Token Game and Territory Game) and shrines.
Stopping the recreate of the Parliament games all together doesn't achieve the desired result as the flags are never recreated in the rooms.
Kudos to anyone who can tackle this bad boy.