R3vo/Sandbox – User

From Bohemia Interactive Community
< R3vo
Categories:
mNo edit summary
mNo edit summary
 
(128 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{TOC|side}}
= Mobile To-Do =
{| class="wikitable"
''A list of things that would improve mobile compatibility''
! colspan=5 |Arma 3 Server Configuration Overview
|-
! Topic !! colspan=4 | Pages
|-
! Setup
| [[Arma 3: Dedicated Server]] || [[Arma 3: Dedicated Server (Chinese Simplified)]] || [[Arma 3: Dedicated Server (Chinese Traditional)]]
|-
! Files
| [[Arma 3: Server Config File]] || [[basic.cfg]] || [[server.armaprofile]]
|-
! Other
| [[Multiplayer Server Commands]] || [[Arma 3: Mission voting]] || [[Arma 3: Headless Client]]
|}


This article deals with the '''basic.cfg''', the name means nothing, and can be called anything. The real name is determined by the [[Arma 3: Startup Parameters|-cfg]] command line option when launching the dedicated server or the game executable - in other words '''it also works for clients'''. When you do not provide a name, the default <tt>Arma3.cfg</tt> file is loaded located in the user profile folder.


In this configuration file you should configure your server's connectivity, mainly for performance tuning.
''Lou thinks just because the list is empty there is nothing left to improve. Only if he knew.''


== Performance Tuning Options ==
= Done =


There are also some parameters that can be used to fine-tune network performance. You can add following entries to arma.cfg (the main Armed Assault configuration file)
* Creator dlc template needs a noresize.
** {{Link|Spearhead_1944}}
* Long command names should wrap
** {{Link|removeAllUserActionEventHandlers}}


'''MaxMsgSend=<limit>;'''
* See also entries on command and function pages are broken
    Maximum number of packets (aggregate messages) that can be sent in one simulation cycle ("frame").
** {{Link|parsingNamespace}}
    Increasing this value can decrease lag on high upload bandwidth servers.
    '''Default: 128'''
'''MaxSizeGuaranteed=<limit>;'''
    Maximum size (payload) of guaranteed packet in bytes (without headers).
    Small messages are packed to larger packets (aggregate messages).
    Guaranteed packets (aggregate messages) are used for non-repetitive events like shooting.
    '''Default: 512'''
