Server Meshing is needed before Star Citizen is anything near resembling and MMO. There is some confusion and drama about exactly what form this will take.
The idea is to have 1000s or more players on servers that are meshed together enabling them to seamless interact and we have had a little more information on this at CitizenCon BUT a lot more from CI’s Chad McKinney from his Twitter… so I want to go over an extremely brief summary of the CitizenCon Server Meshing Presentation, talk about Sharding and then Chads Statements and what it all means for the game.
Object containers have the appropriate assets, entities and info streamed in to a player.
Object Containers can be a planet or star system but also nested in each other down to a single room or even an asset like a weapon with attachments.
Each entity in each object containers information is stored and other parts might be modularly attached.
Bind Culling then streams out objects and object containers that are no longer needed by the player.
Server Meshing plans to have object containers be able to act as servers individually based on local population and to merge with others / be spun down when not needed all seamlessly.
Currently each server has a cap of 50 players that don’t really effect the greater SC world.
CI are working on Sharding. Multiple versions of the Universe will be created partially for redundancy and restoration BUT also to house players that will seamlessly be able to move between shards. This will be much more important when servers house 1000s or more players each.
Server meshing will also ensure that these shards all affect the same greater simulation and that players affect each other’s experience appropriately.
CI have a replication layer that takes a snapshot of the universe that helps with this as well the entity graph database ensuring that there aren’t data copy problems and if there are… they can roll be the data.
This will also see your persistent data saved and have ships and bases around the universe that will be there when you log back on HOWEVER it did seem to imply that these items might follow you around and loaded in with you, so when I log back in they kind of spawn in on the shard OR it tries to get me on the same shard I was previously on… the idea is for this to all be seamless for that player BUT it might be a bit more complicated than that.
When looking at bases and interactions with players and orgs… could 2 different players have a base in the same place technically OR does the greater simulation not allow that to happen?
Items are saved or stowed when you log out or not using them and unstowed when active and loaded in with you… all your ships in storage are stowed until you bring them out.
We will see Static Server Meshing in first which will have different areas of space / planets controlled by fixed servers. Though even this requires major feature updates before it’s ready.
More to this CI’s Chad McKinney on Twitter talked more about Server Meshing and Sharding on his Twitter in quite a lot of detail:
He said that certain features would be phased in over time:
* Support for multiple systems
* Support for global/environmental persistence
* Better server performance
* Increased scalability of our instances which will become shards
* Higher player counts in said shards
* Better fault tolerance and recovery
In regards to Gameplay
The goal is to make your play experience a single consistent seamless experience and not this kind of instanced thing we have now. Different shards will have different state, but we want eventually scale them so dense that you and your friends are tied to a shard permanently.
But what does this mean for PvP and shards interacting with each other?
No the goal is not to have shards interact directly like this but rather that they are so player dense that your experience and that of your friends are consistently tied to a specific shard in which case from your perspective there is one view of the world.
To go beyond that would require a global shard which I mentioned earlier would need further R&D and design considerations and could very well have fundamental limitations that are not acceptable for a game of our scale.
Are there Regional Shards or Restrictions on who interacts with who?
In the case of regional shards you’d be able to select the region, it wouldn’t be ‘locked up’. The shard histories will be different and it will mean if you change shards like this you will be seeing different world states and that they don’t interact.
We will aim increase shard density over time, with regional shards being a more realistic target to aim for first. A global shard has some very real issues that would need further R&D and even design considerations.
There were load of replies and some confusion here too, with Chad going onto clarify:
“Seems a lot of people think I’m saying there won’t be a single global shard in SC. To be clear I never said that. I’m saying that the architecture we presented for CitCon would need further R&D to work towards it, given our fidelity, persistence and scale compared to other games.
This doesn’t mean invalidating the work we have done so far. It builds up over time and the solutions we are working on now are required regardless.”
There’s been a few shifts that have happened over the years as we’ve developed, the biggest was the move to the entity graph storage, which is a better fit for our data.
When might all of this happen? Chad says When it is ready. Which is hard to argue with… it’s very accurate!