Jump to content
Sign in to follow this  
Sibolo

Dedicated server performance

Recommended Posts

The content of the missions doesn't matter. If it's a CO server then it is running the arma2oa executable, meaning that vanilla Arma2 players will not be able to join anyway.

If you are running OA or CO, report to arma2oapc.master.gamespy.com, not to arma2pc!

Thanks for clearing that up :).

Share this post


Link to post
Share on other sites

Bumping up the thread, can anyone confirm that this is satisfying server config for commercial servers out there please? I mean serious machines on serious networks for serious money? So I can buy one and then upload this cfg on it getting the job done? Thank you.

language="Italian";

adapter=-1;

3D_Performance=93750;

Resolution_W=800;

Resolution_H=600;

Resolution_Bpp=32;

viewDistance=3000;

terrainGrid=25;

Windowed=0;

MaxBandwidth=100000000;

MaxMsgSend=64;

MaxSizeGuaranteed=1024;

MaxSizeNonguaranteed=256;

MinErrorToSend=0.001;

MinErrorToSendNear=0.02;

MaxCustomFileSize=0;

I let myself to make a slight correction in the code between lines 1 and 2.

EDIT:

Well, it is not at least on serious machine hosted by our serious provider. (JestServers)

I used it on dedi and experienced only problems with around 10 players +. Huge lag in mission briefing and server crashes

Had to revert to previous cfg, the one with some yellow chains (quite rare), but working well.

Looks like your config folks is too optimistic in lowering certain values.

Here is ours at ACPL server, it is based on KH config found there http://www.kellys-heroes.eu/files/tutorials/dedicated/

language="English";

adapter=-1;

3D_Performance=93750;

Resolution_Bpp=32;

Windowed=0;

MinBandwidth=10000000;

MaxBandwidth=2147483647;

MaxMsgSend = 1024;

MaxSizeGuaranteed = 1024;

MaxSizeNonguaranteed = 64;

MaxCustomFileSize=0;

MinErrorToSend = 0.001; //suggested on BIS from 1.60 patch

MinErrorToSendNear=0.02; //introduced from 1.60 patch, default 0.01

Looks like MinBandwidth param is not so obsolete as it may seem, or I am mistaken at some point. Nevertheless the first config has some flaws in case of our server.

Edited by Algrab

Share this post


Link to post
Share on other sites

What would be a good setup for a dedicated server box running 4 servers instances for Dayz? It would be nice to have a good example for those of us not so tech savvy, but have the cash to put up servers.

Share this post


Link to post
Share on other sites

Using this for 30 slot public server looks good so far.

language="English";

adapter=-1;

3D_Performance=1;

Resolution_W=800;

Resolution_H=600;

Resolution_Bpp=32;

Windowed=0;

viewDistance=3000;

terrainGrid=25;

MaxMsgSend=32;

MaxSizeGuaranteed=1024;

MaxSizeNonguaranteed=256;

MinBandwidth=76800000;

MaxBandwidth=1048576000;

MinErrorToSend=0.001;

MinErrorToSendNear=0.0099999998;

MaxCustomFileSize=163840;

Its arma2oa.cfg server is i5 2300 @ 2.8Ghz / 16gb RAM / 100Mbit dedicated line, hosted in data center. Its dedicated linux server. Have slight desync when I connect but that might be caused by dooacs script. Right after it reports PASS desync is gone.

This thread has been of lots of help to set this up, make it sticky and organize better a bit?

Share this post


Link to post
Share on other sites

as newest beta 1.60.93160 includes multiple tweaks and improvements to servers and netcode, please keep share your findings and settings

Share this post


Link to post
Share on other sites

I'm using the following currently, and get little spells of lag from time to time when running 3 servers off the box. We shut down the 4th because it causes too much lag until I can figure out some better settings (and I'm not sure what to do). Also cant find good documentation on how to run the server as beta, other than overwriting the .exe directly.

language="English";

Windowed=0;

adapter=-1;

3D_Performance=1;

Resolution_Bpp=32;

MinBandwidth=92160000;

MaxBandwidth=100000000;

MaxMsgSend=36;

MaxSizeGuaranteed=1200;

