Jump to content
Sign in to follow this  
Party3AH

Dedicated server Arma2_CO.cfg questions

Recommended Posts

Hello!

Im from Arma-Tushino community, we`re playing 2 times a week, 2-4 only self-made TvT maps, using Arma II OA, ACE (for now its 1.7 stable but next week we`ll move on 1.8).

Server got approx. 150 Mbit channel, with CPU&Memory usage everything is OK. But there are a problem with lag - its OK when we have 80-90 players on server (alive),

but when the quantity of players moves up to 120 - any missions becoms almost unplayable because a huge lags. Channel seems to be overloaded.

As I understand, this problem could be solved by optimizing settings in Arma2_CO.cfg.

So, I have looked for some info here and on Kelly Heroes dedicated tutorial, but nowhere I havent find, WHAT really those settings means (or i didnt understand it:))

1. MinBandwidth= On Kelly-Heroes, Jman determine it like "Bandwidth the server is guaranteed to have (in bps)."

Im sure that my server will always have 10 Mbit overall (in/out). But what would be better (for optimise network usage, not for CPU load) - to write 1 Mbit, 5, 10?

Why? Does the Arma dedicated server have any algorithm to calculate the bandwidth?

2. MaxBandwidth= Back to Kelly-Heroes. There is written: "Bandwidth the server is guaranteed to never have. This value helps the server to estimate bandwidth available."

In the nights it will be near 150 Mbit, evenings (when we are playing) - may be 60-70 Mbit, because of huge network load (ISP problems).

What might be better - to tell that 100 Mbit we have as maximum, or 150 Mbit? 1 Gbit? Also, if server estimate bandwidth - how often it do that? 1 time per minute?

Once per session? Once per map start?

3. MaxMsgSend= This determine the amount of UDP datagrams generated and packed under 1 IP header, (more data for 1 IP address, for 1 player)

or this is the amount of UDP datagrams, where every UDP packet will have 1 IP header (overall quantity of such packets, generated to send at a time)?

4. MaxSizeGuaranteed = MaxSizeNonguaranteed = In Bytes. Same question, and once more - those parameters limits the maximum and minimum packet size for 1 player?

If so, the bottom value (MaxSizeNonguaranteed) must be set as low as possible, if server have minimum info to send? And the maximum packet size must be set by MaxSizeGuaranteed,

and it will be used by server if there are a lot of data to send?

5. MinErrorToSend - This is actually a checkpoint for re-send data to player, if after any kind of actions on server, relative to the object led to some changes

for the object, right?

Sorry for my bad English, hope that questions are understandable.

Regards, Dmitriy.

Share this post


Link to post
Share on other sites

OK guys, thanks a lot for your answers, and thanks BIS for dedi manual.

So, after 2 weeks of experiments, Specar, conKORD, Advocaat & me as server admins +60-70 players as testers we have found witch parameters really matter.

