terox 316 Posted June 12, 2013 (edited) [Tutorial] Server bandwidth & Optimisation Last updated: 21st April 2014 Updated to this post: This is new content This is a heavily edited extract from a discussion on the Skype channel between B.I and server admins.This is basically a methodology to optimise a server Set The following bandwidth as follows For a 1 Gbps connection: Maxbandwidth: 1073741824 Minbandwidth: 107374182 For a 100 Mbps connection: Maxbandwidth: 104857600 Minbandwidth: 10485760 Then: Set Maxmsgsend at 2048, lower by 256 until it's ok Set MaxSizeGuaranteed=958; or lower by 64 until it's ok Set MaxSizeNonguaranteed=224; increase by 16 until it's ok for METS/METSN use either default or 2xMinErrorToSend=0.002;MinErrorToSendNear=0.02;(tho quite admins use even higher values 3-12x default Additional notes: If there are more instances of a ArmA3 server on the same box, to play safe you would split the Min and Max bandwidth appriopriately, although because the RV engine does not use all the bandwidth available on such connections anyway, it shouldn't really matter MinerrorX settings are often ignored if there are special events triggering the update on object The RV engine autodetects and adjusts unknown elements using it's internal optimisation system Settings will vary from server to server depending on but not inclusive of the following Type of mission, eg Coop/PvP Number of players and quality of their connection to the server Hardware capabilities of clients and server Quality of connection of clients and server It would be good to get some feedback on this methodology if anyone trys it In its current state, (UNTIL THIS LINE HAS BEEN REMOVED) this is more of a discussion that a tutorial . As the feedback comes in I am hoping to change this thread into a full tutorial much in the same way as I did for the dedicated server tutorial BIS are working on network optimisation at the moment, I will try to keep this tutorial updated as and when that content is made public Important... If you see information within this post that is innacurate, please let me know ASAP so I can edit it CONTENTS (not yet implemented) A little introduction first I am not an IT technician, but have been running Gaming servers for OFP & ArmA series for over 10 years now and I am still confronted with Dedicated Server documentation that doesn’t fully explain the setup. I have read many posts and seen many examples of Configs and have yet to see any consistency with the values defined. My intention with this thread is to compile a more detailed description of the relationships, values and settings required to achieve optimisation for the following variables as defined in the Arma3.cfg's MinBandwidth MaxBandwidth MaxMsgSend MaxSizeGuaranteed MaxSizeNonguaranteed MinErrorToSend MinErrorToSendNear maxPacketSize My first aim is to discuss the various elements required to achieve optimisation and compile a list of unanswered queries that we can direct to BIS devs for more information. To achieve this, I am going to open up a thread about each setting, so they can be discussed separately and then use this thread as the central repository for the information that is forthcoming and accepted as being correct. The end aim is to Create a definitive tutorial with a set of formulae to calculate the required values Possibly Build a benchmark testing mission that can be run and used for comparison purposes from 1 server to another Define typical settings for common hardware setups and typical datacentre/home connections TO DO THIS I NEED YOUR help, advice and knowledge to put this baby to bed once and for all Could you please add whatever information, conclusions or information you can to the following relevant threads SEPERATE DISCUSSION THREADS All about MinBandwidth All about MaxBandwidth All about MaxMsgSend All about MaxSizeGuaranteed All about MaxSizeNonguaranteed All about MinErrorToSend All about MinErrorToSendNear All about maxPacketSize anything else belongs in this thread Quote from Dwarden in reference to this area of Server administration Terox, quite some stuff is wip, so cross your fingers the goodies are done asap and work :) I have No idea what this will be Useful Links: BIS WIKI: basic.cfg Wiki: Talk-basic.cfg Useful Tools Arma-Server-Monitor TERMINOLOGY Bits v Bytes Data size is normally defined in bits Data transfer is normally defined in Bytes Unless otherwise defined, the bandwidth setting values are shown in Bytes 1 bit is either a "0" or a "1" (On or Off switch to a computer) 1 byte = 8 bits ( an array of eight 0's and 1's) There is a difference between **bps and ** Bps bps: bits \ second Bps: Bytes \ second It is very important when reading information about bandwidth transfers and connection speeds that you can differentiate between these two values (bits or bytes) Comparison Chart 10 Mbit connection : = 1.31072 Megabytes\second = 1310720 bytes\second 100 Mbit connection: = 12.5 Megabytes\second = 13107200 bytes\second 1 GBit connection: = 128 Megabytes\second = 134217728 bytes\second Frames v Simulation cycles The client machine measures the speed of the simulation in Frames per second (Basically how many pictures are recreated on the screen every second) The server however does not run any graphics, so it has a unit of measurement of Simulation cycles per second The maximum the server is allowed to run at is 50 Simulation cycles per second regardless of hardware For ease of understanding I will refer to this as "Server FPS" The actual Server FPS is dependant on The number of players connected The number of scripts running and the weight those scripts are placing on the cpu The number of AI that are in the mission The hardware capabilities, CPU,RAM Hard drive I/O and bandwidth settings The state of play (Combat causes greater load than non combat stages of the mission) For each Server Simulation cycle, apart from ctually running the simulation, the engine attempts to check the status of objects in the mission, compares that to the previous check and updates according to the minerrorsend, sending the required data to the clients in "packets" of data and also receiving data back from them. If there are too many checks to be done or it cannot send the data out quickly enough or receive the data quickly enough, the FPS will reduce. If it reduces below 20, the clients will start to notice a deterioration in gameplay, (especially in coops where the AI will be effected) At an FPS of around 15 the server is deemed overloaded At an FPS of 10 the mission no longer becomes playable You should typically be aiming to achieve a minimum of 25 to 30 FPS The aim of optimising your server is to try and maintain as high an FPS as possible. To do this you need to take into account the following Your hardware limitations How many virtual servers you will be running consecutively on the same box Your bandwidth limitations (Connectivity) How many players each server will host for The type of Missions you will be playing (Coop, PvP) The weight of the scripting HARDWARE CPU ArmA3 is heavily dependant on CPU. The faster the CPU the better However each ArmA3server.exe instance currently only uses 2 cores. One of those cores being used for A.I (There is a methodology that utilises something called "Headless Client" which is basically a Client (Installed on the server or other machine) that connects to the server and runs AI. This is a method to utilise more cores and thus allow more A.I per mission) RAM Each server instance needs between ? and ? ram CASE STUDY This is an example of useage (Do not use the settings as guidelines, they have clearly not been optimised, however this particular server runs very stably with little if any desync but was running at 7-8 FPS) The server is set to run 40 players and the mission in use was Invade & Annex v2.86 (Not sure if the server had 32 +/- 2 connected to it) A3 Version was Type: Public Alpha Development Version: 0.61.106371 Also running were at least 2 other servers (Mix between A2 and A3) Windows 2012 Hardware: CPU: Dual Xeon X5570 (Quad core 2.93ghz) RAM: 24Gb HD's: SATA 6Gb enterprise drives Connectivity: 1 GBit Bandwith: MinBandwidth=400000000;MaxBandwidth=800000000; MaxMsgSend=384; MaxSizeGuaranteed=512; MaxSizeNonguaranteed=256; MinErrorToSend=0.003; The resulting values were seen data out: Typically 6000 TO 7000 kbps data in: Typically 400 to 700+ Kbps RAM: 1526MB CPU : 13% Player individual bandwidth ranged from 150 to 6000 THE SETTINGS 1) maxPacketSize For now check this link Discussion Thread: All about maxPacketSize What the BIKI states class sockets{maxPacketSize = <limit>;}; Maximal size of packet sent over network. This can be set for both client-to-server AND server-to-client(s) independently! see client(arma2.cfg#Generic_config or arma2oa.cfg#Generic_config, ) Default: 1400 Use please only in case Your router or ISP enforce lower packet size and You have connectivity issues with game Desync might happen if used MaxSizeGuaranteed/MaxSizeNonguaranteed values over the maxPacketSize. maxPacketSize default reduced from 1490 to 1400, thus MaxSize... values over 1300 could be affected negatively. Important For the greater majority of us, this value should not be touched If you are thinking about playing with this setting, to put your mind to rest and to prevent you altering this value unnecessarily, carry out the following test as described in this little tutorial http://help.expedient.net/broadband/mtu_ping_test.shtml If the resulting MTU value calculated by the test is higher than the default maxPacketSizevalue, then leave well alone What we known Default value: 1400 bytes Typical MTU for a server when following the above linked tutorial is 1500 Too big a value is likely to cause lag and desync The value should be the same no matter How many players the server hosts for, How many virtual Arma 3 server you run on the same box Whether you run PVP or COOP What you are trying to achieve Defining the maximum size without causing loss of packets, lag or desync Too big a value is likely to cause lag and desync How to test Use the tutorial above to check your MTU MaxMsgSend For now check this link All about MaxMsgSend What the BIKI states Maximum number of packets (aggregate messages) that can be sent in one simulation cycle ("frame"). Increasing this value can decrease lag on high upload bandwidth servers. What we known Default value: 128 Messages\Client Maxmessagesend = maximum amount of messages that can be sent per simulation cycle per client The maximum number of simulation cycles per second is 50 This however will not be the typically actual number of simulation cycles when the mission is running which will be more likely in the region of 25 to 30 To best achieve the correct value, you will first need to obtain your actual transfer rates How best to achieve this? This is the best information i could find http://forum.ovh.co.uk/showthread.php?t=1897 It basically states not to use Online speed testing sites because they use web browsers and that has a definte effect on the values you will get It basically states to download a large file from somewhere and monitor the transfer rate on your backend What I assume (Something is wrong here) So...... if MaxMsgSend=128 and the server FPS is at 30, the server will send out a maximum 30*128=3840 messages per second per client Using the MaxPacketSize default of 1400 bytes, this will equate to a data transfer rate of 3840*1400=5376000 bytes\second or 5.126953125MBps (Per client ?) Compare this to your servers connectivity, typical example being a 100MBit connection, with a data transfer rate theoretically available as 100 Mbit connection: = 12.5 Megabytes\second = 13107200 bytes\second You have enough bandwidth left for 1 more player(If only running 1 A3 server on the box) (This has got to be wrong ?) 7831200 Bytes\second 7.3 Megabytes per second What we need to know: What value if any, does it default too, if the entered value is unacceptable? Would this value vary dependant on the number Virtual A3 servers you are running Would this value vary for PVP and CooP servers Would this value vary depending on the number of players the server supports How would you stress test or test this in a Benchmark mission scenario? What else ? Calculation Formulae (Not yet defined) MaxSizeGuaranteed For now check this link All about MaxSizeGuaranteed MaxSizeNonGuaranteed For now check this link All about MaxSizeNonguaranteed MaxBandwidth For now check this link All about MaxBandwidth MinBandwidth For now check this link All about MinBandwidth MinErrorToSend For now check this link All about MinErrorToSend MinErrorToSendNear For now check this link All about MinErrorToSendNear Edited April 7, 2015 by Terox 4 Share this post Link to post Share on other sites
Hatchet_Harry 1 Posted June 15, 2013 *Voting for sticky* Share this post Link to post Share on other sites
terox 316 Posted June 15, 2013 (edited) well its not done yet and am getting little input on the related threads. This is a steep learning curve for me. The following threads have new content in, which I found after searching around a lot and some useful links that were passed to me http://forums.bistudio.com/showthread.php?156694-All-about-MinErrorToSendNear http://forums.bistudio.com/showthread.php?156693-All-about-MinErrorToSend Edited June 15, 2013 by Terox Share this post Link to post Share on other sites
Blue1 10 Posted June 15, 2013 (edited) Sadly, while trying out many completely different settings on my new Rootserver (i7-3770 @ 3.4GHz, 16GB RAM, 1Gbit at 100Mbit Connection), which is only running 1 instance of Arma3 at the moment -i cannot see ANY difference in Server-FPS when reaching certain Playercounts. I don't want to cry about things here - just see it as a Feedback after some Weeks of Scripting/Hosting. I am aware: - this is still alpha - this problems seem to exist since OFP (as i've read in the dozens of "how to improve server-perfomance"-threads the past months...) I am not sure: - if this is "Missionbased" and relying to the Scripts etc. so much (even i've got CleanUps etc) - if this is "only poor Netcodes or Settings fault" But what i am completely sure about, is that the most important thing in my personal opinion - for the future of Arma3 - is: the Serverperformace / CPU-Load NEEDs TO BE OPTIMIZED on BIS-side. I mean, assuming, you have a big powerfull server, which isn't anyhow used ( i get a 17% average CPU usage at 64 Players...) but the Game goes to a "Server-FPS" below 5 ... So there is something entirely wrong! It is like, ...uhm, ...you have a big Hauling Truck with 900 Horsepower ... trying to pull a tiny pony trailer which has all brakes on and tires blocking all the way ... I hope / i guess BIS is aware of that and will not forget, that Usercreated Contents, the people who buy / rent / run Servers are somehow some of the most important groups to focus for a succesfull Arma3. Back to OP: I can provide you with all the settings i've tried so far... but nothing had any remarkable effect. And i guess, at the start it would make sense to make sure everybody is talking about same "Values" used in the *.cfg Files etc., as there are quite a lot confusions. http://www.whatsabyte.com/ http://www.jhuyett.com/bandwidth.html BIS-Wiki says, all Values are in "bps" = bits per second ... so - we have to guess, that is right :rolleyes: .... (remember 8 bits are 1 Byte!) A Server with a 100 Megabit/s (Mbit/s) Connection should have MaxBandwidth=104857600; //(value in bits per second = 9 Digits!) Setting the minimum Bandwith availabe to 75% should do it - i guess. MinBandwidth=78643200; // (value in in bits per second = 8 Digits!) So we defined what NETWORK-Bandwith the Game COULD use ...so far so good. BIS-WIKI for Basic.cfg also says The server never runs at more than 50 fps. When running slower, it always uses all available CPU processing power to maintain the smoothest possible gameplay. When running at less than 15 fps, you can consider the server overloaded – the mission currently played is probably too complex for given server. If you see the server is not using bandwidth that it could use, you can try increasing values MaxMsgSend and MinBandwidth. And that is something i can not believe when i see CPU-Usage-Values ... but, whatever. MaxSizeGuaranteed and MaxSizeNonguaranteed are defining the SIZEs, in Bytes, for the Packets of MaxMsgSend MaxMsgSend defines the NUMBER of Packets per "Server-FPS" and Player. So... i am not sure but, shouldn't this be the Formula then!? 104857600 bits are 13107200 Bytes 13107200 Bytes divided by 64 Players = 204800 Bytes 204800 Bytes divided by 50 Server FPS = 4096 MaxMsgSend 4096 MaxMessages with PackageSize of maximum 512 Bytes (MaxSizeGuaranteed=512) gives us a maximum 2097152 Bytes (or exactly 2 Megabyte) per Second. So,..2 Megabyte per second? Not sure - but is that the final Value which is tending to give an i7-3770 @ 3.4GHz an average Load of 17 percent while the Game stutters at somewhat way below 10 Server-FPS?! :confused: Not sure ... but maybe anyone can enlighten me more!? ---- CPU: i7-3770 @ 3.4GHz RAM: 16 GB HD's: SATA 6GB enterprise drives Connectivity: 1 GBit on 100Mbit Hosting Teetimes Warfare - some scripts ...also cleanups ... 17 Bases with +/- 100 AI and max 64 Players .... ******** CLEANUP FIRST ALPHA RESULTS AND ADDING BETA RESULTS FROM HERE ******** NEW CONCLUSION: it is a lot better now - but still trying different settings. Alpha 30 Players -> 15 FPS Alpha 60 Players -> 0.5 FPS Beta 30 Players -> 25 FPS Beta 60 Players -> around 7 FPS And it looks like , the AI-count does NOT affect FPS very much !!! same settings, but around 50 or 100 AI more ore less, does NOT affect the Server FPS at 60 Players! Beta Test 1 Parameters: arma3server.exe -cpuCount=4 -exThreads=7 -world=empty -port=2302 -config=lalala.cfg -cfg=tralala.cfg -mod=@ASM -profiles=Profiles\2302 -netlog around 150 AI at start MinBandwidth=78643200; //75Mbit MaxBandwidth=104857600; //100Mbit MaxMsgSend =640; MaxSizeGuaranteed = 896; MaxSizeNonguaranteed = 512; MinErrorToSend = 0.0025; MinErrorToSendNear=0.0099999998; CPU Loads: ------ next Beta tests added soon with this parameters ---- arma3server.exe -cpuCount=2 -exThreads=1 -world=empty -port=2302 -config=lalala.cfg -cfg=tralala.cfg -mod=@ASM -profiles=Profiles\2302 -netlog MaxMsgSend =512; MaxSizeGuaranteed = 640; MaxSizeNonguaranteed = 512; //MinErrorToSend = 0.0025; // setting it to default //MinErrorToSendNear=0.0099999998; // setting it to default OLD ALPHATESTS: ---- OLD ALPHA TESTRUN 3 --- from here on i decided to use ASM (thx fred! good job!) Config: MinBandwidth=786432000; // added a "0" too see what happens ... nothing, to be exactly....) MaxBandwidth=1048576000; // added a "0" too see what happens ... nothing, to be exactly....) MaxMsgSend = 2096; //changed from 256 MaxSizeGuaranteed = 512; // changed to enabled MaxSizeNonguaranteed = 384; // changed to enabled MinErrorToSend = 0.0025; // changed from 0.001 MinErrorToSendNear=0.0099999998; // changed from 0.01 MaxCustomFileSize=1600000; //1600000 is 160k adapter=-1; 3D_Performance=93750; Resolution_W=0; Resolution_H=0; Resolution_Bpp=32; Windowed=0; serverLongitude=12; serverLatitude=48; serverLongitudeAuto=12; serverLatitudeAuto=48; maxPacketSize=1412; // added // EOF well,..... i can't see / measure any differences - still no lags or desynch but... 49 Players -> 2.1 ServerFPS ..... ---- OLD ALPHA TESTRUN 4 ---- Config: only changed MaxMsgSend to 64 Reduced AI-Numbers spawn at defending Bases in Mission MinBandwidth=786432000; MaxBandwidth=1048576000; MaxMsgSend = 64; // changed from 2096 MaxSizeGuaranteed = 512; MaxSizeNonguaranteed = 256; MinErrorToSend = 0.0025; MinErrorToSendNear=0.0099999998; MaxCustomFileSize=1600000; //1600000 is 160k adapter=-1; 3D_Performance=93750; Resolution_W=0; Resolution_H=0; Resolution_Bpp=32; Windowed=0; serverLongitude=12; serverLatitude=48; serverLongitudeAuto=12; serverLatitudeAuto=48; maxPacketSize=1412; // EOF 27 Players - and around 100 AI less than in other tests before - still only 15,7 Server-FPS :butbut: ....... I get some stuttering (short client-FPS drops) sometimes if many stuff blows up or many people around,...but... it is not "unplayable". As visitors of my servers are telling me too Edited June 29, 2013 by Blue1 cleaning up and ADDING BETA TESTRESULTS Share this post Link to post Share on other sites
terox 316 Posted June 15, 2013 am updating the thread at the moment, have already defined bits/bytes and in the middle of Client FPS, Server simulation cycles Share this post Link to post Share on other sites
Blue1 10 Posted June 15, 2013 Oh, what i forgot to say: 1) a BIG THANK YOU to you, Terox - for putting so much efforts to that - for everybody that likes to host servers and in the next step, the players!!! --- and... 2) One of the things i do not understand is, why people/players/customers have to put so much efforts in "Guesswork", "Try & Error" instead of getting provided with everything from the Guys at BIS. I mean, at least in the Year 2013 it should be the minimum Standard, to easily set up a well performing 64 (or more!!) Playerserver ... especially on a game that is made for - and lives from ($) Multiplayerpurposes :j: .... SCNR ;) Share this post Link to post Share on other sites
johnsm 1 Posted June 17, 2013 (edited) Terox i have noticed the "MinErrorToSend" helps the server FPS, I have mine set to .004 and i get around 20 fps with 30 people after like 2-3 hours of warfare. I also cant get arma to use more than 10 mbit :( With minbandwith set high i don't get desync, when i had minbandwith 10mbit every one had always desync from (10 to 200) With maxmessage set high server still sends average 50-100 packets to each client per sec So thats 100 packets / 45 FPS = 3 packets per frame to each client - im not sure any more if the maxmessage send is per client because it dont make any fucking sense. Also i notice many clients are sending big packets to server from 900 bytes to 1200 bytes, while server is defaulted at 512 / 256 language="English";adapter=-1; 3D_Performance=93750; Resolution_Bpp=32; MaxMsgSend=16384; MinBandwidth=100428800; MaxBandwidth=104857600; MinErrorToSend=0.0040000002; serverLongitude=2147483647; serverLatitude=2147483647; serverLongitudeAuto=2147483647; serverLatitudeAuto=2147483647; Windowed=0; MaxCustomFileSize=0; Edited June 17, 2013 by johnsm Share this post Link to post Share on other sites
Insanatrix 0 Posted June 17, 2013 (edited) What I assume(Something is wrong here) So...... if MaxMsgSend=128 and the server FPS is at 30, the server will send out a maximum 30*128=3840 messages per second per client Using the MaxPacketSize default of 1400 bytes, this will equate to a data transfer rate of 3840*1400=5376000 bytes\second or 5.126953125MBps (Per client ?) This part here you might have wrong. I'm assuming that MaxPacketSize is basically the maximum size of a packet the engine will actually send, basically whatever your MTU is which in most cases with ethernet is 1500 and 1492 for PPPoE, but in this case it's limited to 1400, probably for compatibility purposes and to ensure that packets do not get fragmented during transit. MaxSizeGuaranteed and MaxSizeNonGuaranteed are defineing the actual size of your TCP and UDP packets respectively. So unless you set MaxSizeGuaranteed and MaxSizeNonGuaranteed to equal value's of MaxPacketSize, You would never actually be sending packets that are 1400 bytes. If you wanted to do a rough calculation at default value's, I would think , 128 x 30 = 3840 total messages sent per second and assuming a 50/50 ratio of TCP(Guaranteed) and UDP (NonGuaranteed) packets, split 3840 in half which is 1920, (512 x 1920) + (256 x 1920) = 1,474,560 / 8 = 184.320 KB/sec per player. Then you would do 184,320 * 48, assumed player count of 48, and you would get 8.847 MB/sec or 70.776 mbps. Also you have to remember that this is the theoretical maximum bandwidth you would see being used assuming that the server was pumping out 128 x 30 x 48 = 184,320 packets per second consistently. Using the same calculation above with regards to Blue1's test #2 I get, yes this is kind of pointless but I want to show the math, 2 * 256 = 512 / 2 = 256, (256 * 512) + (256 * 384) = 229,376 / 8 = 28,672 * 64 = 1,835,008 or 1.8 MB/sec or 14.68 mbps. So roughly around what he was seeing in terms of bandwidth usage, give or take. The ratio of TCP packets to UDP packets might have been closer to 75/25 or some arbitrary amount. It's all going to depend on the mission and what the server is calculating and sending out. I would be more apt to raise the packet sizes of both guaranteed and nongauranteed packets, closer to MaxPacketSize, before I would raise MaxMsgSend. For example, it's better to send less but larger packets than it is to send a huge amount of smaller ones. The only case where that might not be true would be in a situation where you have very bad packet loss. If you wanted to calculate a worst case scenario, just take the larger of the two packet sizes and use that. For example, 128 x 30 = 3840 * 512 = 1,966,080 / 8 = 245,760 kb/sec, 245,760 * 48 players = 11,796,480 or 11.8 MB/sec maximum total bandwidth. The key factors are going to be server simulation cycles or fps, maximum player count and maximum packet size. Edited June 17, 2013 by Insanatrix Share this post Link to post Share on other sites
johnsm 1 Posted June 17, 2013 (edited) big packets = more latency and lag, especially if u have people with 200 + ping. i had set both "guaranteed and none guaranteed" to 1200 and max packet size i saw was 600 bytes, and it caused a bit log lag like people teleport etc not 100% confirmed. Edited June 17, 2013 by johnsm Share this post Link to post Share on other sites
Insanatrix 0 Posted June 17, 2013 (edited) big packets = more latency and lag, especially if u have people with 200 + ping.i had set both "guaranteed and none guaranteed" to 1200 and max packet size i saw was 600 bytes, and it caused a bit log lag like people teleport etc not 100% confirmed. I wouldn't set them that high anyways, UDP should normally be set to 512 and TCP can be set anywhere from 512-1380, though I wouldn't exceed 768. The higher the latency, the more hops the packet generally has to take to reach it's destination and the more destination headers are tacked on to it and the greater risk of fragmentation and dropped packets. You want the packets to be large enough to contain the required data without having to send multiple packets to accomplish the same thing, but you don't want them so large that a dropped packet causes desync and lag. In fact, try setting NonGuaranteed to 512 and Guaranteed to 768 and see how it works for you with a 128 MaxMsgSend. Then start tuning it from there. I would venture to assume that MaxPacketSize exists for compatibility purpose and is used mostly for handshaking and not for actual game data packets, hence why you can set TCP and UDP sizes separately. Edited June 17, 2013 by Insanatrix Share this post Link to post Share on other sites
Blue1 10 Posted June 18, 2013 added results from testruns 3 and 4 .... :mad::butbut: Share this post Link to post Share on other sites
Predator.v2 10 Posted June 18, 2013 I have read several tutorials/guides about server settings now and i'd like to show the values for my basic.cfg i had in mind. Server: i7 3930 (6x3.2) 16 Gb Ram 100 mbit Usually i have three Arma3 servers (30 slots) and one DayZ server running on this root. So my thoughts were: startup: -cpucount=2 -exthreads=1 -maxMem=2047 (-noCB ?) A3 basic.cfg: MinBandwidth=7680000; (30 slotsx256x1000) MaxBandwidth=25000000; (three servers plus tolerance) MaxMsgSend=1024; (not so sure about this one. Some people say 128 some 1024 works best ...) MaxSizeGuaranteed=1024; MaxSizeNonguaranteed=256; MinErrorToSend=0.001; MinErrorToSendNear=0.02; class sockets{maxPacketSize =1400;}; Does viewDistance in the basic.cfg affects anything? Share this post Link to post Share on other sites
brunow 10 Posted June 20, 2013 Guys ... I have this cfg for my server, I've rented one (46 players) and haven't changed anything: language="English"; adapter=-1; MinBandwidth=800000; MaxBandwidth=25000000; MaxMsgSend=384; MaxSizeGuaranteed=512; MaxSizeNonguaranteed=256; MinErrorToSend=0.003; MaxCustomFileSize=100000; Windowed=0; serverLongitude=0; serverLatitude=52; serverLongitudeAuto=0; serverLatitudeAuto=52; I was thinking about updating to this: language="English"; adapter=-1; MinBandwidth=11776000; MaxBandwidth=25000000; MaxMsgSend=1024; MaxSizeGuaranteed=1024; MaxSizeNonguaranteed=256; MinErrorToSend=0.002; MaxCustomFileSize=100000; Windowed=0; serverLongitude=0; serverLatitude=52; serverLongitudeAuto=0; serverLatitudeAuto=52; Any sugestions ? Share this post Link to post Share on other sites
Predator.v2 10 Posted June 21, 2013 Server specs, bandwidth? Share this post Link to post Share on other sites
terox 316 Posted June 21, 2013 I havent forgot about this thread. I need to update it with the content of the following threads plus a little information on packets etc Check the first post in these threads. I've updated most of em with content, which will eventually end up in this thread All about MinBandwidth All about MaxBandwidth All about MaxMsgSend All about MaxSizeGuaranteed All about MaxSizeNonguaranteed All about MinErrorToSend All about MinErrorToSendNear All about maxPacketSize Share this post Link to post Share on other sites
brunow 10 Posted June 22, 2013 Well, this is the sv configuration: E3-1270v2, 32GB Ram, SSD, 1GBPS port Can anybody help with the bandwidth config ? Thanks. Share this post Link to post Share on other sites
pawelkpl 29 Posted June 22, 2013 Well, this is the sv configuration:E3-1270v2, 32GB Ram, SSD, 1GBPS port Can anybody help with the bandwidth config ? Thanks. Use my config and give me feedback, ( I do not use non/guaranteed at all) 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; serverLongitude=20; serverLatitude=52; serverLongitudeAuto=20; serverLatitudeAuto=52; Share this post Link to post Share on other sites
brunow 10 Posted June 22, 2013 I'll give it a shot ... Thanks Share this post Link to post Share on other sites
terox 316 Posted June 23, 2013 (edited) Use my config and give me feedback, ( I do not use non/guaranteed at all) //MaxSizeGuaranteed=128; //MaxSizeNonguaranteed=64; ; Commenting them out like this does not mean you do not use them, it means you use the default values 512, 256 respectively and at the moment posting configs is just going to confuse everyone and create more complications than i am trying to achieve If configs are posted then, at least state the connection you have (which you did) number of maximum clients the server runs pvp or coop mission types without this information, it means nothing Edited June 23, 2013 by Terox Share this post Link to post Share on other sites
Blue1 10 Posted June 28, 2013 Hi Terox, today i will cleanup my very long Post a little bit and add some new Infos. What i can say by now, is that since Beta-Release i have "a lot" more Server-FPS at 60+ Players (around 10-12 FPS and still little to no Desync). Details coming soon! I hope to finally get that goddamn HC running soon anyhow ...and then going to find out what will happen with 96 Players in the next step... PS: related to the Terminology: it doesn't matter if you Guys are on a 1GBPS port - i assume, your Serverprovider only grants you a 100MBit/s Bandwith at maximum (except if you spent a lot of extramoney)? Share this post Link to post Share on other sites
Blue1 10 Posted June 29, 2013 added beta results to my post on first side Share this post Link to post Share on other sites
Lokyi 10 Posted July 2, 2013 I still lol when I see people with "-cpucount=2 -exthreads=1 -maxMem=2047" in their server modlines. Share this post Link to post Share on other sites
Blue1 10 Posted July 2, 2013 and why exactly Lokyi? just trolling or want to add something constructive to the thread? Share this post Link to post Share on other sites
whiztler 137 Posted November 18, 2013 *BUMP* I am curious, since A3 was released, if server admins have made any further changes to the server config. Our community is struggling a bit with the (brand new) dedicated server. 27 players 5-9 FPS. I head a MP update is due to come out soon, but no word when BI plans to release it. Feels like the Arma2 launch all over again. Anyway, was wondering if anyone has more/further tips/ideas re optimizing a dedi server. Share this post Link to post Share on other sites
terox 316 Posted April 21, 2014 (edited) This is a heavily edited extract from a discussion on the Skype channel between B.I and server admins. This is basically a methodology to optimise a server Set The following bandwidth as follows For a 1 Gbps connection: Maxbandwidth: 1073741824 Minbandwidth: 107374182 For a 100 Mbps connection: Maxbandwidth: 104857600 Minbandwidth: 10485760 Then: Set Maxmsgsend at 2048, lower by 256 until it's ok Set MaxSizeGuaranteed=958; or lower by 64 until it's ok Set MaxSizeNonguaranteed=224; increase by 16 until it's ok for METS/METSN use either default or 2xMinErrorToSend=0.002;MinErrorToSendNear=0.02;(tho quite admins use even higher values 3-12x default Additional notes: If there are more instances of a ArmA3 server on the same box, to play safe you would split the Min and Max bandwidth appriopriately, although because the RV engine does not use all the bandwidth available on such connections anyway, it shouldn't really matter MinerrorX settings are often ignored if there are special events triggering the update on object The RV engine autodetects and adjusts unknown elements using it's internal optimisation system Settings will vary from server to server depending on but not inclusive of the following Type of mission, eg Coop/PvP Number of players and quality of their connection to the server Hardware capabilities of clients and server Quality of connection of clients and server It would be good to get some feedback on this methodology if anyone trys it To maintain some form of comparison, I've uploaded a modified patrol ops pack, which doesnt require any addons. Use this to get a comparison, its fairly popular so you should get a decent player base for it. Benchmark_pack.zip Edited May 5, 2014 by Terox Share this post Link to post Share on other sites