Back to search

Talk to me, and be candid, about how the checkout and stow on this LTP system works.

TL;DRStowing a ship in an owned inventory creates long-term persistence records for its whole item tree, but many other paths miss them, so the plan is to persist entitlements across patches instead.

Benoit BeausejourChief Technology Officer

So you have the inventory system, where stuff goes and gets stored. And the records for these, let's say you have a ship that you store. You're at your hangar. There's a ship on the pad. That ship is unstowed. It actually lives in the game shard database and is actively being simulated on, meaning we're getting updates from the game server on the ship, its position, its location, the state of doors, thrusters, all that stuff. It's multiple messages per second on these things. So it's unstowed. Now you press the store button on your ASOP, right? Platform goes down, doors close. Now the system will stow that ship. What that means is it deletes the ship from the shard, removes it from the game world, and then moves it to the inventory system. So it gets stored into your location inventory, right? It's stored in there. At that point, if you own the inventory where the ship is getting stored, we create an LTP record for it, meaning that if we wipe the patch right at that second and you come back in the new patch, we will give you back that ship for sure, right? Through the hangar, 100%. But there's other areas where we create ships when they're already stored. There are areas where we do repair and we modify stuff like that. Those are the areas where now the LTP record might not get created, or we might interpret it as a separate thing. The other thing is, when we stow things into an inventory that you own, it's not just a ship. This is the bit that sometimes people oversimplify. It's the tree of the ship. So if the ship has a box container that has 32 SCU of boxes that have handguns in them, I'm going to give you the ship plus the handguns, anything in that tree that is flagged for long-term persistence. So this is where designers look at items in the game and they say, this we want to store cross-patch. There are things we do not want to store cross-patch: ammo, consumables, stuff like this. That's a design decision that we've taken in the past. And so there's this whitelist that comes into play that decides what items we'll create LTP records for and when those get processed. And so the process of taking something that you're storing and then creating LTP records from it is really about processing the whole tree. So when you store an Idris, we might be creating hundreds of LTP records for stuff that's in it, right? And so that gets to be an issue. You can start thinking about the edge cases now, right? You have a Constellation... I don't even know if it fits, actually. Let me take a smaller ship. You have a Gladius in the bay of an Idris, and you store the Idris in your inventory. Technically, you might get the LTP record for the Gladius in this case. Now, it depends on ownership and how that's actually trickling. And so these are all the cases we have to deal with. And so when we told players in the past, oh, you need to store your stuff, what does that mean? I'll give you a concrete example of where there would be a lost ship based on these parameters. Let's say there's no defect in the system, which we're not completely sure of yet. I'm pretty certain there is a defect, but let's start with 'there's no defect'. You play the game with your Gladius, and you leave it in space somewhere. And now you respawn at your station, and your ASOP says Gladius destroyed, or whatever. And now you have the claim button. And you're like, oh, cool, I'll do that later. And you leave the game. And then we patch. You don't have that ship. Because when you unstowed the ship to the game shard to play with it, we removed the LTP record for it. That's the way the system is designed. We're going to change that, because there's too many paths in which stuff gets stowed that could lead to problems or that don't respect the rules properly. And that's what we've come to realize. Without going into too much detail about how we do this, this is part of our item imprint epic, so a very large approach there. Because we always said item recovery tier 0 is just tier 0, so there's more item imprint work there. But part of this is a revamp of how we deal with long-term persistence. And we're going to take a very, I'm going to say, simple approach to this. We're going to persist your entitlements across patches. And so instead of trying to always reconcile all the data from the game state, which, I just gave a couple of examples, but I could go on, the turducken example of stuff in stuff in stuff, all these things can cause either the records to go to the wrong place or the wrong things being persisted. So instead of that, we're going to persist your entitlements. So that means that if you see a ship in your ASOP terminal, you're going to come back in the next patch, and you're guaranteed to have the same list. There's no ifs, ands or buts, because we're keeping that database cross-patch completely. And now, the other question people have, I've seen some comments. People are like, why don't you just persist the whole thing across patches, right? We cannot do that, for reasons related to the data format. So let's say between 4.2 and 4.3, the Gladius you play with is not the same Gladius between patches. It's completely changed. Its shape has changed. Its entity hierarchy has changed. The parameters on them have changed. The components that drive it have changed. And so we don't yet have the tools or the proper approach to version every single part of the game properly so that we could forward-migrate the data, right? So that the Gladius that you've stored in 4.2, its whole tree, its parameters, its snapshots, its variables, all that, you come back in 4.3 and we migrate it to the next one. That's something we want to do. But we're completely not there yet. And so we need this LTP layer. So your entitlement records actually serve that purpose right now. Because when you claim a ship from insurance, we will basically do the same exact thing, which is we persist the fact that you own this ship, and we allow you to obtain a recent version of that ship on the current patch. It'll be exactly the same mechanic.

Star Citizen Live›Tech Talk w/ Benoit Beausejour·
Published on this date.11 Sep 2025