What is server crash recovery, for those who don't know, and why does it matter for 3.15?
TL;DRServer crash recovery periodically saves ship state so after a server crash you get back your ship with its cargo and inventory, though anything gained between saves is lost; it's a stopgap until persistence and server meshing.
So in a nutshell, if the server goes down, previously when you log back on, you would have to request your ship to come back, the ASOP terminals, and essentially you'd be given a brand new ship. It wouldn't be the ship that you were currently flying around with. So anything that you had on there, like cargo, would be gone. So with server crash recovery, what happens is essentially we run heartbeats to determine the state of your ship. And essentially if the server then goes down, when you request your ship when you log back on, it will actually be the ship that was recorded at the previous heartbeat. So you would actually get the ship back, and probably in 99% of cases it would be the ship that you were just flying. So it would have all your cargo in it. And fundamentally as well, it would also have all of your ship inventory. So if you've put all of your armor and things into the ship inventory, you will retain that. So that's a really big one: if the server does go down and you log back on, you should be able to request your ship to come and it will be the ship that you essentially were flying previously.
And when we talk about heartbeat, just to be super clear for people, obviously we can't be continuously writing every single player, every single millisecond of playing to the database; that would just destroy the performance. So there will be an interval. And I'm not going to give you a number right now because it's a thing that's in flux and will be continuously changing. But there will be an interval where it goes write, and then you'll play for a while, write, and then play for a while and write.
It's like playing a single player game and you keep going quick save. Quick save. You go a bit more, quick save.
Exactly. So there will be occasions where you die between the heartbeats. Like if you just got 70k cargo between the heartbeats and then you die, that 70k is going to be gone. So it'll be important, when it comes online, and it's already kind of working on PTU right now, to recognize whether it was broken. Like, oh, I didn't get my stuff back. No, it could still be working. You just might have lost your thing between the heartbeats. So it'll be an interesting new reporting challenge.
To be clear, this is a placeholder solution until full persistence and server meshing comes online, which will remove this all together. But at least this is a really good stopgap while we have personal inventory go live, so that you should really be able to play with confidence that you're not going to lose it based off a server crash. Obviously, you might be unlucky, but for the majority of people, it should be a vast improvement.