Stage Two - Configure ArmA2 ServerBefore I
discuss the server launch process various configuration files must be written
by the server administrator.
- server.cfg
The
server.cfg can actually be called any name as specified in the launch command
line discussed later in this document. The server.cfg defines several key
components such as connection passwords, message of the day, mission rotations.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
/*
Example ArmA2 server configuration file
by [KH]Jman, 3rd July 2009. http://www.kellys-heroes.eu
*/
// Password for private servers. Uncomment this if you wish to run a private server
// password = "my password";
/*
Password to protect admin access
type: #login mypassword
in ingame client chatbox to login as admin
type: #missions
in ingame client chatbox to display the mission list
*/
passwordAdmin = "mypassword";
// The name of the server that shall be displayed in the public server list
hostname="My Server Name";
/*
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[]=
{
"Welcome to my server name",
"hello world",
};
// Time interval (in seconds) between each message of the day
motdInterval=50;
/*
25% or more players need to vote for mission to become effective
set to 1.5 to turn off missions voting
*/
voteThreshold=0.25;
/*
Maximum amount of server slots
server will always display 64 slots if maxPlayers is >64 and server is empty
*/
maxPlayers=80;
/*
Gamespy reporting url for public server list inclusion
use 127.0.0.1 for LAN server
*/
reportingIP="arma2pc.master.gamespy.com";
/*
If specified player connects/disconnects and player id are written to file.
log file is persistant and appends data on server restart.
*/
logfile="myserver.log";
/*
Specifies the mission rotation and related difficulty settings.
leave blank i.e class Missions {};
to enable player's selection from mission list & difficulty settings
(voted on if no admin logged in)
*/
class Missions
{
class Mission_01 // name for the mission, can be anything
{
template = mymission.Chernarus; // omit the .pbo suffix
/*
difficulty: recruit, regular, veteran & expert
as specified in *.Arma2profile
*/
difficulty = "regular";
/*
The following options are seen in the lobby of a multiplayer game. These
options can be useful for setting time limits and score limits in such games
as Capture the Flag and Death Matches. Other popular uses include
accelerate time, setting the mission difficulty or switching the intro on/off.
*/
param1 =
param2 =
};
class Mission_02
{
template = anothermission.Chernarus;
difficulty = "veteran";
param1 =
param2 =
};
};
// If class missions is blank start voting when 1 players connect.
voteMissionPlayers=1;
// Do not allow players with duplicate ids to connect
kickduplicate=1;
// If set to 1 players must use exactly the same -mod= startup parameter as the server.
equalModRequired=0;
// If set to 1, Voice over Net will not be available
disableVoN=0;
/*
Quality from 1 to 10
refer to:
http://community.bistudio.com/wiki/ArmA:_Multiplayer#VOIP_support
for codec info. 7 is the best.
*/
vonCodecQuality=7;
/*
Set the timestamp format used on each report line in server-side RPT file.
possible values are:
none (default), short & full
*/
timeStampFormat=full;
/*
Enables persistent battlefield
dependent on the mission specifiying persistence, otherwise has no effect.
missions must contain either instant respawn or base respawn options located in the missions description.ext file
*/
persistent=0;
/*
Enables signature verification for addons
this will prevent pbo hacks by only allowing pbos that pass servers public key checks
*/
verifySignatures=1;
// Signature timeout fix
regularcheck="";
// See ArmA Biki for additional signature commands
// EOF
|
- Download example
server.cfg
- arma2.cfg
The
arma2.cfg just like the server.cfg can be called any name as specified in the
launch command line. The arma2.cfg file
contains important information concerning server data rates which may be
adjusted based on the server's hardware and network connection. Client custom
faces and sounds size and control can be controlled from within this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
/*
Example ArmA2 configuration file
by [KH]Jman, 8th September 2011. http://www.kellys-heroes.eu
These example numbers are for a 2.5 - 3Ghz Quad Core Xeon on a 100mBit connection.
*/
/*
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
*/
MinBandwidth=10000000;
/*
Bandwidth the server is guaranteed to never have.
This value helps the server to estimate bandwidth available.
*/
MaxBandwidth=2147483647;
/*
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
*/
MaxMsgSend = 1024;
/*
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
*/
MaxSizeGuaranteed = 1024;
/*
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
*/
MaxSizeNonguaranteed = 64;
/*
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.01
*/
MinErrorToSend = 0.0040000002;
/*
Users with custom faces or custom sounds larger than this size are kicked when trying to connect.
Use this wisely as it can be the cause of alot of Join in Progress lag.
1600000 = 160k
*/
MaxCustomFileSize=0;
// EOF
|
- Download example
arma2.cfg
- default.arma2profile
The default.arma2profile can be called any name as specified in the launch command line. The default.arma2profile contains server
difficulty levels and visual settings, friendly and enemy
AI quality, HUD, crosshair, 3rd person view, clock indicator and so on. Rather than
listing it line by line here in this document please download the example file
below which contains my comments.
I have omitted any commands that have no
effect on the multiplayer system.
While
connected to the dedicated server, you can use the admin command #monitor 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 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 in the ArmA2.cfg.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
/*
Example ArmA2Profile configuration file
by [KH]Jman, 1st July 2009. http://www.kellys-heroes.eu
*/
class Difficulties
{
class Recruit
{
class Flags
{
Armor=1; // Gives you improved body armor, tank armor etc
FriendlyTag=1; // Displays information on friendly units. ONLY WORKS WITH 'Weaponcursor=0', eg crosshair on.
EnemyTag=1; // Displays information on enemy units
HUD=1; // Shows you leaders location and your position in formation
HUDPerm=1; // Shows HUD permanently
HUDWp=1; // Shows Waypoints right after they're ordered to you
HUDWpPerm=1; // Shows Waypoints permanently
WeaponCursor=1; // Shows the crosshair for your weapon
AutoAim=1; // Enables auto aim when you're not looking through your weapon's scope. Also works with crosshair off
AutoGuideAT=1; // AT missiles will be automatically guided to their target. If 0, player has to lock onto the target.
3rdPersonView=1; // This turns 3rd(third) person view and group leader view on or off. Please never talk of this as "3D view" - ArmA is not an arcade game !
ClockIndicator=1; // Displays the clock indicator on the left of your screen when giving/receiving orders like "At 11 o'clock, enemy man at 200 meters"
Map=1; // Shows symbols for all objects known to your gruop on the map. This will NOT disable the map itself !
Tracers=1; // Displays tracers even of small arms that in real life would not have tracers
AutoSpot=1; // If you're close enough to an enemy, you'll report it without right-clicking
UltraAI=0; // Enables super AI, hear and see more and increased tactics. This is for both friendly and enemy sides.
DeathMessages=1; // Displays death messages i.e. playerA kill playerB
NetStats=1; // Displays score board
VonID=1; // Displays VON player name in window
};
// These are the skills. Value may range from 0.000000 to 1.000000
skillFriendly=0.34999999;
skillEnemy=0.34999999;
precisionFriendly=0.20;
precisionEnemy=0.20;
};
class Regular
{
class Flags
{
Armor=1;
FriendlyTag=1;
EnemyTag=0;
HUD=1;
HUDPerm=0;
HUDWp=1;
HUDWpPerm=1;
WeaponCursor=1;
AutoAim=0;
AutoGuideAT=0;
3rdPersonView=1;
ClockIndicator=1;
Map=1;
Tracers=1;
AutoSpot=0;
UltraAI=0;
DeathMessages=1;
NetStats=1;
VonID=1;
};
skillFriendly=0.44999999;
skillEnemy=0.44999999;
precisionFriendly=0.35;
precisionEnemy=0.35;
};
class Veteran
{
class Flags
{
Armor=0;
FriendlyTag=0;
EnemyTag=0;
HUD=1;
HUDPerm=0;
HUDWp=1;
HUDWpPerm=1;
WeaponCursor=0;
AutoAim=0;
AutoGuideAT=0;
3rdPersonView=0;
ClockIndicator=1;
Map=0;
Tracers=1;
AutoSpot=0;
UltraAI=0;
DeathMessages=0;
NetStats=0;
VonID=1;
};
skillFriendly=0.74999999;
skillEnemy=0.74999999;
precisionFriendly=0.75;
precisionEnemy=0.75;
};
class Expert
{
class Flags
{
Armor=0;
FriendlyTag=0;
EnemyTag=0;
HUD=1;
HUDPerm=0;
HUDWp=1;
HUDWpPerm=1;
WeaponCursor=0;
AutoAim=0;
AutoGuideAT=0;
3rdPersonView=0;
ClockIndicator=1;
Map=0;
Tracers=1;
AutoSpot=0;
UltraAI=0;
DeathMessages=0;
NetStats=0;
VonID=0;
};
skillFriendly=0.94999999;
skillEnemy=0.94999999;
precisionFriendly=0.95;
precisionEnemy=0.95;
};
};
// Sets the server default view distance.
// Render distance is 3/4 of view distance - for 2000 metres, objects will be render up to 1500 metres
// This maybe overidden by the mission
viewDistance=2000;
// Sets the server default terrain quality. Very High:10, Low:50
// This maybe overidden by the mission
terrainGrid=25;
// EOF
|
- Download example
default.arma2profile
Top |