MaxSizeNonguaranteed=600;

MinErrorToSend=0.001;

MinErrorToSendNear=0.0099999998;

MaxCustomFileSize=0;

Share this post


Link to post
Share on other sites

arma2oaserver.exe -mod=Expansion\beta;Expansion\beta\Expansion ... etc or simply run server from arma2\Expansion\Beta\arma2oaserver.exe

HOW TO INSTALL AND RUN THE BETA PATCH ------------------------------------------------------------------------

Run the patch exe to apply the patch setup automatically (you may be prompted to choose your exact version in some occasions).

* It will install all beta content to a mod folder "Expansion\Beta", including the beta exe (that has to be run properly with working directory set to the main game installation, see below for more information)

* To launch Arma2 Operation Arrowhead beta patch you need to go to the main game directory and click on shortcut "Launch Arma2 OA Beta Patch"

* You can configure your Arma2 OA with Beta Patch including other mods etc., just make make sure that: in your ArmA Shortcut start-up Target line;

- You are running the Arma2OA.exe from your "Expansion\beta" folder.

- You have "Expansion\beta;Expansion\beta\Expansion" in your modfolder as in

- You have "Expansion\beta;Expansion\beta\Expansion" in your modfolder as in

-mod=Expansion\beta;Expansion\beta\Expansion

example: "C:\Program Files\Bohemia Interactive\ARMA 2 Operation Arrowhead\Expansion\beta\arma2OA.exe"

-mod=Expansion\beta;Expansion\beta\Expansion

- Make sure the shortcut's "Start In" section refers to main "ARMA 2 Operation Arrowhead" main working folder

and NOT "ARMA 2 Operation Arrowhead/beta"

example: "C:\Program Files\Bohemia Interactive\ARMA 2 Operation Arrowhead"

You can always run your Arma2 OA final version in the main Arma2 OA folder if you use default application shortcuts, start menu or run the regular arma2OA.exe without the beta mod folder.

Edited by _MaSSive

Share this post


Link to post
Share on other sites

OK, this is starting to piss me off as a server manager ..

A Octo Core server with 16 GB Ram is having huge fps drops with 10 - 7 players(FPS is around 37-27 - Max peek 47, very rare) and I have configured it the best way I can by reading here.

Our cfg:

MaxBandwidth=1000000000;//Added it to 1GB as the server won't never reach 1GB since our switch port is on 100MBit

MaxMsgSend=128;

MaxSizeGuaranteed=1024;

MaxSizeNonguaranteed=256;

MinErrorToSend=0.001;

MinErrorToSendNear=0.001;

MaxCustomFileSize=90000;

Windowed=0;

language="English";

adapter=-1;

3D_Performance=8021;

Resolution_W=160;

Resolution_H=120;

Resolution_Bpp=32;

I removed minbandwith as I read from someone that Suma said its proper set already so no need to set it.

Share this post


Link to post
Share on other sites

Your minErrorToSendNear value is way too low. I would suggest increasing it to 0.01, perhaps slightly higher (I tested as high as 0.05 with good results).

Share this post


Link to post
Share on other sites

Alright, I will try that :)

Update:

Alright, I put on warfare with AI enabled and the FPS went from 50 (6 players ) to 10 - 12 when we had 10 players ..

Any ideas?

Edited by brightness

Share this post


Link to post
Share on other sites
Alright, I will try that :)

Update:

Alright, I put on warfare with AI enabled and the FPS went from 50 (6 players ) to 10 - 12 when we had 10 players ..

Any ideas?

Yes AI can pretty much pegg your processor. Its all depending on your mission scripting/setup and raw power of you dedicated server machine.

I was running warfare too and noticed the same thing, or mostly the same. We didnt have had so low fps ( our went down to 30 lowest ) but if I turn of some AI realted features it runs much better. I have i5 @ 2,8Ghz / 16gb ram / 100Mbit and I run only one OA|CO server. My settings are page back.

Share this post


Link to post
Share on other sites

Thing is I am running a Octo core at 2.4Ghz each core & 16 GB Ram with CPUCount 8 as launch parameter .. and I still find it pretty much "stupid" that fps is dropping at 10 ..

