Titan Network

Community => City of Heroes => Topic started by: Energy Aura on July 21, 2013, 06:22:24 AM

Title: Trying to prepare myself
Post by: Energy Aura on July 21, 2013, 06:22:24 AM
So in preperation for the "likely possibility" of a private server "mysteriously" being release somewhere on the Internet, I am getting my hardware shopping list together for a stand alone "semi-private" server.  Just what "semi-private" means is still up in the air.  Still looking into options on that front...HOWEVER... 

I'm planning to build my own server, so I'm looking for suggestions on hardware configurations.  I've build high end gaming rigs but I know server hardware is a different box of parts.  Also, I'm going to put this server on a seperate broadband connection for security and speed.  Looking at 5MB per second upload for the connection...Enough?  Or should I go with a commercial (business) connection?

Knowledgable input is appreciated!!!

Cheers
Title: Re: Trying to prepare myself
Post by: dwturducken on July 21, 2013, 03:17:50 PM
You should look at what "business" connections really are. In my area (Iowa), a "business" DSL account isn't any faster than a residential account. I have no idea what warrants the 10% up-tick in cost. When I worked for an ISP, the business account was $5 more, and it came with a priority of service if there was ever a problem, but we were a small company limited to the Des Moines metro area.

The cable company is a bit of a mystery to me. I get 24 by 2 on my current cable internet. Most DSL is asynchronous, meaning your up and down speeds won't be equal. The kind of upload speed you listed requires a very short loop length (the distance from the central office to your house). Fiber would fake that, because it puts a fiber-fed DSL access module (DSLAM) in a cabinet near your house. The incumbent carrier put a cabinet a block from my house, and the best speed, 40Mbs, "only" came with 7Mbs up. That was $130 for a residential account.

The best research step you can take is to go to the website of your local DSL carrier and see what the fastest speed is that you qualify for. If you are already a customer, there, you may have to actually talk to someone in their phone center, which means obligatory wait time on hold. If you area already a customer, go into the web interface for your modem and see what the actual speed is. If it's not on the front page, getting to the status should be fairly intuitive. If the actual speeds aren't within 5% of what they are telling you that you should have, have them check the line to your house. You'll have to jump through some of their hoops to eliminate the modem. (My mom had trouble with hers for a year. They sent her three modems before I came and tested the box on her house, which the company owns.  They have a compartment where they test that is essentially only testing the wire, not their box. It took a couple of hours, because they had to send a tech out so I could "prove" to him that the problem was the connection block.) What it will also do is give an indication of how stable your connection will be at higher speeds. Unless your local carrier is advertising heavily that they can get you super fast speeds, you're likely stuck with 60 year old copper lines that have suffered 30 years (since deregulation) of patchwork connections by lazy techs.

tl;dr: You can try, but it'll probably hurt, if it's even possible.
Title: Re: Trying to prepare myself
Post by: Ironwolf on July 22, 2013, 01:53:15 PM
Normally a business connection allows a static address. A standard account likely doesn't.

If you build a server you will want a static address.
Title: Re: Trying to prepare myself
Post by: dwturducken on July 22, 2013, 02:07:21 PM
Yeah, I forgot about that bit. A static IP is, on the server/router side, something that literally costs the ISP nothing, beyond the technician's/CSR's time to implement (if the ISP is remotely competent, it's literally checking a box), so we did it for free, even for residential customers. There are a few things that it allows, particularly for the work-at-home folks.

Subnets, on the other hand, took up larger chunks of addresses, so we charged for those, just because it was a larger bit of real estate. I would expect most ISPs to have a whole separate category of support, when you start talking about that, assuming they would even offer it to a smaller business customer.

As an aside, from what I've seen around here (Mediacom), it may be difficult to get a static IP from a cable internet provider. A smaller, local ISP, if you have one, would likely be more knowledgeable and flexible, at least in the first "layer" of support, though I doubt they would be less expensive.
Title: Re: Trying to prepare myself
Post by: Energy Aura on July 23, 2013, 04:27:38 AM
I have 2 options in my area...CenturyLink DSL and Charter Pipeline.

Hadn't thought of the static IP...Good call. 

Hardware concerns are my first priority.  I guess I was hoping for some "unofficial" idea on server requirments...

As far as configuring and Internet, I'll be a bit out of my league, so I'm copying the replies to a .doc so I can have them on hand when I start the work up on this project...

Thanks for the input to date...
Title: Re: Trying to prepare myself
Post by: Electric-Knight on July 23, 2013, 04:37:49 AM
Hey, I like this approach... "If you build it... they will come".

Haha!  :)