'''MaxSizeNonguaranteed=<limit>;'''
    Maximum size (payload) of non-guaranteed packet in bytes (without headers).
    Small messages are packed to larger packets (aggregate messages).
    Non-guaranteed packets (aggregate 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'''
'''MinBandwidth=<bottom_limit>;'''
    Bandwidth the server is guaranteed to have (in bps).
    This value helps server to estimate bandwidth available.
    Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded.
    '''Default: 131072'''
'''MaxBandwidth=<top_limit>;'''
    Bandwidth the server is guaranteed to never have (in bps).
    This value helps the server to estimate bandwidth available.
'''MinErrorToSend=<limit>;'''
    Minimal error to send updates across network.
    Using a smaller value can make units  observed by binoculars or sniper rifle to move smoother at the trade off of
    increased network traffic.
    '''Default: 0.001''' ('''was 0.01''' until ARMA 2:OA version 1.60, ARMA 2 version 1.11 uses 0.01)
'''MinErrorToSendNear=<limit>;'''
    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'''


* METS:
* Command and function template layout wastes a lot of space due to the two column design
** Example: A unit 1km (distance d = 1km) from the player with MinErrorToSend = 0.001 (METS = 0.001) would send an update when that unit moves 50m (error value E = 50).
** Formula: d = sqrt[(20E)/METS] ; 1000 = sqrt[(20E)/0.001] -> E = 50
** In reality, other factors about the object are taken into effect as well according to a weighted scale.
** When the error value (E) between the master copy of an object (whoever "owns" the object) and a client's perceived/simulated copy of the same object >= MinErrorToSend (METS), a network update message will be sent for it.
* METSN:
** When using MinErrorToSend alone, for small values of distance (d) the frequency of high errors (E) would cause excessive network messages that are not necessary but could negatively impact FPS.
** Too large of a value for METSN can prevent timely desirable network update messages which can result in units appearing to "warp"
* detailed explanation of METS and METSN by Suma: http://forums.bistudio.com/showthread.php?125396-Arma-2-OA-beta-build-84984&p=2103305&highlight=minerrortosend#post2103305


== Networking Tuning Options ==
* Tables with fixed widths need to be avoided. If they are too wide use noresize class wrapper
'''class sockets{maxPacketSize = <limit>;};'''
** {{Link|Arma_3:_Visual_Upgrade}}
    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'''
    {{Feature|important|Only use in the case your router or ISP enforces lower packet size and you have connectivity issues with the game.}}
    ''Desync might happen if used '''MaxSizeGuaranteed/MaxSizeNonguaranteed values over the maxPacketSize'''.
    maxPacketSize default reduced from 1490 to 1400 since 1.60, thus MaxSize... values over 1300 could be affected negatively.''


== Other Tuning Options ==
* YouTube embeds and images should not have a fixed width
 
** {{Link|Category:DayZ}}
{{Feature|important|NOTE: See the [[Talk:basic.cfg|talk page]] for some more background info by Suma.}}
** {{Link|Spearhead_1944_Frontline_Function}}
 
** It is because the youtube template has a hardcoded minimum width. This should get removed
'''MaxCustomFileSize=<size_in_bits>;'''
    Users with custom face or custom sound larger than this size are kicked when trying to connect.
 
'''Note'''
The greatest level of optimization can be achieved by setting the MaxMsgSend
and MinBandwidth parameters. For a server with 1024 kbps we recommend the
following values:
    MaxMsgSend = 256;
    MinBandwidth = 768000;
While connected to the dedicated server, you can use the [[Multiplayer Server Commands|admin command]] <code>#monitor</code> to monitor server resource usage. (You have to be logged in as or voted as game admin to do this.) 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 20 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.
 
== Example Configuration File ==
 
<pre>
// These options are created by default
language="English";
adapter=-1;
3D_Performance=1.000000;
Resolution_W=800;
Resolution_H=600;
Resolution_Bpp=32;
 
 
// These options are important for performance tuning
 
MinBandwidth = 131072; // Bandwidth the server is guaranteed to have (in bps). This value helps server to estimate bandwidth available. Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded. Default: 131072
MaxBandwidth = 10000000000; // Bandwidth the server is guaranteed to never have. This value helps the server to estimate bandwidth available.
 
MaxMsgSend = 128; // 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
MaxSizeGuaranteed = 512; // 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
MaxSizeNonguaranteed = 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
 
MinErrorToSend = 0.001; // Minimal error to send updates across network. Using a smaller value can make units observed by binoculars or sniper rifle to move smoother. Default: 0.001
MinErrorToSendNear = 0.01; // 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. Default: 0.01
 
MaxCustomFileSize = 0; // (bytes) Users with custom face or custom sound larger than this size are kicked when trying to connect.
 
</pre>
 
== See Also ==
 
* [[ArmA: Server configuration|Server Configuration]]
* [[server.cfg|Server Config File]]
* [[Arma 2: Startup Parameters|Arma 2 Startup Parameters]]
* [[Arma 3 Startup Parameters|Arma 3 Startup Parameters]]
* [[Arma_3_Dedicated_Server|Arma 3 Dedicated Server]]
 
* [[Armed Assault:Dedicated Server]]
* [[Operation Flashpoint:Dedicated Server]]
 
{{GameCategory|arma1| Multiplayer}}
{{GameCategory|arma2|Multiplayer}}
{{GameCategory|arma3|Multiplayer}}

Latest revision as of 18:11, 18 May 2025

Mobile To-Do

A list of things that would improve mobile compatibility


Lou thinks just because the list is empty there is nothing left to improve. Only if he knew.

Done

  • Command and function template layout wastes a lot of space due to the two column design
  • Tables with fixed widths need to be avoided. If they are too wide use noresize class wrapper