Share this post


Link to post
Share on other sites

Digging out the old thread.

Try to leave the cfg empty, meaning:

language="English";

adapter=-1;

3D_Performance=93750;

Resolution_Bpp=32;

MaxCustomFileSize=0;

Windowed=0;

What I found after zillion versions of cfg was server worked best with no bandwidth configuration at all.:butbut:

I know how silly it may read:j: but hey, what can I do. That's what we found being hosted by JestServers - maybe their machines are so uber they don't need no cfgs.

Seems like it.

:cool:

Share this post


Link to post
Share on other sites
Thing is I am running a Octo core at 2.4Ghz each core & 16 GB Ram with CPUCount 8 as launch parameter .. and I still find it pretty much "stupid" that fps is dropping at 10 ..

"cpucount=8" means nothing if the dedicated server mainly utilize two threads (at least from info from other server admins on this forum). Your limitation is speed of the cpu.

Edited by =WFL= Sgt Bilko

Share this post


Link to post
Share on other sites
Digging out the old thread.

Try to leave the cfg empty, meaning:

What I found after zillion versions of cfg was server worked best with no bandwidth configuration at all.:butbut:

I know how silly it may read:j: but hey, what can I do. That's what we found being hosted by JestServers - maybe their machines are so uber they don't need no cfgs.

Seems like it.

:cool:

you say I just shouldn't bother with the bandwidth entries? the default is best no matter what connection the server uses?

that would be awesome :D ... will test.

thx.

Share this post


Link to post
Share on other sites

I played with these settings for months and listened to many suggestions. I was pretty much blindly trying to find a setting that I could use to anticipate bandwidth consumption without making the CPU do unnecessary extra work. Changing a setting here and there never gave me the expected results.

It wasn't until I began putting some math behind these settings that things began to make cence. I'm not talking about just bytes to Megabits.