1. Arma2 OA NEVER generate packets over 1600 bytes. So, You may Stop experiments with MaxSizeGuaranteed= and MaxSizeNonguaranteed= at this value. We have try even 65000 :) Now we`re at 4098.

2. MaxMsgSend= set up at 3076 (but we never know - per second or per something else?) with MaxSizeGuaranteed=4096 and MaxSizeNonguaranteed=256 give for all players:

- very fast map loading (means, getting from lobby-choosing role to briefing)

- no lag (or it is pretty short) when all 60-70 players transfers from briefing to gameworld.

3. Setting huge MaxSizeNonguaranteed (we have try 65000 hete too), results in freezing bots or players. Its unreasonable to set it higher that 512. You may try also 1024, but it will be a disaster, everyone will teleport, not any smooth moving at all.

So, maybe all what You need to make players feel good, to see no red/yellow chains etc - is huge amount of messages (MaxMessageSend), as big as can be MaxSizeGuaranteed (but not more that 2048) and MaxSizeNonGuaranteed=256 or less. These parameters works fine with up to 80 players on server, ingame traffic never exceeds 20 Megabits per second (both way). But, I must notify You - we have no bots, it is pure TvT every time.

We will try to play with MinBandwidth once more - but I see no effect (we have try values 2 000 000 to default 131 072.

Yr questions, please.

Regards,

Dmitriy aka Party3AH

Share this post


Link to post
Share on other sites

this is probably as much as You can get in way "as it is" ...

experiment with the settings (it may help but may not)

http://community.bistudio.com/wiki/basic.cfg

one addition to the info is that MinErrorToSend ceased to play such role as in ARMA 1

where ultra low-lowest possible value removed the distant units teleporting

but in A2 and OA it's not possible due increase of objects and thus minimal gain

imo it seems You are setting some values in exactly opposite way as they should be ;)

Edited by Dwarden

Share this post


Link to post
Share on other sites

OK, but still be a big questions:

MaxMessageSend - for all users or for one? How often this amount generates? Per second, per ANY period of time, per FPS (shown by #monitor command on sever), or per any tact witch have no relation to FPS or real timeline?

MinErrorToSend - is this a occured object changes (damage, q-ty) amount, positions etc? Or something else? Here, http://community.bistudio.com/wiki/ArmA:_Tweaking_Tips, it is written, that increased players amount need decreased MinError (64 players>MinErrorToSend=0.008, and 12 players - MinErrorToSend=0.05). These parameters was calculated or "founded" in experiments, like we do?

We havent stop yet looking for best configuration :)

Share this post


Link to post
Share on other sites

I cant argue with you on this, since I don't know the "facts", but most of these settings are found by trial and error.

And these settings will vary depending on what type of missions you run.

If you only playing warfare and CTI types of mission, that would be one type of settings, other that if you just playing ctf's.

Share this post


Link to post
Share on other sites

Once more.

Up to 150 players, no AI at all, TvT missions.

Server hardware: Intel Q9950 @2,83 GHz, 8Gb RAM, RAID-1 for game, 100Mbit/s channel.

Server software: win2003 server x64 SP2, arma2oa ver. 1,60

Dedicated server running string: -nosound -world=empty -nosplash -nomap -maxMem=2047 -winxp -cpuCount=4 -exThreads=7 -malloc=system -mod=@CBA;@ACE;@ACEX;@ACEX_RU;@ACEX_USNavy;@ACEX_SM;@Islands_tu;@TuMod2;@TuTS3 -port=2302

We see no huge CPU load: it never gets over 70% on any of 4 cores. RAM usage never gets more that 4 GB (overall).

Arma2CO.cfg:

language = "Russian";

adapter = -1;

3D_Performance = 100000;

Resolution_Bpp = 0;

MinBandwidth = 15000000;

MaxBandwidth = 100000000;

MaxMsgSend = 8;

MaxSizeGuaranteed = 1024;

MaxSizeNonguaranteed = 256;

MinErrorToSend = 0.0049999999;

MinErrorToSendNear = 0.050000001;

class sockets

{

maxPacketSize = 1400;

};

MaxCustomFileSize = 0;

Windowed = 0;

After briefing, when loading onto game world begins, only 20-30 players still stay on server: all others will be kicked by battlleye with "client not responding" message. On net.monitor I see, that when it happends server collaps for 1-2 minutes, he doesnt transmit any packets. When most part of users will be kicked server starts transmitting data as usual.

All players can rejoin and get onto game, game runs smootly enougth, but sometimes occures huge lags with 100000 desync, which passes after some times.

With maxPacketSize less that 1024 (512 for example) maps wont be loaded by users at all - they wont get even onto briefing map.

It happends no matter on vanilla or ACE, triggered mission or not.

Any idea?

Edited by Party3AH

Share this post


Link to post
Share on other sites

OK, maybe all I`ve describe at #8 message is too complicated.

could someone clarify for me these moments:

MaxSizeGuaranteed and MaxSizeNonguaranteed is the amount of changes (in bytes), which has to be sent to client if the object state changes on value = or > from previous object state?

Example:

MaxSizeGuaranteed = 1024

MaxSizeNonGuaranteed = 256

1. player_1 stays on ground, dont move, do nothing. Information about this unit has no changes, so once received by all other players it wont be updated - thats so?

2. Then player_1 fires and moves, information about this unit changed compared to its previous status (1), the amount of changes is 800 bytes. This time server transfer to all clients these 800 bytes (Non-guaranteed messages are used for repetitive updates like soldier or vehicle position.), but other states of this unit (how many ammunition, wounds etc.) wont be sent cause MaxSizeGuaranteed = 1024 and it have only 800 bytes of changes?

MaxSizeGuaranteed transfers player (vehicle) status, such as inventory items, condition (wounded/damaged/healthy), q-ty of ammunition?

MaxSizeNonGuaranteed transfers player (vehicle) position (hit-model position) only?

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  

×