Server meshing is probably the most important tech feature that Star Citizen’s PU requires to allow it to enter the mmo realm.
Currently servers can only handle 50 players… and there are lots of networking issues, desync and a lot of the tech and optimization is still a work in progress.
But server meshing along with those tech improvements to networking are being worked on now AND it’s been a long time in the making.
There have been a variety of questions answered about it from CIG devs recently and a load of questions I have seen asked that I wanted to summarize and answer.
What Is Server Meshing?
It opens up the floodgates for lots of players on servers or at least the ability to have servers all sharing data seamlessly between each other so there can be lots of 50 player servers all stitched together BUT you don’t notice that. It’s not instantised..
When Are We Getting SM?
It is still going to be a while before server meshing is fully complete.
And is a combination of tech all coming together.
They do have a lot of the tech all in place and have been running some tests of Server Meshing.
I am optimistically expecting Static Server Meshing in our Q2/Q3 2022.
This would have set areas as servers, so microTech and the area around it is a server, Hurston, ArcCorp, they have their own server that you seamlessly move between.
It will be a while for the next major step of Dynamic Server Meshing after that.
What is Dynamic Server Meshing?
This is the end goal of Server Meshing allowing for each object container, so a room, city, planet, area of space OR space ship to each dynamically become a server and stop being a server based on population and these servers can be nested in each other. So you could have 3 capital ships all fighting each other, each of which is technically their own server.
What if Server Meshing doesn’t work?
Cloud Imperium are confident it will work BUT if it doesn’t work as well as they want, they will optimize it until it does OR use a next best solution.
What is iCache, pCache, Super pCache, and what is the Entity Graph?
Is major tech towards and prerequisite for Server Meshing and a generally smoother and faster Star Citizen.
icache (item cache) now referred to as “Entity Graph”, replaces the older pcache (persistence cache, which does not scale well) and is a faster, more optimized way for database querying, while using best practices for fault tolerance and recovery. All nodes can have their data replicated in the network so even if one goes down, they regenerate the server… this should mean much less in the way of server crashes or 30ks…
The new Entity Graph systems are also being built with gameplay systems in mind and an understanding of how to query data from game servers. They have a much better idea of how the game works than when the legacy pcache was created, so they can design item data to make this new system efficient and minimal, which will also help with stability and scalability.
When properly implemented this should allow for “persistent streaming” and the saving of states, so an item left on the floor would remain there.
I believe this also now encompasses various other features including super pcache and global persistence
You want to hide things or build bases… This is what we need, AND this is a major priority with a hope to optimistically have Persistent Streaming out by the end of the year.
There were some additional questions on Server Meshing Answered by the CIG Devs:
Not at this time. While we’re working on server meshing, programmers across the company are redoubling their optimization efforts, identifying bottlenecks and making plans to fix them. The Engine team has already put a lot of effort into improving our profiling tools to assist with this. Additionally, some of our most senior programmers are in discussions with the content teams about how to ensure new and existing content can be delivered in its most optimal form. Even with static server meshing itself, getting it working is one thing, tuning the static arrangement of servers to balance improvements in player experience against costs is another. We don’t yet know what the outcomes of these investigations will be so currently can’t predict what the maximum number of players per server might be. We’re pretty confident it’ll be more than we have right now, which is about as committed an answer you’ll get from an engineer/programmer
VM’s are billed per unit of time, so 10 minutes for an idle game server costs just as much as 10 minutes for a fully loaded game server. In static server meshing it’s possible that some game servers could be underutilised some of the time. So static meshing definitely has a cost disadvantage compared to dynamic server meshing. For that reason, once the static version is working we’ll be looking to move to dynamic server meshing as quickly as possible. But once the static mesh tech has been shown to work I imagine we’ll tune the number of game servers per shard until we’re happy with the balance of cost versus player experience. Whilst that is happening, we’d also be working on the dynamic meshing tech.
Yes, some bits and pieces have already made their way into 3.13 and 3.14. Mostly refactoring work and some foundations for the Replication Layer. I don’t think they were mentioned in the patch notes, probably because they didn’t change the player experience in any significant way. Releasing changes as soon as we’re able allows us to stress test them in PTU and Live and gather data on how they perform. Bigger, more tangible, pieces will appear in future releases but obviously I can’t give any details that aren’t already on the roadmap.