At the moment when someone disconnects or hangs or crashes or lags - the game is ruined and is lost forever - right? Here's a theory of how to fix that.
1. When the game is hung we hit a magic button thats dumps out the entire sim state to disk. To log file if nothing more elegant can be done. Basically all of the unit positions would be included as well as reclaim/wrecks. Then close FA.
2. Run a magic tool that analyzes that data dump and, using HazardX's map code, create a copy of the map (statistically it was probably setons) calls Setons_34441234. This new map would have the normal layout of setons plus all of the units created assigned to the right armies and put in the right place.
3. A player (doesnt matter who) hosts a new game using the new map. All of the original players join. Some lobby code changes here to display who was in what spot, faction, color, etc.
4. Hit run and the game is recreated. I'm not sure if we can preserve the orders. Maybe we can't so it starts paused and everyone can get everything going again.
You can even recover from a hard crash by watching the replay of the game, pausing at the right place (10 seconds before crash) and then doing step 1.
In fact, there is another use for this besides crash recovery. You could be watching a replay and decide "I want to start playing this game at this point here". Think of the use in training where you could undo that critical mistake and continue the game. Or replay famous battles. Or practice to micro that fight better.
Or if some bug happens (acu transport explode) you can rehost it at a certain point.
Or if there is some stupid tml team kill you can just rehost - resurrecting the dead player - kick out the idiot - and find someone to take his slot.
I'm pretty sure I can do steps 1 and 2 ...