lastword Posted April 25, 2019 Posted April 25, 2019 Can some answer some basics? What is the realistic server requirements? What are the bandwidth requirements? If I run a shard how is the exchange handled. If I build a good rack server, (I've built them for clients before) I don't want the exceed my available internet. If fiber was available here at a sane cost, I would not worry but it's not.
The Fifth Horseman Posted April 25, 2019 Posted April 25, 2019 Can some answer some basics? What is the realistic server requirements? What are the bandwidth requirements? If I run a shard how is the exchange handled. If I build a good rack server, (I've built them for clients before) I don't what the exceed my available internet. If fiber was available here at a sane cost, I would not worry but it's not. According to the coder channels in the discord, for a solo player it could be realistically ran on a single consumer-grade machine - the only problem is the mapservers hogging way too much RAM over time. If you want an instance that can handle a larger amount of players, the amount of necessary RAM goes up steeply. This might be resolved as the coders make progress with i24 code.
lastword Posted April 25, 2019 Author Posted April 25, 2019 Thanks, That helps some. Do you have a guesstimate on the bandwidth requirement?
Caol24 Posted April 25, 2019 Posted April 25, 2019 This question goes hand in hand with a thread in /r/cityofheroes in reddit. There is a thread about running your own server, but doesn't go into necessary specs. I'd be curious to see how to go about making admin accounts and such since soloing would be the only thing most people could do with their hardware.
Blackbird Posted April 25, 2019 Posted April 25, 2019 So let me drop some facts on you all, to give you an idea of just how far what we have here actually is from production, and just how CoX's backend went together. The Closed Beta shard ran on one or two desktops that sat on someone's desk. I used to actually have a picture of them. And these were not some sort of high end machine; they had at most, probably 16GB of RAM. We're not talking instance (AP1 is an instance; AP2 is another instance.) I mean the whole shard. And they could load up a few hundred players on there. And these were not multi-core processor machines. For most of it's life, CoX's infrastructure ran on systems with a single socket and at most two cores around 3.4GHz. Certain elements were strictly limited to 2GB because the systems were 32-bit. Certain elements were absolutely dependent on very specific hardware because they'd been written to work around Intel's NetBurst architecture. These were NOT powerful systems by ANY measure. Here's how the processor stacks up against a last-gen low-end Xeon. Because of the way CoX and MMOs in general are developed, they tend to be optimized and written to VERY specific hardware, because that is something they can control. (WoW for example, was heavily optimized for single socket, dual core, 16GB HP blades.) Reducing the server-side hardware variation reduces development effort and costs, allowing more time and effort to be spent on the more complicated and difficult client. They also are less worried about memleaks because they can take maintenance when they please, and automation reduces the maintenance need. Instances could be spawned and restarted on an as-needed basis. As to what it requires these days: again, we're miles and miles and miles from the actual production code. CoX's infrastructure dates to single core processors and wasn't designed with things like significant multi-threading in mind, and certain code paths were optimized for CPU behavior that no longer exists. They also had a large number of physical hosts and heavily leveraged the semi-modular nature of things. (e.g. Dedicated DB servers, dedicated login servers, etc.) Some of those splits were collapsed into combined elements to reduce costs. The net result here is that the requirements just get downright weird. Which, I will note, is not all bad news. Again: it's a very old code base and a lot of it was originally designed around hardware people these days would (justifiably) insist is antique. I think that realistically, one could run as-designed fully segmented setup using VMware ESXi on a single socket EPYC with 64-128GB of RAM. Afraid I can't offer any insight as to the bandwidth though, other than the download servers would eat every single bit of it they could get their hands on and then some. The only two-time Manticore Lookalike Contest winner and Sean Fish approved Archery/Fire Blaster. "I solo'd this as an Ice/Ice Dom and all I got was this lousy t-shirt."
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now