(I know that's not really what you're doing!)


I don't have anything valuable to add... move along... move along.

Good luck with putting it together though! :)

I look forward to the day you make use of it!

Title: Re: Trying to prepare myself
Post by: MWRuger on July 23, 2013, 05:29:20 AM
I have no idea what the requirements might be. But...

It was on older game so it originally ran on older hardware. Even with the graphic upgrades, I suspect most of that was stored clientside so I don't think the requirements will be super high end stuff. Also, I think it will depend on how many active players you expect to host.

A small server that hosts maybe a zones worth at one time might get along pretty reasonably.

Of course, that may change depending on how much emulation of the server farm has to be done server side.
Title: Re: Trying to prepare myself
Post by: Super Firebug on July 23, 2013, 07:44:27 AM
If a private server program were released, and if one intended to play CoH as a single-player offline game, would a second, connected computer be needed to act as the server? Or would the server run on the same computer as the game? My desktop computer is able to run two CoH windows with just the occasional momentary hitch in character movement. If the server program runs on the same computer as the game, would that be good enough for smooth gameplay? (In case you didn't guess, I have NO idea as to what the server might need.) Would someone clear this up for those of us who are in the dark on this, please?
Title: Re: Trying to prepare myself
Post by: General Idiot on July 23, 2013, 08:00:11 AM
Quote from: Super Firebug on July 23, 2013, 07:44:27 AM
If a private server program were released, and if one intended to play CoH as a single-player offline game, would a second, connected computer be needed to act as the server?

There's no mechanical reason I know of why you should NEED a second computer, but if your computer was lower spec for playing CoH to begin with it might have trouble running a server at the same time. Especially if there's more than just you on said server.

QuoteIt was on older game so it originally ran on older hardware. Even with the graphic upgrades, I suspect most of that was stored clientside so I don't think the requirements will be super high end stuff. Also, I think it will depend on how many active players you expect to host.

This is true, but also be mindful of just how much was added to CoH over the years. Things like bases, AE, power customisation, extra factions, the F2P conversion... all add extra load on the server. It's why they had to upgrade them several times over the years.
Title: Re: Trying to prepare myself
Post by: Energy Aura on July 23, 2013, 09:26:42 AM
Right now I am leaning towards a "Task Force" server.  I want to be able to host TFs (the 8 men ones) perhaps 2-3 different ones at a time.  Also events to get the LARGE Incarnate TFs and a weekly MSR for as many as the server can hold.

I am guessing with these factors, daily individual or small team play should be no problem.

Cheers
Title: Re: Trying to prepare myself
Post by: Thunder Glove on July 23, 2013, 02:19:39 PM
... do you have information I haven't heard about a community server, or is all this just hypothetical?

(Because, let me tell you, my regular game is annoying the hell out of me today, and I'm more than ready for some CoH)
Title: Re: Trying to prepare myself
Post by: Super Firebug on July 23, 2013, 05:39:21 PM
I asked because, when I hear/read the word "server", I tend to think of hardware - a computer acting as a hub, to which other computers connect (as in what server farms have). I was pretty sure that people were meaning "server program" when they said "server", but wanted to be sure on the hardware-necessity aspect. (For instance, the OP uses "server" in referring to both building a hardware server, and a server program being released on the Internet.) Also, I have no idea as to how big a server program might be, but I was able to run two CoH windows on my desktop for inviting my f2p-account toons into my SG. So, it sounds as if it can handle running a server program.
Title: Re: Trying to prepare myself
Post by: MWRuger on July 23, 2013, 09:31:45 PM
You should be able to emulate a second PC on your box using virtual box.

Also depending on how it is written, it might see your local COH folder as separate instance, Basically, you would figure out all the hardware calls it makes, intercept them and route them to software responses keeping all traffic internal to your box.

Another possibility: when you host a server for an online game, you can connect to that server, from that server. You are usally dispised because your ping is so low. Not an issue for PVE surely.

PLEASE NOTE: No one on this thread (as far as I know) knows jackshite about any projects. We are all just speculating and spitballing on the possibilities and what might be required and how it might run.
Title: Re: Trying to prepare myself
Post by: MWRuger on July 23, 2013, 09:56:06 PM
Quote from: General Idiot on July 23, 2013, 08:00:11 AM

This is true, but also be mindful of just how much was added to CoH over the years. Things like bases, AE, power customisation, extra factions, the F2P conversion... all add extra load on the server. It's why they had to upgrade them several times over the years.

Yes, this is true. But since almost all of the assets (maps, animations, effects, NPC's, dialogue, music, sound effects, cutscenes) are stored locally and since graphic rendering is all done locally the server really just tells your machine what to display and updates what others are doing and tells your machine what to display. What passes between the server and the client is essentially positional information and timing of events. Lag occurred not just because of intensive graphics (although that could slow down your machine if everyone was using special effects and auras) but also because of the amount of data regarding whatever one else, the NPC's and the event were doing and what the individual player could see.

So the server determines what is in range of sight of the player. It then receives input from multiple clients updating what each player is doing, calculates what NPC's would/should do in response to those inputs, then tells each of those clients what effects, animations, changes in position, etc. Oh yes and also calculates combat, endurance and HP changes, advances the clock and checks for expiring effects, buffs, starts/ends zone events, processes chat across multiple channels, etc.

Each sub system would add a burden. EXP: The market would freeze if there are too many transaction trying to processed at one time. Transactions are time based.  If two people bid the same amount on the same item, the item goes to the first bid submitted, the same for sellers. So it has to keep track of that as well.

You get the idea. The good news is computers are great at this kind of tedious crap. The bad news, there's a lot of it. Still, the load for something like a Hami raid or a server event in Atlas while massive and lag inducing, is vast and huge compared to a server that is only serving a few dozen clients. It should red line only if you are doing some zone event and have everyone doing stuff in the same instance.


CAVEAT - This is all based on the assumption that I understood what Codewalker was talking about when he describer server activity in the Icon thread. It was very cool and eye opening. :)
Title: Re: Trying to prepare myself
Post by: MWRuger on July 23, 2013, 10:14:47 PM
Last post, I promise.

I have been toying around in my head with a server scheme that uses VPN to secure activity on the server and share the load via distributed computing. It would be logistically complex, but would have the advantage of scaling based on the number of attached players and the power of the machines connected. So if your rig is a monster it would handle more of the load this would allow slower, older PC's to play and carry a smaller burden.

Still, there would need to be one master server to oversee data update to various systems. The idea is to allow secure, offline play that can be uploaded to the "world". So if you wanted to play, but there were no other servers on your VPN, you could play and when you log back into the VPN it would update across the network with "Changes" you made. (exp. Architect missions added, Items bought/Sold from vendors/auction house, etc)

This would also allow the master server to add new costume pieces and custom mods (assuming everyone agreed) so that you'll see what other players designed without having to self mod your install. When a new system joins the VPN, it would essentially patch the new PC to match the version that everyone is playing.

Each system in the network would have a random seed generated encryption key tied to userid (unknown and unknowable to the enduser). All data transmitted would be tagged with that key. Only characters created, wealth & XP earned, inventory and tagged with that key would be able to access the network (This is to help prevent cheating and exploits)

The many subsystems of the game would function in conjunction with the Key. Timing would be determined by login time. In the case of the auction house (off server activity is logged and processed with the master file at the time of login.

Finally, it might be possible to VPN the master servers to a seperate network that would allow them to update and share information across a much vaster world by linking each VPN instance of the server world to one system that ensures security and consistency to the game, much in the same way as the original COH servers/updater did
Title: Re: Trying to prepare myself
Post by: Super Firebug on July 23, 2013, 10:33:01 PM
Quote from: TheDevilYouKnow on July 23, 2013, 09:56:06 PM
...Oh yes and also calculates combat...,

That would explain, in a nutshell, why powers and targets HAD to be kept serverside. In the case of team action, for instance, the server kept track of the bad guys' stats and actions, gathered the attack data from each player computer, calculated the results, and sent them out to update the players' client displays. Like a D&D dungeon master. I don't believe that could have reasonably been done on each team member's computer.
Title: Re: Trying to prepare myself
Post by: MWRuger on July 24, 2013, 04:46:44 AM
Oh yes. It also explains why Character Data was stored server side. Hackers would have edited their toons to max them out. If you think AE babies were bad, I can't imagine how awful that would have been.

BTW, this also explains why Icon currently does not have persistence and why you can't save your toon in Icon. The client does not have that capability.
Title: Re: Trying to prepare myself
Post by: Thunder Glove on July 24, 2013, 05:31:02 AM
It's just not practical for characters to be stored client-side for any MMO, not just CoH.  Not only would they be incredibly easy to edit (it wouldn't take any special hacking tools, just a text editor and some knowledge of what you're doing), but your characters would be lost just by switching computers or redownloading the client.

Similarly, I'm not aware of any MMO that does combat calculations client-side.  They're all done server-side.
Title: Re: Trying to prepare myself
Post by: MWRuger on July 24, 2013, 05:35:36 AM
I know, but I think many players have given little thought to how these games work. But why should they?

Download and play and let devs take care of it. At least until they close your game and you want to reverse engineer it. I never thought much about it until it closed.
Title: Re: Trying to prepare myself
Post by: Richpur on July 28, 2013, 03:14:53 PM
Quote from: Thunder Glove on July 24, 2013, 05:31:02 AMSimilarly, I'm not aware of any MMO that does combat calculations client-side.  They're all done server-side.

When I played shortly after launch Defiance was notorious for letting the client do hit checks and specify damage. One shot kills against raid bosses with a pistol were simply a matter of a memory edit.
Title: Re: Trying to prepare myself
Post by: The Fifth Horseman on July 28, 2013, 04:28:40 PM
Quote from: Energy Aura on July 21, 2013, 06:22:24 AMSo in preperation for the "likely possibility" of a private server "mysteriously" being release somewhere on the Internet, I am getting my hardware shopping list together for a stand alone "semi-private" server.  Just what "semi-private" means is still up in the air.  Still looking into options on that front...HOWEVER... 
I suggest you wait until the elephant is actually in the room.
Hardware prices are anything but static - invest in it now and half a year later when the server software actually becomes available you'll find that you would now be able to get much better deal for the same money.
Title: Re: Trying to prepare myself
Post by: Richpur on August 05, 2013, 08:57:51 PM
Quote from: The Fifth Horseman on July 28, 2013, 04:28:40 PM
I suggest you wait until the elephant is actually in the room.
Hardware prices are anything but static - invest in it now and half a year later when the server software actually becomes available you'll find that you would now be able to get much better deal for the same money.

Or when the elephant arrives it will cause the largest spread purchase of server components in a decade and prices will go through the roof.  :P
Title: Re: Trying to prepare myself
Post by: Codewalker on August 05, 2013, 09:26:10 PM
Quote from: Richpur on August 05, 2013, 08:57:51 PM
Or when the elephant arrives it will cause the largest spread purchase of server components in a decade and prices will go through the roof.  :P

I don't want to jump in
Unless this music's thumping
All the dishes rattle in the cupboards
When the elephants arrive
Title: Re: Trying to prepare myself
Post by: Ironwolf on August 06, 2013, 01:22:20 PM
I have in the past ran servers for both Halflife TFC and Soldier of Fortune 2. Here is my Newegg wish list for a CoH server:


SAMSUNG Internal Slim 8x DVD Writer SATA Model SN-208DB/BEBET                                                                            $21.99

ASRock N68C-GS FX AM3+ NVIDIA GeForce 7025 / nForce 630a Micro ATX AMD Motherboard Item #: N82E16813157309  $44.99

G.SKILL Ripjaws X Series 32GB (4 x 8GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory                     $264.99

AMD FX-4130 Zambezi 3.8GHz Socket AM3+ Quad-Core Desktop Processor FD4130FRGUBOX                                         $104.99

SanDisk Ultra Plus SDSSDHP-128G-G25 2.5" 128GB SATA III MLC Internal Solid State Drive (SSD) -$10.00 Instant          $399.96($99.99 each)

• Corsair Carbide Series 300R Windowed Black ATX Mid Tower Case Item #: 
• CORSAIR Builder Series CX600 600W ATX12V v2.3 80 PLUS BRONZE Certified Active PFC Power Supply                        $144.98

Subtotal: $981.90

I would run the disks with one SSD as the operating system and the other 3 in a raid configuration. You would have a blazing fast system with 32gb of ram and if needed you could raise that up. I would imagine this could sustain 64 players or so. If you want to host a larger game you are going to need a server farm and sharing the load across multiple machines as I believe NCSoft did.
Title: Re: Trying to prepare myself
Post by: Codewalker on August 06, 2013, 01:52:46 PM
My advice for a server running an MMO: Spend less on SSD (old school rotating disks would be just fine) and more on RAM.
Title: Re: Trying to prepare myself
Post by: Ironwolf on August 06, 2013, 01:57:37 PM
I agree - I just like the whole less moving parts thing :)

When I am building a no failure system, I really like the SSD's. It couldn't be a bad thing to have 64 or 128gb of ram at all. I know many servers go over 256gb.
Title: Re: Trying to prepare myself
Post by: FatherXmas on August 06, 2013, 03:35:12 PM
Quote from: Ironwolf on August 06, 2013, 01:22:20 PM
I have in the past ran servers for both Halflife TFC and Soldier of Fortune 2. Here is my Newegg wish list for a CoH server:


SAMSUNG Internal Slim 8x DVD Writer SATA Model SN-208DB/BEBET                                                                            $21.99

ASRock N68C-GS FX AM3+ NVIDIA GeForce 7025 / nForce 630a Micro ATX AMD Motherboard Item #: N82E16813157309  $44.99

G.SKILL Ripjaws X Series 32GB (4 x 8GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory                     $264.99

AMD FX-4130 Zambezi 3.8GHz Socket AM3+ Quad-Core Desktop Processor FD4130FRGUBOX                                         $104.99

SanDisk Ultra Plus SDSSDHP-128G-G25 2.5" 128GB SATA III MLC Internal Solid State Drive (SSD) -$10.00 Instant          $399.96($99.99 each)

• Corsair Carbide Series 300R Windowed Black ATX Mid Tower Case Item #: 
• CORSAIR Builder Series CX600 600W ATX12V v2.3 80 PLUS BRONZE Certified Active PFC Power Supply                        $144.98

Subtotal: $981.90

I would run the disks with one SSD as the operating system and the other 3 in a raid configuration. You would have a blazing fast system with 32gb of ram and if needed you could raise that up. I would imagine this could sustain 64 players or so. If you want to host a larger game you are going to need a server farm and sharing the load across multiple machines as I believe NCSoft did.

Sorry, that motherboard may have four memory slots but 2 are DDR2 and 2 are DDR3.  It's a bridging MB for AMD users who can't afford to upgrade all at once.  Here's an alternative (http://www.newegg.com/Product/Product.aspx?Item=N82E16813131942).  +$10-20 depending if you count the rebate or not

Note neither your original choice or this one has 6Gb SATA III drive interfaces.  Not a lot of options (http://www.newegg.com/Product/Product.aspx?Item=N82E16813138372) in the under $75 range.

Skip the Zambezi FX chips.  Go with either the FX-4300 or FX-6300.  They are 2nd gen FX chips that have naturally higher clock speeds and some performance tweaks.  +$15
Title: Re: Trying to prepare myself
Post by: Ironwolf on August 06, 2013, 03:46:26 PM
Sounds good Father, I was just quick shopping while multi-tasking and wanted a 4 slot board.

I know the SSD's are overkill but I like less moving parts and after hard swapping many drives that fail - I wanted to lessen the chances. You would want a 64bit OS as well for this to be able to use all of the memory. 32 bit systems can only access 4gb.

I know that may be obvious to some but if you are building your first server it may be overlooked.
Title: Re: Trying to prepare myself
Post by: FatherXmas on August 06, 2013, 03:54:45 PM
And the Slim DVD burner is really for laptops not desktops unless it's compact ITX case.  I also updated my previous post when you were typing yours.

So 128GB for OS, 256GB usable RAID 5 data drive.  I believe there are still issues with SSD TRIM and RAID configurations but honestly I haven't been following that closely.  No big deal except for faster write speed decline because of delays in garbage collection.
Title: Re: Trying to prepare myself
Post by: Codewalker on August 06, 2013, 04:24:52 PM
Quote from: Ironwolf on August 06, 2013, 01:57:37 PM
I agree - I just like the whole less moving parts thing :)

When I am building a no failure system, I really like the SSD's. It couldn't be a bad thing to have 64 or 128gb of ram at all. I know many servers go over 256gb.

Don't get me wrong, I love SSDs in desktops and laptops. On a server though they may not always be the best choice. It depends on the expected workload.

It will certainly make the OS boot faster, but that happens once in a blue moon. On a game server - especially an MMO - just about everything is kept in RAM at all times. Only character loads/saves touch the disk and those happen infrequently enough that a good cache on your disks will hide the latency no matter what the backing storage is.

"No moving parts" doesn't necessarily mean less chance of failure. SSDs tend to suffer electronics failure more often than magnetic drives, and when they do it's a total loss. I've had at least one just start randomly disconnecting from the SATA bus. If it's a write-heavy workload they can also be less than optimal due to frequent stalls on full cell erasures (good/expensive SSDs parallelize this and manage to hide it... mostly).

Obviously if cost isn't an issue I prefer RAID6 or RAIDZ2 bulk storage on many SAS spindles with a few SSDs used as a big layer 2 cache for the most active data.

RAID1 is the only type of RAID I'd feel comfortable using on an SSD, and what I would go for to protect against one running out of write cycles. Wear-leveling algorithms have gotten better but aren't perfect.