general13k7 0 Posted October 24, 2017 Hello everyone. I want to ask a question on the well-known problem. On our server we have a problem between count of people and server FPS. When we have low people (10-20) we have good fps 40-65 stable, when we have a lot people, more then 30 (limit of server 100 people) we have 25 fps and lower... At all situations we have much AI. Our map is very big and all ai scattered enough. And we don't know how to use all resources of our specs (Intel Xeon E5-2660v3 - 6 vCPU- 2.6 ГГц-24 GB (DDR-4 ECC)-80 GB SSD RAID-1 and virtualisation VMWare ESXi) , of course we have 64 bit server arma 3. And why only about 50% of all resources are used, i don't know??? At start of server we use simple commands of course (-loadMissionToMemory -nologs -port=2302 -malloc=tbb4malloc_bi_x64 -name=deepzone "-mod=@deep zone" -autoInit -enableHT -maxMem=24576 -serverMod=@inidbi2;@obfusqf;) So may someone give advice what to do? Share this post Link to post Share on other sites
damsous 329 Posted October 24, 2017 Arma will never use all the ressource, i try to push a phenom 3.20 4 core (server) only 40% cpu usage. Check your server fps... too Be careful with the performance setting (max message send, max size guaranted....) if you increase this value you can reduce desync, but for keeping all the player sync that will kill the performance for every player. (nodesync = everybody at 25 fps) Test with default setting i think its better to get few desync but good fps. I think all the server performance and bandwitch setting must be change for a LAN server, cause everybody have a good connection to the server, for exemple you can increase the maximum packet size and tell to all the player to activate Jumbo Frame on there network device, for exemple everybody at 5KB MTU (client and server) and do a network checkup, if everything is fine (no packet lost) you can increase the maximum packet size to 5000 on server setting then increase other value for get best performance and no desync on a high populated mission. For a public server keep default value cause there will be player with connectivity issue or high ping and they will cause a performance issue for all the client. That what happen to me one a ALIVE mission, we were 15 ppl everything was fine but after an assault on a village (village clear no more AI) everybody was at 15-20 fps, 1 player with high ping (150-200) and connectivity issue (he was often disconnected from the server) when he logout from the server the fps for all player back to normal (40-50) Maybe there too much script on your mission, my experience 30 ppl on a simple coop mission, everything was done on editor (no more than 150 active AI) for a total of 1600 AI. Everybody got a solid 40+ fps, server FPS never go under 20, i only use few script like viewdistance option and vehicle spawner. A Liberation with 20 ppl, 150 active AI server fps drop to 10, every client got not more than 20-25 FPS. Share this post Link to post Share on other sites
terox 316 Posted October 25, 2017 optimise the mission, cache the ai, use a headless client, don't believe the hype that other server admins spout out about the number of players they can run with set a maximum ping value at somewhere sensible to keep those with poor connections away, somewhere between 100 and say 250 Pure pvp, no AI can run with a lot more players than a coop can because the server isnt processing the ai and then sending their data over the net for syncing to the clients I would say for a coop with a well optimised mission ans good hardware, you will be maxing out somewhere between 50 and 64 players Ideally you run with the number of players you can manage (especially milsim coop) while keeping the server cps at a MINIMUM of 20 For me I find around 50 players is a comfortable middle ground between player management and server performance. (We also dont have top spec cpu's) Share this post Link to post Share on other sites
general13k7 0 Posted October 26, 2017 On 24.10.2017 at 6:41 PM, damsous said: Arma will never use all the ressource, i try to push a phenom 3.20 4 core (server) only 40% cpu usage. Check your server fps... too Be careful with the performance setting (max message send, max size guaranted....) if you increase this value you can reduce desync, but for keeping all the player sync that will kill the performance for every player. (nodesync = everybody at 25 fps) Test with default setting i think its better to get few desync but good fps. I think all the server performance and bandwitch setting must be change for a LAN server, cause everybody have a good connection to the server, for exemple you can increase the maximum packet size and tell to all the player to activate Jumbo Frame on there network device, for exemple everybody at 5KB MTU (client and server) and do a network checkup, if everything is fine (no packet lost) you can increase the maximum packet size to 5000 on server setting then increase other value for get best performance and no desync on a high populated mission. For a public server keep default value cause there will be player with connectivity issue or high ping and they will cause a performance issue for all the client. That what happen to me one a ALIVE mission, we were 15 ppl everything was fine but after an assault on a village (village clear no more AI) everybody was at 15-20 fps, 1 player with high ping (150-200) and connectivity issue (he was often disconnected from the server) when he logout from the server the fps for all player back to normal (40-50) Maybe there too much script on your mission, my experience 30 ppl on a simple coop mission, everything was done on editor (no more than 150 active AI) for a total of 1600 AI. Everybody got a solid 40+ fps, server FPS never go under 20, i only use few script like viewdistance option and vehicle spawner. A Liberation with 20 ppl, 150 active AI server fps drop to 10, every client got not more than 20-25 FPS. we use the client's two Headless and here basic.cfg language="Russian"; Maxbandwidth=104857600; Minbandwidth=10485760; MaxMsgSend=2048; MaxSizeGuranteed=958; MaxSizeNonguaranteed=224; MinErrorToSendNear=0.002; MinErrorToSend=0.02; MaxCustomFileSize=150000; Windowed=0; adapter=-1; 3D_Performance=1; Resolution_Bpp=32; class sockets { maxPacketSize=1400; }; serverLongitude=23; serverLatitude=41; serverLongitudeAuto=23; serverLatitudeAuto=41; setTerrainGrid=40; setViewDistance=1400; setObjectViewDistancege=700; and speed is 100 Share this post Link to post Share on other sites
damsous 329 Posted October 26, 2017 MaxMsgSend = 128; MaxSizeGuaranteed = 512; MaxSizeNonguaranteed = 256; MinBandwidth = 131072; MaxBandwidth = 2097152000; MinErrorToSend = 0.001; MinErrorToSendNear = 0.01; MaxCustomFileSize = 1310720; class sockets { maxPacketSize = 1400; }; adapter=-1; 3D_Performance=1; Resolution_W=0; Resolution_H=0; Resolution_Bpp=32; terrainGrid=25; viewDistance=2000; Windowed=0; thats default value For sure this MaxMsgSend value is too high that value force the player to be sync with the server and will slow everybody, after i don't know if the other value need to be changed with a HC. With a 128 MaxMsgSend you can get few desync (only for high ping client), and see sometimes micro rollback with the AI if they are spawned by a script, less rollback with AI placed on editor. this setting MaxMsgSend = 256; MaxSizeGuaranteed = 512; (i never feel any difference by changing this value) MaxSizeNonguaranteed = 256; (i never feel any difference by changing this value) Rollback and desync are really rare, but ppl feel few fps drop if more than 20 ppl are log on the server. Headless client will help the server to keep higher server FPS if there a lot of AI on the server, for exemple if you got a lot of script and too much AI a server can drop to 3-4 fps you can get 30 fps as client but the AI will do moonwalk ( a lot of rollback), the headless client will increase the server fps but not the client fps. So if you had 40 ppl and 200 AI at the same place for exemple i a area of 2kmx2km you can get a 15-20 server fps (its good) but that not help the client the rollback will be really low but there will be too much thing to manage for the client and will result to a fps drop for all client With 20 client + 100 AI in area (2kmx2km) and an other 20 client + 100 AI in an other area the server fps will be the same but client fps will be better cause they will manage less thing. From a BI dev : 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. After trying a lot of thing in arma the best thing its to play a mission made in editor, low script, never get more than 50-80 simulated AI in a area of 2kmx2km (like 50 AI with waypoint + 30 static AI) and keep the default server setting. Share this post Link to post Share on other sites
general13k7 0 Posted October 27, 2017 21 hours ago, damsous said: MaxMsgSend = 128; MaxSizeGuaranteed = 512; MaxSizeNonguaranteed = 256; MinBandwidth = 131072; MaxBandwidth = 2097152000; MinErrorToSend = 0.001; MinErrorToSendNear = 0.01; MaxCustomFileSize = 1310720; class sockets { maxPacketSize = 1400; }; adapter=-1; 3D_Performance=1; Resolution_W=0; Resolution_H=0; Resolution_Bpp=32; terrainGrid=25; viewDistance=2000; Windowed=0; thats default value For sure this MaxMsgSend value is too high that value force the player to be sync with the server and will slow everybody, after i don't know if the other value need to be changed with a HC. With a 128 MaxMsgSend you can get few desync (only for high ping client), and see sometimes micro rollback with the AI if they are spawned by a script, less rollback with AI placed on editor. this setting MaxMsgSend = 256; MaxSizeGuaranteed = 512; (i never feel any difference by changing this value) MaxSizeNonguaranteed = 256; (i never feel any difference by changing this value) Rollback and desync are really rare, but ppl feel few fps drop if more than 20 ppl are log on the server. Headless client will help the server to keep higher server FPS if there a lot of AI on the server, for exemple if you got a lot of script and too much AI a server can drop to 3-4 fps you can get 30 fps as client but the AI will do moonwalk ( a lot of rollback), the headless client will increase the server fps but not the client fps. So if you had 40 ppl and 200 AI at the same place for exemple i a area of 2kmx2km you can get a 15-20 server fps (its good) but that not help the client the rollback will be really low but there will be too much thing to manage for the client and will result to a fps drop for all client With 20 client + 100 AI in area (2kmx2km) and an other 20 client + 100 AI in an other area the server fps will be the same but client fps will be better cause they will manage less thing. From a BI dev : 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. After trying a lot of thing in arma the best thing its to play a mission made in editor, low script, never get more than 50-80 simulated AI in a area of 2kmx2km (like 50 AI with waypoint + 30 static AI) and keep the default server setting. with the standard config and with ours there is not much difference... can anyone help to build a config for our system? Share this post Link to post Share on other sites