Server Config File – Arma 2
Fred Gandt (talk | contribs) m (Quick and dirty (just realised how late it is and need to go out) layout fixes.) |
|||
Line 5: | Line 5: | ||
==Server Options== | ==Server Options== | ||
{| | {| class="operators" style="width:100%;border-spacing:1px;border-collapse:separate;background-color:#bbb;" | ||
! style="width:30%;" | Parameter !! Description | |||
|- | |- | ||
| | | <tt>passwordAdmin = "xyzxyz";</tt> || Password to protect admin access. | ||
|- | |- | ||
| | | <tt>password = "xyz";</tt> || Password required to connect to server. | ||
|- | |- | ||
| | | <tt>hostname="My Server";</tt> || Servername visible in the game browser. | ||
|- | |- | ||
| | | <tt>maxPlayers = 10;</tt> || The maximum number of players that can connect to server ( seems to be out by 1 in the demo at least ). Number of mission slots override this setting. | ||
|- | |- | ||
| <tt>motd[]= {"Welcome to my server.","Hosted in the net."};</tt> || Two lines welcome message. Comma is the 'new line' separator. | |||
|} | |} | ||
{| | {| class="operators" style="width:100%;border-spacing:1px;border-collapse:separate;background-color:#bbb;" | ||
! style="width:30%;" | Server Behavior !! Description | |||
|- | |- | ||
| voteThreshold = 0.33; || Percentage of votes needed to confirm a vote. 33 percent in this example. | | <tt>voteThreshold = 0.33;</tt> || Percentage of votes needed to confirm a vote. 33 percent in this example. | ||
|- | |- | ||
| voteMissionPlayers = 3; || Start mission-voting when X numberOfPlayers connect. 3 players in this example. | | <tt>voteMissionPlayers = 3;</tt> || Start mission-voting when X numberOfPlayers connect. 3 players in this example. | ||
|- | |- | ||
| reportingIP="<>"; || | | <tt>reportingIP="<>";</tt> || | ||
* Private server - no reporting: "noreport". | * Private server - no reporting: "noreport". | ||
* | * {{Name|arma|short}}: "armedass.master.gamespy.com" to report to the gamespy master server. | ||
* | * {{Name|arma2|short}}: "arma2pc.master.gamespy.com" | ||
* | * {{Name|oa|short}}: "arma2oapc.master.gamespy.com" | ||
|- | |- | ||
| kickduplicate = 1; || Do not allow duplicate game ids. Second player with an existing ID will be kicked automatically. 1 means active, 0 disabled. | | <tt>kickduplicate = 1;</tt> || Do not allow duplicate game ids. Second player with an existing ID will be kicked automatically. <tt>1</tt> means active, <tt>0</tt> disabled. | ||
|- | |- | ||
| checkfiles[]={"dta\bin.pbo","a10\config.bin"}; || '''Outdated - replaced by [[ArmA:_Addon_Signatures|verifySignatures]]!''' Only use if you really understand what it does. | | <tt>checkfiles[]={"dta\bin.pbo","a10\config.bin"};</tt> || '''Outdated - replaced by [[ArmA:_Addon_Signatures|verifySignatures]]!''' Only use if you really understand what it does. | ||
List of files to check for integrity with crc check. Possible to check pbo files or files inside pbos. Beware checking large files takes serious processing on the server and can cause various issues. | |||
|- | |- | ||
| <tt>equalModRequired = 1;</tt> || '''Outdated - replaced by [[ArmA:_Addon_Signatures|verifySignatures]]!''' Only use if you really understand what it does. | |||
Clients require the exact same modfolder naming, order and amount as the server. 1 means active, 0 disabled. | |||
|} | |} | ||
{| | {| class="operators" style="width:100%;border-spacing:1px;border-collapse:separate;background-color:#bbb;" | ||
! style="width:30%;" | Arma Only Parameters !! Description | |||
|- | |- | ||
| verifySignatures = 2; || Enables or disables the [[ArmA: Addon Signatures|signature verification]] for addons. Default = 0. Weak protection = 1. Full protection = 2. From | | <tt>verifySignatures = 2;</tt> || Enables or disables the [[ArmA: Addon Signatures|signature verification]] for addons. Default = <tt>0</tt>. Weak protection = <tt>1</tt>. Full protection = <tt>2</tt>. From Arma 3 use only level <tt>2</tt> (level <tt>1</tt> is outdated and not efficent) Changed in 1.59 patch with: http://forums.bistudio.com/showthread.php?t=115114 | ||
|- | |- | ||
| disableVoN = 1; || Enables or disables the Voice over Net. Default = 0. | | <tt>disableVoN = 1;</tt> || Enables or disables the Voice over Net. Default = <tt>0</tt>. | ||
|- | |- | ||
| vonCodecQuality = 10; || Sets VoN codec quality. Value range is from 1 to 20. Default = 3. //since 1.62.95417 supports range 1-20 //since 1.63.x will supports range 1-30 //8kHz is 0-10, 16kHz is 11-20, 32kHz is 21-30 | | <tt>vonCodecQuality = 10;</tt> || Sets VoN codec quality. Value range is from <tt>1</tt> to <tt>20</tt>. Default = <tt>3</tt>. //since 1.62.95417 supports range <tt>1-20</tt> //since 1.63.x will supports range <tt>1-30</tt> //8kHz is <tt>0-10</tt>, 16kHz is <tt>11-20</tt>, 32kHz is <tt>21-30</tt> | ||
|- | |- | ||
| logFile = "server_console.log"; || Enables output of dedicated server console into textfile. Default location of log is same as crash dumps and other logs. (Local settings) Note that this does not change the location of the "net.log" file, which you enable with the -netlog command line option. | | <tt>logFile = "server_console.log";</tt> || Enables output of dedicated server console into textfile. Default location of log is same as crash dumps and other logs. (Local settings) Note that this does not change the location of the "net.log" file, which you enable with the -netlog command line option. | ||
|- | |- | ||
| doubleIdDetected = "command"; || rowspan="7" colspan="2" align="center"| see [[ArmA: Server Side Scripting|Server Side Scripting]] | | <tt>doubleIdDetected = "command";</tt> || rowspan="7" colspan="2" align="center" | see [[ArmA: Server Side Scripting|Server Side Scripting]] | ||
|- | |- | ||
| onUserConnected = "command"; | | <tt>onUserConnected = "command";</tt> | ||
|- | |- | ||
| onUserDisconnected = "command"; | | <tt>onUserDisconnected = "command";</tt> | ||
|- | |- | ||
| onHackedData = "command"; | | <tt>onHackedData = "command";</tt> | ||
|- | |- | ||
| onDifferentData = "command"; | | <tt>onDifferentData = "command";</tt> | ||
|- | |- | ||
| onUnsignedData = "command"; | | onUnsignedData = "command";</tt> | ||
|- | |- | ||
| regularCheck = "command"; | | <tt>regularCheck = "command";</tt> | ||
|- | |- | ||
| BattlEye=1; || Enables or disables the [[BattlEye]] anti-cheat engine. Default 0. - since 1.09 beta. Note that this requires specific dlls to be installed on the server and all clients joining the game | | <tt>BattlEye=1;</tt> || Enables or disables the [[BattlEye]] anti-cheat engine. Default <tt>0</tt>. - since 1.09 beta. Note that this requires specific dlls to be installed on the server and all clients joining the game | ||
|- | |- | ||
| timeStampFormat="short"; || Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default),"short","full". | | <tt>timeStampFormat="short";</tt> || Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default), "short", "full". | ||
|- | |- | ||
| persistent = 1; || Enables or disables the persistent battlefield. Default = 0. See note below | | <tt>persistent = 1;</tt> || Enables or disables the persistent battlefield. Default = <tt>0</tt>. See note below. | ||
|- | |- | ||
| <tt>requiredBuild=xxxxx;</tt> || From 1.60 Patchlog: <tt>requiredBuild=xxxxx;</tt> in ''server.cfg'' preventing obsolete clients to connect. Since 95691 the required version is limited to the server version. | |||
|} | |} | ||
Line 96: | Line 94: | ||
Several of these settings directly contribute to the security of the server and have been highlighted as important, particularly for running Public (no password) servers. | Several of these settings directly contribute to the security of the server and have been highlighted as important, particularly for running Public (no password) servers. | ||
The most updated ones that give a good protection (and are, ''de facto'', the standard for public servers) are :< | The most updated ones that give a good protection (and are, ''de facto'', the standard for public servers) are : | ||
:<tt>battlEye=1;</tt> | |||
:<tt>verifySignatures = 2;</tt> | |||
:<tt>allowedLoadFileExtensions[] = {"txt","hpp"};</tt> | |||
Line 106: | Line 104: | ||
==Example Configuration File== | ==Example Configuration File== | ||
< | <syntaxhighlight lang="c"> | ||
// | // | ||
// server.cfg | // server.cfg | ||
Line 177: | Line 175: | ||
// MISSIONS CYCLE (see below) | // MISSIONS CYCLE (see below) | ||
class Missions {}; // An empty Missions class means there will be no mission rotation | class Missions {}; // An empty Missions class means there will be no mission rotation | ||
</ | </syntaxhighlight> | ||
=== Mission rotation === | === Mission rotation === | ||
Line 183: | Line 181: | ||
One can set an automatic mission rotation. It will automatically select a mission join a player joins with no admin logged in. Once the mission is done and still players on the server, it automatically switches to the next in the cycle. | One can set an automatic mission rotation. It will automatically select a mission join a player joins with no admin logged in. Once the mission is done and still players on the server, it automatically switches to the next in the cycle. | ||
==== | ==== Arma ==== | ||
The following example shows one for the missions included with the demo. | The following example shows one for the missions included with the demo. | ||
< | <syntaxhighlight lang="c"> | ||
class Missions | class Missions | ||
{ | { | ||
Line 206: | Line 204: | ||
}; | }; | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
==== | ==== Arma 2 ==== | ||
This example shows how to put all the stock | This example shows how to put all the stock Arma 2 1.05 multiplayer missions into rotation: | ||
< | <syntaxhighlight lang="c"> | ||
class Missions | class Missions | ||
{ | { | ||
Line 256: | Line 254: | ||
}; | }; | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
==== | ==== Arma 2: Operation Arrowhead ==== | ||
This example contains all the MP missions from the Operation Arrowhead expansion: | This example contains all the MP missions from the Operation Arrowhead expansion: | ||
< | <syntaxhighlight lang="c"> | ||
class Missions | class Missions | ||
{ | { | ||
Line 321: | Line 319: | ||
}; | }; | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
=== | === Arma 2: Operation Arrowhead - multiple mission parameters configuration === | ||
Starting rev.72235 (22.7.2010) the Operation Arrowhead should be able not only to use multiple mission parameters, but also configure their defaults in ''server.cfg'' config file. | Starting rev.72235 (22.7.2010) the Operation Arrowhead should be able not only to use multiple mission parameters, but also configure their defaults in ''server.cfg'' config file. | ||
There is a short example how it was tested when implemented. Feel free to rewrite this part of article, as I only want to stop speculations how these parameters are to be configured. This should be considered as a documentation just after implementation. | There is a short example how it was tested when implemented. Feel free to rewrite this part of article, as I only want to stop speculations how these parameters are to be configured. This should be considered as a documentation just after implementation. | ||
< | <syntaxhighlight lang="c"> | ||
// description.ext file: definition of parameters with their defaults. | // description.ext file: definition of parameters with their defaults. | ||
// These default values can be overwritten in the server.cfg, as shown in the following list | // These default values can be overwritten in the server.cfg, as shown in the following list | ||
Line 365: | Line 363: | ||
}; | }; | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
Inside ''server.cfg'' one can define the param1 and param2 values along with new, named parameters inside ''class Params'', using each parameter ''class name'' to assign the corresponding parameter the value. The '''paramsArray''' cannot be used inside ''server.cfg'' config file (or you can use it, but engine has never read it :) ). | Inside ''server.cfg'' one can define the param1 and param2 values along with new, named parameters inside ''class Params'', using each parameter ''class name'' to assign the corresponding parameter the value. The '''paramsArray''' cannot be used inside ''server.cfg'' config file (or you can use it, but engine has never read it :) ). | ||
< | <syntaxhighlight lang="c"> | ||
class Missions | class Missions | ||
{ | { | ||
Line 385: | Line 383: | ||
}; | }; | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
=== Dedicated client in Headless Client mode === | === Dedicated client in Headless Client mode === | ||
{| | {| class="operators" style="width:100%;border-spacing:1px;border-collapse:separate;background-color:#bbb;" | ||
! style="width:30%;" | Parameter !! Description | |||
|- | |- | ||
| <tt>localClient[]={127.0.0.1};</tt> || to indicate clients with unlimited bandwidth (https://dev-heaven.net/issues/62500), Available since Arma 2:OA build 99184 , including Arma 3 | |||
|} | |} | ||
=== Arma | === Arma 3 - STEAM ports configuration === | ||
{| | {| class="operators" style="width:100%;border-spacing:1px;border-collapse:separate;background-color:#bbb;" | ||
! style="width:30%;" | Parameter !! Description | |||
|- | |- | ||
| | | <tt>steamPort = <number>;</tt> || default <tt>8766</tt>, defines port for communication with STEAM services, needs to be unique for each dedicated server within one OS instance / network interface | ||
|- | |- | ||
| <tt>steamQueryPort = <number>;</tt> || default <tt>27016</tt>, defines port for server's STEAM query, needs to be unique for each dedicated server within one OS instance / network interface | |||
|} | |} | ||
Revision as of 20:04, 6 May 2014
Introduction
This article deals with the server.cfg, the name means nothing, and can be called anything. The real name is determined by the -config command line option when launching the dedicated server. This is a configuration file which you can use to configure various game server settings such as the difficulty level, how many votes are needed, and welcome messages. Please feel free to add more information. There is no default name - when you do not specify the filename, no server configuration file is loaded.
Server Options
Parameter | Description |
---|---|
passwordAdmin = "xyzxyz"; | Password to protect admin access. |
password = "xyz"; | Password required to connect to server. |
hostname="My Server"; | Servername visible in the game browser. |
maxPlayers = 10; | The maximum number of players that can connect to server ( seems to be out by 1 in the demo at least ). Number of mission slots override this setting. |
motd[]= {"Welcome to my server.","Hosted in the net."}; | Two lines welcome message. Comma is the 'new line' separator. |
Server Behavior | Description |
---|---|
voteThreshold = 0.33; | Percentage of votes needed to confirm a vote. 33 percent in this example. |
voteMissionPlayers = 3; | Start mission-voting when X numberOfPlayers connect. 3 players in this example. |
reportingIP="<>"; |
|
kickduplicate = 1; | Do not allow duplicate game ids. Second player with an existing ID will be kicked automatically. 1 means active, 0 disabled. |
checkfiles[]={"dta\bin.pbo","a10\config.bin"}; | Outdated - replaced by verifySignatures! Only use if you really understand what it does.
List of files to check for integrity with crc check. Possible to check pbo files or files inside pbos. Beware checking large files takes serious processing on the server and can cause various issues. |
equalModRequired = 1; | Outdated - replaced by verifySignatures! Only use if you really understand what it does.
Clients require the exact same modfolder naming, order and amount as the server. 1 means active, 0 disabled. |
Arma Only Parameters | Description | |
---|---|---|
verifySignatures = 2; | Enables or disables the signature verification for addons. Default = 0. Weak protection = 1. Full protection = 2. From Arma 3 use only level 2 (level 1 is outdated and not efficent) Changed in 1.59 patch with: http://forums.bistudio.com/showthread.php?t=115114 | |
disableVoN = 1; | Enables or disables the Voice over Net. Default = 0. | |
vonCodecQuality = 10; | Sets VoN codec quality. Value range is from 1 to 20. Default = 3. //since 1.62.95417 supports range 1-20 //since 1.63.x will supports range 1-30 //8kHz is 0-10, 16kHz is 11-20, 32kHz is 21-30 | |
logFile = "server_console.log"; | Enables output of dedicated server console into textfile. Default location of log is same as crash dumps and other logs. (Local settings) Note that this does not change the location of the "net.log" file, which you enable with the -netlog command line option. | |
doubleIdDetected = "command"; | see Server Side Scripting | |
onUserConnected = "command"; | ||
onUserDisconnected = "command"; | ||
onHackedData = "command"; | ||
onDifferentData = "command"; | ||
onUnsignedData = "command"; | ||
regularCheck = "command"; | ||
BattlEye=1; | Enables or disables the BattlEye anti-cheat engine. Default 0. - since 1.09 beta. Note that this requires specific dlls to be installed on the server and all clients joining the game | |
timeStampFormat="short"; | Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default), "short", "full". | |
persistent = 1; | Enables or disables the persistent battlefield. Default = 0. See note below. | |
requiredBuild=xxxxx; | From 1.60 Patchlog: requiredBuild=xxxxx; in server.cfg preventing obsolete clients to connect. Since 95691 the required version is limited to the server version. |
Comments
Enabling the persistence option will make missions that have either base or instant respawn keep on running after all players have disconnected. The other respawn types will not make a mission persistent. The kind of respawn a certain mission uses is set in its Description.ext.
If you do not include the regularCheck option or set regularCheck=""; it will be activated. Server checks files from time to time by hashing them and comparing the hash to the hash values of the clients. (The heavy I/O operation might be stressful for some systems with weak I/O, slow HDD etc., in case You still have these problems post 1.60 release please report to CIT ticket with details https://dev-heaven.net/projects/cis/issues/new )
To turn this function off, write regularCheck="{}";. It's strongly recommended to NOT DISABLE regularCheck as this will make the server prone to cheating.
Server Security
Several of these settings directly contribute to the security of the server and have been highlighted as important, particularly for running Public (no password) servers.
The most updated ones that give a good protection (and are, de facto, the standard for public servers) are :
- battlEye=1;
- verifySignatures = 2;
- allowedLoadFileExtensions[] = {"txt","hpp"};
Refer to ArmA: Addon Signatures for current best practices in server mod signing and the use of key signature files.
Example Configuration File
//
// server.cfg
//
// comments are written with "//" in front of them.
// GLOBAL SETTINGS
hostname = "Fun and Test Server"; // The name of the server that shall be displayed in the public server list
password = ""; // Password for joining, eg connecting to the server
passwordAdmin = "xyz"; // Password to become server admin. When you're in Arma MP and connected to the server, type '#login xyz'
//reportingIP = "armedass.master.gamespy.com"; // For ArmA1 publicly list your server on GameSpy. Leave empty for private servers
//reportingIP = "arma2pc.master.gamespy.com"; // For ArmA2 publicly list your server on GameSpy. Leave empty for private servers
reportingIP = "arma2oapc.master.gamespy.com"; // For Arma2: Operation Arrowhead
logFile = "server_console.log"; // Tells ArmA-server where the logfile should go and what it should be called
// WELCOME MESSAGE ("message of the day")
// It can be several lines, separated by comma
// Empty messages "" will not be displayed at all but are only for increasing the interval
motd[] = {
"", "",
"Two empty lines above for increasing interval",
"Welcome to our server",
"", "",
"We are looking for fun - Join us Now !",
"http://www.example.com",
"One more empty line below for increasing interval",
""
};
motdInterval = 5; // Time interval (in seconds) between each message
// JOINING RULES
checkfiles[] = {}; // Outdated.
maxPlayers = 64; // Maximum amount of players. Civilians and watchers, beholder, bystanders and so on also count as player.
kickDuplicate = 1; // Each ArmA version has its own ID. If kickDuplicate is set to 1, a player will be kicked when he joins a server where another player with the same ID is playing.
verifySignatures = 2; // Verifies .pbos against .bisign files. Valid values 0 (disabled), 1 (prefer v2 sigs but accept v1 too) and 2 (only v2 sigs are allowed).
equalModRequired = 0; // Outdated. If set to 1, player has to use exactly the same -mod= startup parameter as the server.
//requiredBuild = 12345 // Require clients joining to have at least build 12345 of game, preventing obsolete clients to connect
// VOTING
voteMissionPlayers = 1; // Tells the server how many people must connect so that it displays the mission selection screen.
voteThreshold = 0.33; // 33% or more players need to vote for something, for example an admin or a new map, to become effective
// INGAME SETTINGS
disableVoN = 1; // If set to 1, Voice over Net will not be available
vonCodecQuality = 0; // since 1.62.95417 supports range 1-20 //since 1.63.x will supports range 1-30 //8kHz is 0-10, 16kHz is 11-20, 32kHz is 21-30
persistent = 1; // If 1, missions still run on even after the last player disconnected.
timeStampFormat = "short"; // Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default),"short","full".
BattlEye = 1; // Server to use BattlEye system
allowedLoadFileExtensions[] = {"txt","hpp"}; // only allow files with ".txt" and ".hpp" extension to be loaded via loadFile command (since Arma 3 1.19.124216)
// SCRIPTING ISSUES
onUserConnected = ""; //
onUserDisconnected = ""; //
doubleIdDetected = ""; //
//regularCheck = "{}"; // Server checks files from time to time by hashing them and comparing the hash to the hash values of the clients. Causes heavy I/O, uncomment to disable feature - READ WARNING ABOVE - makes cheating possible!
// SIGNATURE VERIFICATION
onUnsignedData = "kick (_this select 0)"; // unsigned data detected
onHackedData = "ban (_this select 0)"; // tampering of the signature detected
onDifferentData = ""; // data with a valid signature, but different version than the one present on server detected
// MISSIONS CYCLE (see below)
class Missions {}; // An empty Missions class means there will be no mission rotation
Mission rotation
One can set an automatic mission rotation. It will automatically select a mission join a player joins with no admin logged in. Once the mission is done and still players on the server, it automatically switches to the next in the cycle.
Arma
The following example shows one for the missions included with the demo.
class Missions
{
class MPCTF_01// name for the mission, can be anything
{
template = M02CaptureTheFlag.SaraLite;// omit the .pbo suffix
cadetMode = 1;// difficulty 0=veteran 1=cadet
};
class MPCOOP_01
{
template = M01Cooperative.SaraLite;
cadetMode = 1;
};
class MPCTI_01
{
template = M03ConquerTheIsland.SaraLite;
cadetMode = 1;
};
};
Arma 2
This example shows how to put all the stock Arma 2 1.05 multiplayer missions into rotation:
class Missions
{
class DM_Deathmatch
{
template = "MP_Deathmatch.Chernarus";// omit the .pbo suffix
difficulty = "recruit";// difficulty: recruit, regular, veteran or mercenary (see CfgDifficulties in the main game config)
};
class DM_Detector
{
template = "MP_Detector.Chernarus";
difficulty = "regular";
};
class Team_TeamDeathmatch
{
template = "MP_TeamDeathmatch.Chernarus";
difficulty = "veteran";
};
class COOP_Paradrop
{
template = "MP_Paradrop.Chernarus";
difficulty = "mercenary";
};
class CTI_CivilWar
{
template = "MP_CivilWar.Chernarus";
difficulty = "regular";
};
class CTI_SuperPowers
{
template = "MP_Superpowers.Chernarus";
difficulty = "regular";
};
class CTI_WarWelcome
{
template = "MP_WarWelcome.utes";
difficulty = "regular";
};
class CTI_WhenDiplomacyFails
{
template = "MP_WhenDiplomacyFails.Chernarus";
difficulty = "regular";
};
};
Arma 2: Operation Arrowhead
This example contains all the MP missions from the Operation Arrowhead expansion:
class Missions
{
class COOP_HikeInTheHills
{
template="MPE1_HikeInTheHills.Takistan";// omit the .pbo suffix
difficulty="regular";// difficulty: recruit, regular, veteran or mercenary (see CfgDifficulties in the main game config)
};
class COOP_LaserShow
{
template="MPE1_LaserShow.Takistan";
difficulty="regular";
};
class COOP_Littlebird
{
template="MPE1_Littlebird.Takistan";
difficulty="regular";
};
class COOP_OneShotOneKill
{
template="MPE1_OneShotOneKill.Takistan";
difficulty="regular";
};
class COOP_SteelPanthers
{
template="MPE_SteelPanthers.Takistan";
difficulty="regular";
};
class CTI_MountainWarfare
{
template="MPE_MountainWarfare.Takistan";
difficulty="regular";
};
class CTI_MountainWarfare3Sided
{
template="MPE_MountainWarfare3Sided.Takistan";
difficulty="regular";
};
class CTI_UrbanWarfare
{
template="MP_UrbanWarfare.Zargabad";
difficulty="regular";
};
class SCont_SectorControl
{
template="MPE_SectorControl.Zargabad";
difficulty="veteran";
};
class DM_Dogfighters
{
template="MPE1_Dogfighters.Takistan";
difficulty="veteran";
};
class Team_HuntersHunted
{
template="MPE1_HuntersHunted.Takistan";
difficulty="veteran";
};
};
Arma 2: Operation Arrowhead - multiple mission parameters configuration
Starting rev.72235 (22.7.2010) the Operation Arrowhead should be able not only to use multiple mission parameters, but also configure their defaults in server.cfg config file. There is a short example how it was tested when implemented. Feel free to rewrite this part of article, as I only want to stop speculations how these parameters are to be configured. This should be considered as a documentation just after implementation.
// description.ext file: definition of parameters with their defaults.
// These default values can be overwritten in the server.cfg, as shown in the following list
titleParam1 = "Secretary dress";
valuesParam1[] = {0,1,2,3};
defValueParam1 = 0;
textsParam1[] = {"Bikini","Miniskirt","Tunic","Jeans"};
titleParam2 = "Secretary age";
valuesParam2[] = {18,20,26,30,35,80};
defValueParam2 = 26;
textsParam2[] = {"18","20","26","30","35","Baba Jaga"};
class Params
{
class Name
{
title = "Secretary name";
values[] = {0,1,2,3};
texts[] = {"Iveta","Mila","Misa","Bara"};
default = 3;
};
class WorkPlace
{
title = "Secretary place";
values[] = {0,1};
texts[] = {"Prague","Mnisek"};
default = 1;
};
class Friend
{
title = "Her friend"
values[] = {0,1};
texts[] = {"None","Bebul"};
default = 1;
};
};
Inside server.cfg one can define the param1 and param2 values along with new, named parameters inside class Params, using each parameter class name to assign the corresponding parameter the value. The paramsArray cannot be used inside server.cfg config file (or you can use it, but engine has never read it :) ).
class Missions
{
class CanBeAnything // name for the mission, can be anything
{
template = "parametersTest.Desert_E"; // omit the .pbo suffix
difficulty = "regular"; // difficulty: recruit, regular, veteran & mercenary as specified in *.Arma2profile
param1 = 2; // dress
param2 = 26; // age
class Params
{
Name = 2;
WorkPlace = 0;
Friend = 1;
};
};
};
Dedicated client in Headless Client mode
Parameter | Description |
---|---|
localClient[]={127.0.0.1}; | to indicate clients with unlimited bandwidth (https://dev-heaven.net/issues/62500), Available since Arma 2:OA build 99184 , including Arma 3 |
Arma 3 - STEAM ports configuration
Parameter | Description |
---|---|
steamPort = <number>; | default 8766, defines port for communication with STEAM services, needs to be unique for each dedicated server within one OS instance / network interface |
steamQueryPort = <number>; | default 27016, defines port for server's STEAM query, needs to be unique for each dedicated server within one OS instance / network interface |