I found a post somewhere long ago that explained how much bandwidth the server should allow per player. (Can't remember where now).

It was something like this.

Player can expect to use approx 125kbps on average.

Sometimes player may peak at, but not limited to 256kbps for a short time or more on events like respawn or server join where scripts must synchronize.

Upon my observation, it is rare that a player hits this peak but it is possible. Most of the time I see players bandwidth usage between 80 and 125kbps during action.

I wanted to run at least 2 games on 1 machine. Each game is a 22 slot Evolution. This game type is on the medium to high scale of bandwidth usage due to the large number of running scripts and AI.

Based on this I figured that a 10 megabit upload on serverside would suffice 44 players in Evo comfortably without one player ever noticeably hogging bandwidth from another.

1 Kbps = 0.0009765625 Mbps

256kbps = .25 Mbps

So 10 Mbps should allow 44 players in Evo with some headroom given that each player will usually never draw peak bandwidth at the same time.

Note these setting are for 1 22 slot Evo game. I've observed an average of just below 5 Mbps bandwidth consumption used in this game.

I've also observed the an average of just below 5 Mbps bandwidth usage on a less demanding game (PvP DM, CTF) with maxPlayers=44.

My server is a 2x4 core Xeon 3 GHz, 12 gig memory, ssd drive for Lnux OS and Games.

I can easily run 4 games on this server and have spare CPU, memory, and hard drive bandwidth, The issue really becomes delegating bandwidth of 10 Mbps between each game.

Bandwidth draw is only allocated once player is and remains connected.

Some may scoff at these settings such as MaxMsgSend = 5120, but this really works.

//This is they base key for my bandwidth settings.
//204,800 64 bit packets equals 100Mbps
//(amount of data sent per cycle at given speed of throughput)
//I believe 1 main objective in these settings is to find a non decimal whole number of possible  MaxMsgSend based on MaxSizeGuaranteed and given bandwidth keeping max size guaranteed low as possible. UDP freindly meaning packet size can be very small unlike TCP. Arma talks in UDP. You can specify custom packet size.
//Formula:
//MaxBandwidth in bps =MaxMsgSend in bits multiplied by  MaxSizeGuaranteed in bits.
//Minimum bandwidth in bytes is set at half of maxbandwidth in bytes to keep numbers whole. The true test may be to discover true packet size with headers included? I am now able to able to consistently estimate the bandwidth consumption and utilization with this method.
//This link has a calculator I used as reference, but I used a real calculator because this site rounds off after 5 digits.
//http://www.speedguide.net/conversion.php

//The following config is for a 10/10 megabit connection utilizing approximately half the bandwidth when full (22 slots Evolution). Another config is being used that is identical to this one for a the second 22 slot Evo server. This would use all available bandwidth if both servers were full. Note I could run 3 Evo server if 1 was 22 slot, another 12 slot and another 12 slot all using the same config. Different Game types will use more bandwidth than others.

// Current settings in use on both servers June 5 2012.

//* Bandwidth the server is guaranteed to have (in bps).
MinBandwidth = 5242880;

//Bandwidth the server is guaranteed to never have.
MaxBandwidth = 10485760;

//* Maximum number of messages that can be sent in one simulation cycle. Increasing this value can decrease lag on high upload bandwidth servers. Default: 128. 204,800 64byte packets equals 100Mbps. 102400 128byte packets equals 100Mbps. 5120 256byte packets equals 10Mbps.
MaxMsgSend = 5120;

//Maximum size of guaranteed packet in bytes (without headers). Small messages are packed to larger frames. Guaranteed messages are used for non-repetitive events like shooting. Default: 512
MaxSizeGuaranteed = 256;

//Maximum size of non-guaranteed packet in bytes (without headers). Non-guaranteed messages are used for repetitive updates like soldier or vehicle position. Increasing this value may improve bandwidth requirement, but it may increase lag. Default: 256
MaxSizeNonguaranteed = 64;

MinErrorToSend = 0.0025;

//Minimal error to send updates across network for near units. Using larger value can reduce traffic sent for near units. Used to control client to server traffic as well. Introduced in ArmA 2 1.60, Default: 0.01

MinErrorToSendNear=0.005;

//Users with custom face or custom sound larger than this size are kicked when trying to connect.
MaxCustomFileSize = 1600000;

maxPlayers=22;

A bit bloated in this response, but I hope this clears things up for some as I have not seen this explained in this manner.

Edited by Jigsor

Share this post


Link to post
Share on other sites

I got a PM asking to explain how I got these settings in my config so I'll try again.

I reread my post and realized I had a mixup with labled bit and byte.

All the numbers are the same and config is still good but, it had a bad description. Fixed now.

204,800 64 bit packets equals 100Mbps

204,800 x 64 = 13107200 bits.

13107200 bit = 100 Megabit. Thats throuput per second (100Mbps)

So each packet in this case is 1 bit.

13107200 bit divided by 256 (MaxSizeGuaranteed) = 51200 total packets sized at 256 bits each.

MaxSizeGuaranteed = 256 (used in config)

51200 total packets sized at 256 bits each = 100Mbps throuput.

Well my connection is not 100 Mbps. That would cost thousands of $.

My server is 10Mbps up and 10 Mbps down. (symetrical)

When dealing with a server, Your really more concerned with up speed cuz its sending a lot more than receiving. Send=up Receive=down.

51200 divided by 10 = 5120 possible packets sized at 256 bits. (Nice round whole number.) Computers like whole numbers :)

13107200 divided by 10 = 1310720

1310720 1 bit packets with 10 Mbps up connection is possible.

1310720 bits = 10485760 bytes.

MaxBandwidth = 10485760 (used in config) Can use up to this much bandwidth

MinBandwidth = 5242880 (used in config) I've dedicated at half of the total available bandwith to 1 game. Can run 2 games with sames settings and not go over 10Mbps.

MaxSizeNonguaranteed = 64 (used in config)Value setting should be a multiple of MaxSizeGuaranteed. 32 will work very good in simple PVP like CTF or DM. 128 works to but 64 gives best for this game type.

I should note that my service providers bandwidth monitoring interface confirms the expected bandwidth usage.

The in game monitor nor the Server command #monitor, do not reflect true bandwidth consumption in my experience. I can't even get an accurate reading from System Monitor in Ubuntu. I Don't know the name of the software my colo center is using for their web inteface, but it good. I've never had an overage charge.....

