Back to Search
You land on a ship on a planet and the server crashes. A 30k. If you load back into a new server, how does the player find their ship?

Benoît: Right. So in the case of, so you have a ship, let's start from the beginning, you go to the ASAP terminal and you unstow a ship. So the ship lives, is first in your, in your location inventory, and it's in the global DB. You, request the ship shows up on a landing pad. That's that actually behind the scenes unstows the ship. So it moves from the global database to the shard. Now you can, you can, now it's being actively simulated by a game server. And so there's thousands of updates on it, right. To keep it up to date in the DB. You go in it, you start flying it out. You put cargo in it, you drop some items in it, whatever. Then a 30k happens, right. Server ran out of memory or, you know, something like this happens. Now when you come back to the game, the, that ship is still in that shard. All right. It's still in the persistent database of shard 24, for example. And so if you come back and you're match made, most likely going to be match made on another server because shard 24 is not available at the time, especially if you log in rapidly back in. When you enter your new shard, that ship will not be available for sure. Right. So, but it will be available for insurance claims. What we are looking at, at this moment for this problem, because we know that's a problem, obviously this is not cool, right. Is that when a server crashes, well, we have a dedicated recovery mechanism that we're actually putting in place right this moment. We're working actively on this right now throughout our current stability testing, which will auto stow back the ship into your location inventory. And so what that means is we don't want you to be stuck with your ship stuck in a shard. That's no longer available, right? You were actively playing with that ship. It's got cargo in it. We want you to be able to grab it. And so in the case of a 30k, your, your ship would get auto stowed same as your player, because there's no difference between a ship and a player in this instance. So, that's the goal that we have for 318 is to make sure that that case doesn't happen. So that in the case of a 30k, your ship is just stowed back in, in the exact state it was in at the moment of the crash. You keep your stuff, right. That's, we don't want you to be, you know, stuck with a ship that's unavailable. And then you need to find the shard again. And listen, you know, that's like a guessing game. So we don't want you to be stuck at that.

Paul

I do want to add though that eventually, and that's a great feature of persistent entity streaming, if that server 30ks with persistent entity stream before persistent entity streaming, that means this, this whole world would be dead because the memory is gone. Everything is gone with persistent entity streaming. However, the shard and the state of the shard still exists, right? The server crashed because it ran out of memory or there was a game code bug or whatever. It's always game code bugs, by the way. Yes. It's never the core tech. Anyways, when that happens, we can actually start up a new server, and it can load back that shard and then continue simulation for exactly where we left off. Again, for 3.18, because we don't want to address matchmaking just yet. Um, we will do what Ben just said, where we try to take, locate all the ships and we stole them into your location inventory. So you don't lose your ship and the progress on that ship. However, the ultimate goal is that when a shard server crashes, that we restart a new server for that shard and that matchmaking will allow your player to reconnect to that shard and then matchmaking will be able to do, to resolve the slot for that exact shard. So you start ultimately or not in a next iteration, you will be able to start your client. And there will be a little dialogue, which telling you, do you want to wait for your old shard to come back online? Because obviously it takes a couple of minutes before shard is back online and then you will be able to join back to exactly where we left off. Um, and then eventually the final goal, once we have, uh, complete, uh, the, the server matching and the replication layer and the gateway layers all separated at that point, when a server 30 case, you won't even notice you will still stay connected and we start a new server, or we have a fleet of servers already running, which can take over that work. But that's obviously fine in the future. So what we, uh, what, what we're saying is in this very first version to be on pause, what we have right now, server crashes, we take player and you take the ships, put them all into your inventory. So you don't lose progression. And you do, and you will get exact the persistent state back from the ship at the moment, the server crashed. So you don't lose anything. Um, in the next version, we then try to revive that shard and let you let matchmaking allow you to come back to that shart. And then, ultimately in the, in the final version, it should be all, almost transparent to the player.

-
Open in pop-up
Open in new tab
Click to copy link to YouTube
|
Published on this date.2022-09-16
Save Card as Image
ID: 136fc1db0bffae_dashboard_generated_id (Click to copy)
Perma link (Click to copy)
All Q&As from this episode