Jump to content

Sign in to follow this  
Sench

[Server, Technical] Current system is terrible

Recommended Posts

After spending a couple of hours yesterday trying to set up a local server for myself and some friends (as I did for ARK and pretty much every game that let me), I realized the current server system is absolutely terrible. For those who do not know, the game world is separated into cells, each one is a separate server thread. I understand that it was necessary to split them up due to the massive size of the map and large player base.

What I don't understand is why it was necessary for each such thread to be an independent server instance in terms of loading game assets. Every single server thread loads all base game assets, even ones that aren't used in that particular instance. With a single cell you have some overhead, but it's negligible. A 2x2 world has your server running 3 redundant copies of every base game asset, and 2x2 is too small to fit even the majority of unique island types. A 3x3, which shouldn't be too claustrophobic, has 8 redundancies. But if you want to make a server with the main quest line working well, you'd need a 4x4 or larger, with 15+ redundancies.

I understand that the current system is much easier in the coding department, but quite frankly, it's terrible. There should be a single master thread that holds base game assets, and the cells should be instance-threads which would only process things specific to their cells. Things already work that way from a gameplay perspective, whereas such a setup would provide a massive save on system resources overall and potentially improve performance.

Share this post


Link to post
Share on other sites

You're assuming that all server instances will be run on the same machine, which is not the case for most servers.
I could see the potential value in an asset agent that runs per-machine and provides in-memory assets to local gameservers, but who knows how that might impact performance... Regardless, I doubt you'll get any attention from the devs by calling their work "terrible".

 

Edited by Guru Drew

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...