Edited by Jigsor

Share this post


Link to post
Share on other sites

so if your server runs at 40 fps your are sending 204,800 packets to "EACH CLIENT"

so if your server has 30 people it will send 6,144,000 packets

can i has the network card you use ?

Share this post


Link to post
Share on other sites

It is very good thread but what I have experinced during my 4 years arma 2 - arma 3 domination server hosting with 300AIs and up to 30 players this config works best for me:

MaxMsgSend=16384

MinBandwidth=100428800;

MaxBandwidth=104857600;

//MaxSizeGuaranteed=128;

//MaxSizeNonguaranteed=64;

MinErrorToSend=0.005;

MinErrorToSendNear=0.0099999998;

MaxCustomFileSize=2920000;

adapter=-1;

3D_Performance=93750;

Resolution_W=0;

Resolution_H=0;

Resolution_Bpp=32;

Windowed=0;

as you see I do not use MaxSizeGuaranteed and MaxSizeNonguaranteed at all. if enabled I do have desynch. I host heavily modified domination server with 300 AIs at AO + random patrols , random IEDs, etc. Total gives about 400AIs. Server runs 24/7 and when battle is over, it can take even 7 days, (all 8 Main targets done) logs show about 250,000 messages sent. You can join my server and test it.

Share this post


Link to post
Share on other sites

If i set min bandwith high like your i get tons of errors in RPT: Network message pending....

But. Less desync!

I use beta 103718

Edited by johnsm

Share this post


Link to post
Share on other sites
I got a PM asking to explain how I got these settings

13107200 bit = 100 Megabit. Thats throuput per second (100Mbps)

dude...

104857600 = 100 mb

https://www.google.com/search?q=100+mb+how+many+bits&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a#q=100+mb+how+many+bytes&rls=org.mozilla:en-US:official

where did u get your fuzzy numbers?

Share this post


Link to post
Share on other sites

OK after reading and reading this for every and trying to get my head wrapped around this.

This is what I got

server startup includes -bandwidthAlg=2 -maxMem=2047 -exThreads=1 -noCB -noSound -cpucount=8

Xeon E3-1230V2 3.30 Ghz (8 cores)

16 B RAM

661 Mbps download 403 Mbps upload

Now with everything going on and this post was started in 2012. I would imagine that the hardware and tech have been improved greatly since this post began. So I am basically asking for help with a refresh thinking on current standards.

With this thought I went with this PLEASE tell me if I am incorrect in my thinking.

This is a server that runs and server with MAX 60 player at this time. AI and Vehicles are all over the map as well as this is a persistent database with SSD for Arma2server.exe and Mysql on regular hard drive speed.

My current basic.cfg setting below I desync out around 40 players. Server monitor states 2-3 FPS. CPU total using 32% (2 cores are around 80-90%)

language="English";

adapter=-1;

3D_Performance=1;

Resolution_Bpp=32;

MinBandwidth=15360000;

MaxBandwidth=32768000;

MinErrorToSendNear=0.029999999;

MinErrorToSend=0.0019999994;

MaxCustomFileSize=0;

Windowed=0;

MaxMsgSend=128;

MaxSizeGuranteed=1024;

MaxSizeNonguaranteed=256;

serverLongitude=-88;

serverLatitude=42;

serverLongitudeAuto=-88;

serverLatitudeAuto=42;

So...from what I last read somewhere on page 10 from suma.. I think if I take 60 player x 128 MaxMsgSend = 7680 is over the class sockets{maxPacketSize = 1400}

With that I should reduce the MaxMsgSend to around 23. 60 players x 23 MaxMessagesend = 1380. With that I should be good?????

I surely wish someone would make a easier explanation or heck a tool to go by to at least give us a fighting chance to properly setup these servers with these different settings.

Share this post


Link to post
Share on other sites

Try this:

MaxMsgSend=512;
MinBandwidth=41943040;
MaxBandwidth=104857600;
MinErrorToSend=0.0070000002;
MinErrorToSendNear=0.025;
MaxSizeGuaranteed=1024;
MaxSizeNonguaranteed=512;

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×