🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Dead at 75 - improving the server

Started by
9 comments, last by KalvinB 23 years ago
The server computer is an AMD 333 with 352MB of ram running Win2k. I believe the network connection is 100mbit but it might be 10mbit. With 5 NPC clients running on one computer controlling 15 NPCs each the server program exited out. Network traffic averaged 1KB up and 1.5KB down per second for each of the NPC clients which isn''t much considering how much bandwidth I have. That figure includes any overhead from the packets. How could I go about improving the limit on the server? Better processor? More memory? The server program runs about 120,000fps (redraw every 5 seconds) when unloaded and was at about 430 when the server program quit. The normal client I had running to monitor what the gameworld looked like it handled everything fine. Framerate could have been better but it''s a crap computer. All clients automatically shutdown when the server quits so there were no issues there. Ben http://therabbithole.redback.inficad.com
Advertisement
It was the overhead of running five instances of the same program that caused the problems server side.

I added three lines of code upping the max NPCs per bot to whatever I want. At 120 NPCs the down rate is 5318bytes per second. The up rate is 2768Bytes per second. Server frame rate dropped to 95,000fps and had no problems.

The NPC bot was about ready to pass out but it pulled it off. The current client available for download is compatible with the current server. Once I get the NPC bot running smoothly I''ll leave it on so anyone with an account can check them out and see how it performs. I need to check long term functionality anyway.

Ben
http://therabbithole.redback.inficad.com






Hey, good to see someone actually making headway on their own massively multiplayer game!

Your terminology kind of confuses me though... wouldn''t an NPC be completely controlled by the server and therefor not have any bandwidth considerations? Are you using "NPC" to refer to your test clients?

Also... is that 5Kbytes/sec figure PER client? If so, I think that is way too much. I would shoot for something like 1Kb/sec... that is much closer to what current MMORPG utilize... also makes the math easier in determining how many users your game can support. Are you going to run it off a DSL connection? Cable? Or co-locate your server somewhere ($$$!!!)?
The NPC client runs over the LAN (saving internet bandwidth) and controls the NPC characters. It makes it possible to have unlimited AI and to modify the NPCs without interuption to the gameworld. Aside from a rapture of sorts.

It''s 4.6K per second up and 4.6K down with 336 NPCs running around which is about 16bytes per character per second each way. Tommorrow I''ll be upping the NPC character count to over 500 and testing it over a 56k modem to see how it plays.

Right now it runs off my web-server which is a standard 256K DSL line.

Ben
http://therabbithole.redback.inficad.com




Here are the results from a quick test. The client was running on a P200 with 48Megs of ram and a Voodoo3 3500 video card. The modem connected at 28.8 The NPC client had 336 characters running around.

Modem stats:
1109688 bytes recieved 1020 secs
833310 bytes sent 1020 secs

468 seconds load time

-A P200 with 32Megs RAM and a Voodoo3 2000 loaded the same client in 138seconds. So there were issues with the computer I used.-


552 sec play time
2010.30 bytes/sec recieved
1509.61 bytes/sec sent
---------
3519.91 bytes/sec total

3686.40 bytes/sec max at 28.8kbps


Server stats:
362662435 bytes recieved 77752 seconds 4664.34 bytes/sec
364215237 bytes sent 77751 seconds 4684.38 bytes/sec

The NPC client ran for a 21.6 hours with no problems before I shut it down which is great. The server stayed about 100,000 fps the entire time.

Ignoring the performance of the crap computer (2 fps with a large number of characters on the screen) that was used, I think the numbers are good. 33.6k will probably end up being the minimum requirement and 56k recommended.

Once a new client is released and numbers come in we''ll figure out the minimum specs for the PC.

Ben
http://therabbithole.redback.inficad.com
Ah, I understand now... you have a seperate dedicated machine handling all the NPC interaction. That is interesting. So if the NPC server goes down do the NPCs just stand there like statues?
Pretty much. The way it''s set up it''s entirly possible to have another system on standby so that if one goes down the other can quickly take over that set of NPCs while I fix the problem.

Ben
http://therabbithole.redback.inficad.com
What kind of game is this? Is it commercial? If so, who are you working for?
I'm working for Outworld Entertainment. It's a local company that just started a couple years ago. We're looking to do a release late July or early August.

It's an MMORPG with a western setting.

Ben
The Rabbithole

Edited by - KalvinB on May 29, 2001 5:17:49 AM
Random question: have you considered making a partial version of the NPC API available to users? It might be neat to be able to play with coding bots.

This topic is closed to new replies.

Advertisement