Author Topic: Server Spec, Benchmarks Etc  (Read 1522 times)

Alphi

  • Hydlaa Resident
  • *
  • Posts: 66
    • View Profile
Server Spec, Benchmarks Etc
« on: May 01, 2006, 06:42:52 am »
I'm a .Net developer which a little (but not extensive) C++ programming experience.

I'm interested in implementing a test client server environment and looking at the code to see if theres anything I can do to help fix bugs etc

Just wondering what the minimum requirements for the server are.

And also current theoretical limits..
I.e. how many users, NPCs, etc a server with a certain spec can support.

I know these numbers are always changing.. but it would be nice if I could get some ball park figures.

Cheers,



DaveG

  • Forum Addict
  • *
  • Posts: 2058
    • View Profile
Re: Server Spec, Benchmarks Etc
« Reply #1 on: May 01, 2006, 08:32:39 pm »
Hmm... not sure exactly.  If you're going to run the client, server, and NPC client all on one box, the requirements of the client are what you'll have to meet.  You'll want a fair amount of RAM if you want to load all the maps on all 3 apps.  You can take a look at the Laanx box to see what we're using right now.  (we're also running a bunch of other things on there, and it all works fine)  You could run your own test server on a fraction of that, seeing as you won't have that much on it.

We don't really know what our maxes are, honestly.  The max online is set in psserver.cfg with Planeshift.Server.User.connectionlimit, and defaults to 20.  I think Laanx is set at 2 or 3 hundred, though I'm not sure.  It can probably take much more.  The one thing that restricts things at this point is the size of the world.  (that, and our server being in Singapore with a 1/3 second ping...)  If a few hundred people are online, they're all fairly close together, and more messages have to be sent to those in the area.  It can get choppy, but it still works.  When it comes to NPCs, we have a couple hundred running, and it seems to work more or less fine.  (NPC client is our least reliable app, however...)

About the only advice I can give you is to make sure you have enough memory.  1GB should be fine; you could get away with 512MB if you're not also running the client on that box, or if you only load npcroom.

::  PlaneShift Team Programmer  ::

Alphi

  • Hydlaa Resident
  • *
  • Posts: 66
    • View Profile
Re: Server Spec, Benchmarks Etc
« Reply #2 on: May 02, 2006, 05:16:05 am »
Thanks for that,

Does the server component only run on linux ?

I have a celeron 533Mhz with 786MB of ram just sitting there doing nothing that I could use as my test server.
I have other computers but they are all being used untill I upgrade in a few weeks.

I'm interested in learning more about MMORPGS

Is the choppy nature past several hunded due to Network Bandwidth or Memory Page Swapping ?

I have ADSL and I have noticed that if my bandwidth is flooded with download trafic that the Planeshift Game appears run rather choppy.. (but thats to be expected)
The graphics run smoothe at 1200x1024 with no dramas at all.. my card is a Geforce 6200 el cheapo

Do you use compressed packets for the PlaneShift network trafic ?





DaveG

  • Forum Addict
  • *
  • Posts: 2058
    • View Profile
Re: Server Spec, Benchmarks Etc
« Reply #3 on: May 02, 2006, 05:39:10 am »
Does the server component only run on linux ?
You can compile it for Linux, Windows, or Mac.  We usually go with debug mode, but optimized mode works too.

I have a celeron 533Mhz with 786MB of ram just sitting there doing nothing that I could use as my test server.
That's a bit slow.  Probably could get it working, though.  Usually, if you want to test the best route is to just run everything on one machine.  You don't really need to go across a network for most testing.

Is the choppy nature past several hunded due to Network Bandwidth or Memory Page Swapping ?
Most of our swap issues have been fixed now.  There is a noticable hit from all the extra messages, but I think most of the lag is from having more entities to keep track of sucking up extra cycles client-side.  If you walk into a heavily populated area, you can also really notice the pause as it recieves and deals with all the persistant actor messages.  Players have also complained of lag caused by littered items in certain areas.

We've never really even had 200 on at once, and even when we get close it's not that bad.  If they all kept away from eachother, it probably wouldn't ever be noticable.  ;)  However, when there's a few dozen people running around in the same map they all need to know about everyone else's movements.  So, the total number of messages goes up as the square of the number of people involved.  If you goto the plaza when there's alot on, people loiter, and you'll notice what I'm talking about.  However, go off to the bottom of the sewers or something and it gets much better.

Do you use compressed packets for the PlaneShift network trafic ?
Most of it isn't.  I compress one big message at login, because it's only compressed once and reused, then only decompressed once at login.  Some of the messages are packed rather simply, and wouldn't benifit from compression.  Others are bloated XML...  :P  However, the only other messages that could really benifit from compression are the character creation messages.

::  PlaneShift Team Programmer  ::

Alphi

  • Hydlaa Resident
  • *
  • Posts: 66
    • View Profile
Re: Server Spec, Benchmarks Etc
« Reply #4 on: May 02, 2006, 06:54:23 am »
lag with too many players in one area,

is that also the reason for the low field of view ?

I've noticed that plants only appear at a fairly close radius, and the other characters only animate at a close radius too..
have you thought about fog effects to try and limit the obviousness of it?.

I assumed it had more to do with performance one the server/network side than on the client side..

I havent noticed any lag with 10-15 players in my FOV... I only get lag when I flood my network with download trafic.

Are there any windows binaries for any of the server side components or do I have to compile it all myself ?



AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
Re: Server Spec, Benchmarks Etc
« Reply #5 on: May 02, 2006, 07:18:13 am »
Yes, as far as I know and remember the fog effect has been discussed and discarded.

There are different way of handling the frustrum in CS, I think PS uses still two, dynavis and frustvis. You can read about them in CS documentation (www.crystalspace3d.org). Dynavis is used in the big wildnerness between akkaio and hydlaa, while for the rest frustvis is used.
Different way of handling the objects are used in different contexts. I think CS was trying to implement PVS some time ago, but I saw it now as one of the tasks of the "Google Summer of Code" - you can read about it and PVS in CS website.

There are no windows binaries.
You can find comfortable to have a network "server client thing" if you are gonna test with more than two clients, considering your spec.
I have been able to test with 3 clients on the same computer, but I wouldn't recommend it to anybody.
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess

Alphi

  • Hydlaa Resident
  • *
  • Posts: 66
    • View Profile
Re: Server Spec, Benchmarks Etc
« Reply #6 on: May 02, 2006, 07:31:42 am »
Oh I have more computers no problems there..

Only at the moment thats the only one I could put linux on..

I was deliberating whether it was easier to have a client server with a low spec Linux box...
or trying to recompile the whole thing to work in windows.

What do you need to run the Database BTW ?




AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
Re: Server Spec, Benchmarks Etc
« Reply #7 on: May 02, 2006, 07:42:37 am »
For the DB we use MySQL with version > 4.0
I think Laanx uses still 4.1 or something.

AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess