Jump to content
  • 0

Basic.cfg Help :(


Markokil321

Question

Hello,

 

Over the last few weeks, i have been having major troubles in getting my basic.cfg settings to work well with the server. Everything runs fine, until we get to 30-40 players. At that point, we start to see major delays when it comes to purchasing stuff at traders, locking/unlocking of things etc. It will sometimes take up to 10 seconds for you to receive an item you purchased at the traders, after the animation is complete.

At this point we will also see peoples purchased vehicles getting deleted with this message:

20:15:00 "Deleting object GAZ_Vodnik_MedEvac with invalid ID at pos [6292.94,7806.39,0.000610352]"

We will only have this happen once the server starts "lagging", which starts happening when there are 30-40 players online. We do not experience any red or yellow chains, just these delays when it comes to doing things.

 

Server is hosted on a dedicated machine: Running the DayZ server + 2 teamspeaks and a minecraft server
 

Windows Server 2012 R2

Intel Xeon E3 1240 v3 @ 3.40GHz

32GB DDR3 1333

240GB SSD

 

We get approx 300 mbps UP and DOWN.

 

We are running Epoch 1.0.5.1 on 112555. Server Is modded, (anything you can expect on a popular server, you will find in some shape or form here) but i try to make sure everything that we add has a minimal negative effect to server and client performance. And things get tweaked to reduce performance impact aswell.

 

 

I have experimented with the basic.cfg for a very long time, but cannot seem to get something that works well. This is what we have currently:

MinBandwidth=78643200;
MaxBandwidth=300000000;
MaxMsgSend=256;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=128;
MinErrorToSend=0.0020000001;
MinErrorToSendNear=0.029999999;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;
Resolution_Bpp=32;
serverLongitude=2;
serverLatitude=49;
serverLongitudeAuto=2;
serverLatitudeAuto=49;

Any Help would be appreciated

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0
-noSound -noCB -malloc=tbb4malloc_bi

Add this to your startup line. 

MinBandwidth=20971520;
MaxBandwidth=1073741824;
MaxMsgSend=256;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=256;
MinErrorToSendNear=0.029999999;
MinErrorToSend=0.0019999994;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;

My crrent basic.cfg, it's adapted to 1gb connection.

 

Also try to set the hive.ini file to connect to the database through 127.0.0.1 and not an external IP if you have the mysql database on the same machine as the gameserver.

Link to comment
Share on other sites

  • 0

CPU load on the dedicated averages at 10-12%, Memory 15-17%. Some Network statistics here: 5495c3b1d488df42405d67726ecdd346.png

 

I am not very smart when it comes to networking, so i will take any tips greatfully.

 

Launch parameters: 

start "arma2" /high "Expansion\%BetaPath%\%ServerExecutable%.exe" -cpuCount=3 -maxMem=2047 -port=%ServerPort% "-config=%ServerSettings%\config.cfg" "-cfg=%ServerSettings%\basic.cfg" "-profiles=%ServerSettings%" -name=%ServerSettings% "-mod=@DayZ_Epoch;@Hive;"
Link to comment
Share on other sites

  • 0
-noSound -noCB -malloc=tbb4malloc_bi

Add this to your startup line. 

MinBandwidth=20971520;
MaxBandwidth=1073741824;
MaxMsgSend=256;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=256;
MinErrorToSendNear=0.029999999;
MinErrorToSend=0.0019999994;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;

My crrent basic.cfg, it's adapted to 1gb connection.

 

Also try to set the hive.ini file to connect to the database through 127.0.0.1 and not an external IP if you have the mysql database on the same machine as the gameserver.

 

 

Will try adding that. Any specific reason to turn off multicore rendering? 

-noCB

In hiveExt.ini it already connects through

[Database]
Type = MySQL
Host = 127.0.0.1
Port = 3306
Database = dayz_epoch1
Username = *******
Password = *******

Thanks for the replies!

Link to comment
Share on other sites

  • 0

I think multicore rendering is very glitchy in Arma2. I'd remove the /high priority cause that will only make your system less stable and it doesn't look like your system is in any trouble on that side (although a per/core load screenshot would be interesting).

I have never had the pleasure of having to optimize a high load server so i'm kinda in the blind here. But found an interesting post about the minBandwidth setting. When asked "Next question: what is an ideal factor for MinBandwidth?" one of the BI devs actually replied.
 

The ideal factor is: leave it at the default unless you really see something goes wrong. The built-in bandwidth estimation is built on a packet-pair probing QoS, which has shown to be very reliable on the internet as we know it today.


I really haven't test the above but it seems like an interesting thing to testcase.

--

Seeing as you got loads of bandwidth i'd play around with MaxMsgSend and set it to a higher value like 2048 512. If you really have 300Mb (= 37,5 MB)  dedicated you could set it even higher then that. (Note this is theoretical cause you won't ever have a situation where all your players use their maximum amount of bandwith.) Setting it to a higher value 'should' help players in sync better in dense populated area's.
 

Server FPS * Maxpacket (is 1400 for arma2 engine) * MaxMsgSend = Bandwith usage per second

50 * 1400 * 512 =  35840000 b/s (bytes per second) = 35 MB/s (Mega bytes per second)

Edit: Wrong calculation above. Fixed now.

Edited by f3cuk
Link to comment
Share on other sites

  • 0

I think multicore rendering is very glitchy in Arma2. I'd remove the /high priority cause that will only make your system less stable and it doesn't look like your system is in any trouble on that side (although a per/core load screenshot would be interesting).

I have never had the pleasure of having to optimize a high load server so i'm kinda in the blind here. But found an interesting post about the minBandwidth setting. When asked "Next question: what is an ideal factor for MinBandwidth?" one of the BI devs actually replied.

 

I really haven't test the above but it seems like an interesting thing to testcase.

--

Seeing as you got loads of bandwidth i'd play around with MaxMsgSend and set it to a higher value like 2048 512. If you really have 300Mb (= 37,5 MB)  dedicated you could set it even higher then that. (Note this is theoretical cause you won't ever have a situation where all your players use their maximum amount of bandwith.) Setting it to a higher value 'should' help players in sync better in dense populated area's.

 

Server FPS * Maxpacket (is 1400 for arma2 engine) * MaxMsgSend = Bandwith usage per second

50 * 1400 * 512 =  35840000 b/s (bytes per second) = 35 MB/s (Mega bytes per second)

Edit: Wrong calculation above. Fixed now.

 

Thanks for the reply, i will experiment with this.

Link to comment
Share on other sites

  • 0

I don't know how late I am on this post but I had the same issue. It can be fixed by going into dayz_server.pbo -> compiles -> server_updateObject.sqf and commenting out this line to look like this around line 40:

// delete if still not ok
//if (_isNotOk) exitWith { deleteVehicle _object; diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",typeOf _object,_object_position select 0,_object_position select 1, _object_position select 2]); };

I never found a real way to actually FIX the issue but I've never seen any use to the function and I know it hasn't caused any harm in the last 4 or so months I've had it like this, so all this is doing is canceling out the function that is deleting your vehicles.

 

Also to solve the issues of very slow trading process I suggest using config based traders, also known as file based traders, instead of the database because I have found that trading process are handled a lot better then handled by the client then when it needs to be sent back and forth through the databse. 

Link to comment
Share on other sites

  • 0

I don't know how late I am on this post but I had the same issue. It can be fixed by going into dayz_server.pbo -> compiles -> server_updateObject.sqf and commenting out this line to look like this around line 40:

// delete if still not ok
//if (_isNotOk) exitWith { deleteVehicle _object; diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",typeOf _object,_object_position select 0,_object_position select 1, _object_position select 2]); };

I never found a real way to actually FIX the issue but I've never seen any use to the function and I know it hasn't caused any harm in the last 4 or so months I've had it like this, so all this is doing is canceling out the function that is deleting your vehicles.

 

Also to solve the issues of very slow trading process I suggest using config based traders, also known as file based traders, instead of the database because I have found that trading process are handled a lot better then handled by the client then when it needs to be sent back and forth through the databse. 

 

Thanks for the reply! :)

 

I actually looked through the files this afternoon, and deleted that exact chunk of code hehe. This of-course fixed the deleting of vehicles, but not my delays.

 

I have also been using config based traders for approx 1 month now, and this makes everything load real fast and works much better like you say. However my delays happen once your character has completed the trading animation.. It sometimes takes a very long time for you to actually receive the item, and for it to say "Traded 1 Gold for a blah." I am convinced it has something to do with my basic.cfg, i'm still experimenting with that.

 

Have done some server FPS testing, and it really seems to go down low once we reach a mid-high amount of players:

20:53:00 "DEBUG FPS : 3.39703 OBJECTS: 8566 : PLAYERS: 36"

Still gonna experiment around to see if theres any way to improve on things.

 

Thanks again

Link to comment
Share on other sites

  • 0

Thanks for the reply! :)

 

I actually looked through the files this afternoon, and deleted that exact chunk of code hehe. This of-course fixed the deleting of vehicles, but not my delays.

 

I have also been using config based traders for approx 1 month now, and this makes everything load real fast and works much better like you say. However my delays happen once your character has completed the trading animation.. It sometimes takes a very long time for you to actually receive the item, and for it to say "Traded 1 Gold for a blah." I am convinced it has something to do with my basic.cfg, i'm still experimenting with that.

 

Have done some server FPS testing, and it really seems to go down low once we reach a mid-high amount of players:

20:53:00 "DEBUG FPS : 3.39703 OBJECTS: 8566 : PLAYERS: 36"

Still gonna experiment around to see if theres any way to improve on things.

 

Thanks again

Hi Markokil, how did you get on with this? Did you find anything in particular that really helped.

 

Thanks

Link to comment
Share on other sites

  • 0

I noticed that the update to 125548 made a massive improvement to our servers performance, without me changing anything in particular. Another thing that helped was constant messing around with my basic.cfg, testing a variety of different settings. However every server 'likes' something else when it comes to basic.cfg.

Link to comment
Share on other sites

  • 0

This is my current basic.cfg, however as i said this may run terribly on your, or someone else's server.

MinBandwidth=16777216;
MaxBandwidth=300000000;
MaxMsgSend=1024;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=64;
MinErrorToSend=0.0099999998;
MinErrorToSendNear=0.0049999999;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;
Resolution_Bpp=32;
serverLongitude=2;
serverLatitude=49;
serverLongitudeAuto=2;
serverLatitudeAuto=49;

Server FPS usually averages around 3-4 with 40+ people on and with an uptime of 2+ hours.

21:36:47 "DEBUG FPS : 3.25203 OBJECTS: 8570 : PLAYERS: 44"
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Discord

×
×
  • Create New...