From dc0c5658243a616e4e02d07cc4ce5c2b3b334538 Mon Sep 17 00:00:00 2001 From: Red-Thirten Date: Tue, 26 Jan 2021 14:32:33 -0800 Subject: [PATCH] Update server.cfg - Cleaned up informational comments. - Reorganized the list of settings to be more readable and grouped related settings. More advanced (less touched) settings were moved to the bottom of the file. - Changed some default values to better ones. - Added some missing, yet common, settings. --- .../arma/arma3/egg-arma3-config/server.cfg | 214 +++++++++--------- 1 file changed, 111 insertions(+), 103 deletions(-) diff --git a/steamcmd_servers/arma/arma3/egg-arma3-config/server.cfg b/steamcmd_servers/arma/arma3/egg-arma3-config/server.cfg index 2615bf70..20c439a2 100644 --- a/steamcmd_servers/arma/arma3/egg-arma3-config/server.cfg +++ b/steamcmd_servers/arma/arma3/egg-arma3-config/server.cfg @@ -1,17 +1,16 @@ // **************************************************************************** // * -// Arma 3 - server.cfg * -// Version 060117 * +// ArmA 3 Server Config File - server.cfg * +// * +// More info about parameters: * +// https://community.bistudio.com/wiki/server.cfg * // * // **************************************************************************** -// ArmA 3 Server Config File -// -// More info about parameters: -// https://community.bistudio.com/wiki/server.cfg +// Some settings are not listed here; see link above for extensive list. +// Some settings are disabled (commented out). Remove the // to enable them. - -// GENERAL SETTINGS +// === GLOBAL SETTINGS === // Hostname for server. hostname = "Arma 3 Server"; @@ -22,45 +21,16 @@ hostname = "Arma 3 Server"; // Admin Password //passwordAdmin = "ADMINPASSWORD"; -// Auto-admin -admins[] = {""}; +// Whitelisted Admins - Clients that do not need a password to login. +//admins[] = { "UID OR steamID64", "0123456789", "9876543210" }; -// Server Slots -maxPlayers = 32; +// Server Command Password - for scripting and certain mods. +//serverCommandPassword = "COMMANDPASSWORD"; -// Logfile -logFile = "arma3server.log"; - -// Minimum Required Client Build -//requiredBuild = 95691 - -class Missions -{ - class Mission1 - { - template = ; - difficulty = "Regular"; - class Params {}; - }; - class Mission2 - { - template = ; - difficulty = "Regular"; - class Params {}; - }; - class Mission3 - { - template = ; - difficulty = "Regular"; - class Params {}; - }; - class Mission4 - { - template = ; - difficulty = "Regular"; - class Params {}; - }; -}; +// Log File +logFile = "server_console.log"; +// RPT File Timestamp Format - none | short | full +timeStampFormat = "short"; // Message of the Day (MOTD) motd[] = { @@ -68,91 +38,129 @@ motd[] = { "TS3 Server: teamspeak.somewhere.com", "Web: www.example.com" }; +// MOTD Interval - Seconds between each message. +motdInterval = 5; -// MOTD Interval (Seconds) -motdInterval = 30; +// Missions Cycle +class Missions +{ + class Mission1 + { + template = MP_ZGM_m11.Altis; + difficulty = "Regular"; + class Params {}; + }; + class Mission2 + { + template = MP_ZGM_m12.Stratis; + difficulty = "Recruit"; + class Params {}; + }; +}; +// Whitelisted Missions - Only these missions can be selected on the mission select screen. +//missionWhitelist[] = { "MP_ZGM_m11.Altis", "MP_ZGM_m12.Stratis" }; -// VOTING +// === JOINING RULES === -// Server Mission Start -// minimum number of clients before server starts mission -voteMissionPlayers = 1; +// Server Slots +maxPlayers = 32; -// Accepted Vote Threshold -// 0.33 = 33% clients. -voteThreshold = 0.33; +// Enable BattlEye +BattlEye = 1; -// INGAME SETTINGS +// Addon Signature Verification - Verifies .pbos against .bisign files - 0 = Disabled | 2 = Enabled (v2) +verifySignatures = 2; -// Disable Voice over Net (VoN) -// 0 = voice enabled. -// 1 = voice disabled. +// Kick Duplicate Player IDs - 0 = No | 1 = Yes +kickDuplicate = 1; +// Allow File Patching - 0 = No Clients | 1 = Headless Clients only | 2 = All Clients +allowedFilePatching = 0; +// Minimum Required Client Version +//requiredBuild = 999999999; +// LAN Mode +loopback = 0; +// UPNP Router Mode +upnp = 0; + +// Headless Client IP Whitelists +headlessClients[] = { "127.0.0.1" }; +localClient[] = { "127.0.0.1" }; + + +// === INGAME SETTINGS === + +// Advanced Flight Model Enforcement - 0 = Up to player | 1 = Advanced model enforced | 2 = Simple model enforced +forceRotorLibSimulation = 0; + +// Disable In-Game Voice Chat (Voice over Network) disableVoN = 0; - +// VoN Codec - 0 = older SPEEX codec | 1 = newer IETF standard OPUS codec +vonCodec = 1; // VoN Codec Quality // 0-10 = 8kHz (narrowband). // 11-20 = 16kHz (wideband). // 21-30 = 32kHz (ultrawideband). -vonCodecQuality = 3; +vonCodecQuality = 10; -// Persistent Battlefield -// 0 = disable. -// 1 = enable. -persistent = 1; +// Persistent Mission - Keeps mission running when all players disconnect. +persistent = 0; -// Time Stamp Format -// none, short, full -timeStampFormat = "short"; +// Allow Drawing in Map +drawingInMap = 1; -// Server Statistics -// Set this to 0 to opt-out! More info: https://community.bistudio.com/wiki/Arma_3_Analytics -statisticsEnabled = 1; +// Enforce Difficulty - Use "Custom" for ServerProfile-defined custom difficulty +forcedDifficulty = "regular"; -// SERVER SECURITY/ANTI HACK -// Verify Signitures for Client Addons -// 0 = off. -// 1 = weak protection (depricated). -// 2 = full protection. -verifySignatures = 2; +// === VOTING === -// Secure Player ID -// 1 = Server warning message. -// 2 = Kick client. -requiredSecureId = 2; +// Allowed Vote Commands - Un-comment this to prevent voted commands (like vote-kick) +//allowedVoteCmds[] = {}; -// Kick Duplicate Player IDs -kickDuplicate = 1; +// Start mission-voting when X number of players connect. +voteMissionPlayers = 1; -// BattlEye Anti-Cheat -// 0 = disable -// 1 = enable -BattlEye = 1; +// Vote Threshold - Percentage of votes needed to confirm a vote. +voteThreshold = 0.33; -// Allowed File Extentions -allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; -allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; -allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"}; -// SCRIPTING ISSUES +// === CLIENT NETWORK HEALTH === + +// Seconds to wait before disconnecting a user which temporarily lost connection. +disconnectTimeout = 90; +// Max Desync Value +maxdesync = 150; +// Max Ping (ms) +maxping = 200; +// Max Packet Loss +maxpacketloss = 50; + +// Action to Take on Slow Network (defined above) +// Defines if {, , , } will be logged (0) or kicked (1) +kickClientsOnSlowNetwork[] = { 1, 1, 0, 1 }; + +// Kick Duration (temp-ban) on Network Kick +// Options {, , , } -- Timeout {>0 seconds; -1 until missionEnd; -2 until serverRestart} +kickTimeout[] = { {0, -1},{1, 1},{2, 5},{3, 1} }; + + +// === SERVER SIDE SCRIPTING === +// See https://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting + onUserConnected = ""; onUserDisconnected = ""; doubleIdDetected = ""; -// SIGNATURE VERIFICATION -// kick = kick (_this select 0) -// ban = ban (_this select 0) onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; -// HEADLESS CLIENT SUPPORT -// specify ip-adresses of allowed headless clients -headlessClients[] = {"127.0.0.1", "172.18.0.1"}; -localClient[] = {"127.0.0.1", "172.18.0.1"}; - -// BattlEye Anti-Cheat License -// 0 = decline -// 1 = accept -battleyeLicense = 1; +// Only allow files with these extensions to be loaded via loadFile command +allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; +// Only allow files with these extensions to be loaded via preprocessFile/preprocessFileLineNumber commands +allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; +// Only allow files with these extensions to be loaded via HTMLLoad command +allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"}; +// Leave commented to let missions/campaigns/addons decide what URIs are supported. Un-comment to define server-level restrictions for URIs +//allowedHTMLLoadURIs = {};