Squad Wiki
Squad Wiki
Advertisement
This article is a stub. You can help Squad Wiki by expanding it.

Terminology[]

Before configuring your server, it is important to understand a few terms. Some of these terms have been newly introduced or changed their meaning in release 2.0. To prevent confusion and misunderstand, we are explaining these terms with their current meaning for server administration (beware, some of these terms have again different meanings for Modding).

  • What we call a map, for example Al Basrah, consists of static elements such as the landscape, buildings, foliage and more.
  • OWI is now using the term level for exactly the same meaning, therefore the term "level" has exactly the same meaning as "map".
  • Next, the term layer is a subdivision of a level. A layer defines gameplay elements such as which game mode is played, the number and locations of flags, time of day, etc. A level can consists of multiple layers, for example "Al Basrah AAS v1" or "Al Basrah Insurgency v1" are two different layers of the level "Al Basrah".
  • Finally, the new term "faction setup", also called divisions, refers to different vehicle asset configurations for different factions,. Previously, the vehicle assets and factions were fixed for a layer; now these can be set independently by server admins for some game modes.

Command Line[]

All of the following parameters can be added to your starting command line for additional configuration. Be careful to avoid typos when adding these!

MULTIHOME = The IP Address you want to bind the server to. (Use only if you have multiple IPs on your server) (Optional)

Port = Game port

QueryPort = Steam query port

beaconport = Only odjust if you have more than one server. Each server MUST unique. Recommended padding is +5

RANDOM = Randomize map rotation (ALWAYS, FIRST, NONE) (Optional)

FIXEDMAXPLAYERS = Player count cannot go higher than this (Optional)

FIXEDMAXTICKRATE = MAX server tickrate (Optional)

PREFERPREPROCESSOR = CPU Affinity (Optional) UNTESTED

-log = Display a log window on the server (Optional)

-fullcrashdump = Save a full dump file on crash (can become quite large sometimes) (Optional)

The following line implements additional start parameters as an example.

start SquadGame\Binaries\Win64\SquadGameServer.exe MULTIHOME=1.2.3.4 Port=7787 QueryPort=27165 beaconport=15000 FIXEDMAXPLAYERS=100 FIXEDMAXTICKRATE=40 RANDOM=NONE -log

Set processor Affinity[]

Windows[]

You can use the start-command allows you to set the core thread affinity for each server (if you run several servers on one machine):

start /AFFINITY C /WAIT SquadGame\Binaries\Win64\SquadGameServer.exe Port=7787 QueryPort=27165 beaconport=15000 FIXEDMAXPLAYERS=80 RANDOM=ALWAYS -log

Calculating AFFINITY[]

Squad Affinity Calculator

Open your Windows calculator.

Step 1 - Click menu icon

Step 2 - Enable "programmer" mode

Step 3 - Toggle bit keypad

Step 4 - Click until you see BYTE which corresponds to 4 core 8 threads CPU (You can select other values to correspond your CPU).

Step 5 - Click on HEX

Core thread count starts from 0, you can see which number is responsible for which core thread on the third image. 1 means core thread is selected, 0 means core thread is ignored.

Result you need is shown in "HEX", if you have all core thread selected 0-7 you will see "FF" as your result. For our /AFFINITY parameter we need then "FF" to set the core affinity to all core threads. If you want to select only core threads 4-7 (0000 1111) your result should be "F".

Linux[]

Linux users can also set their core affinity by using the "taskset" command in their start line. Keep in mind that core threads are zero-indexed. This means if you have 8 processor threads, you can assign cores 0-7.

cd server1; taskset -c 0-3 ./SquadGameServer.sh Port=7787 QueryPort=27165 beaconport=15000 FIXEDMAXPLAYERS=80 RANDOM=NONE

Files[]

Configuration files are located in C:\servers\squad_server\SquadGame\ServerConfig\ Configuration files located in this directory are

Admins.cfg
Bans.cfg
CustomOptions.cfg
ExcludedFactions.cfg
ExcludedLayers.cfg
ExcludedLevels.cfg
LayerVoting.cfg
LayerVotingNight.cfg
LayerVotingLowPlayers.cfg
LayerRotation.cfg
LevelRotation.cfg
License.cfg
Motd.cfg (optional)
Rcon.cfg
RemoteAdminListHosts.cfg
RemoteBanListHosts.cfg
Server.cfg
ServerMessages.cfg
VoteConfig.cfg -- Note Needed

Layer Voting Config & Commands[]

General Overview[]

Faction Unit and Layer Voting is an opt-in system that allows your communities to vote for the next faction and layer they wish to play.

When a match of Squad concludes the Scoreboard will appear and afterwards players on each team will be provided a selection to vote for the layer and then the faction they wish to play.

With the addition of the voting system, factions have been broken down now into units that have their own specialities. Currently these specialties are represented by having a unique lineup of vehicles and FOB emplacements. In the future, this may be expanded to include unique weapons, roles, and commander abilities. These different units can show up in the voting options when voting for which team to play. Unit types currently represented are combined arms (these are similar to how factions were set up before voting), air assault, armored, light infantry, mechanized, motorized, support, and amphibious assault.

With the addition of the voting system, the amount of gameplay layers has been consolidated now that new layers are no longer required for different factions match-ups (down from 453 to 203). Additional unique layers will be introduced in future updates.

The full list of units, layers, and which units can be played on what layer can be found below.

Faction Unit and Map Layer Sheet Reference[]

v8.0 Map Layers and Units (Public)

The Layer Voting System allows Server Owners to:

  • Configure the number of layers and factions to be voted on (2 to 6). The default is 6.
  • Configure the time given to vote for layers (20 to 90 seconds). The default is 90 seconds.
  • Configure the time given to vote for factions and units (20 to 60 seconds). The default is 60 seconds.
  • Configure how many rounds before the same game mode, map, layer, factions, and units can be available to be voted on again.
  • Server Owners can also set two different pools of layers that will be available for voting:
    • One for low-population server conditions (Ideal for Seeding and Skirmish)
      • Server Owners will be able to set what they consider “low population” using a LowPlayerCountThreshold.cfg
    • One for normal, fully-populated server conditions
      • Server Owners will be able to blacklist certain factions or units from the layers using their layer pool.
Information Note: 🔵 Blacklisting can be done either through ExcludedFactions.cfg file globally or for specific layers in the respective voting config files.

Layer voting is optional but there are changes to note.

  • There will be a notable decrease in layers to choose from with the voting system from 453 to 203 currently. This is due to duplicate layers using different factions being removed. Layers were cut to consolidate Main Base locations in fewer locations on a given map and to accommodate all possible vehicle spawns needed for a faction.
    • To alleviate this problem, Server Owners will be given more flexibility when setting a static layer rotation.
Notable Console Commands[]
  • AdminChangeLayer - Change the layer and travel to it immediately, no vote will occur.
  • AdminSetNextLayer - Sets the next layer to travel to after this match ends, no vote will occur.
  • AdminSetNextLevel - Sets the next layer to travel to this map after this match ends, no vote will occur.
  • AdminClearNextLayer - Clears the selection of the next layer (ONLY WHEN LAYER VOTING IS ENABLED - SEE “SERVER CONFIGURATION”)

AdminChangeLayer and AdminSetNextLayer were adjusted to a new layer structure. These accept faction IDs as parameters, which can be found in the ExcludedFactions.cfg server-file and are AirAssault, Armored, LightInfantry, Mechanized, Motorized and Support.

Example Below: Set a new layer to Anvil_AAS_v1 with factions BAF vs INS.
AdminSetNextLayer Anvil_AAS_v1 BAF INS
Example Below: Set a new layer to Anvil_AAS_v1 with factions BAF Mechanized Unit vs INS.
AdminSetNextLayer Anvil_AAS_v1 BAF+Mechanized INS

Information Note: ⚠️ If any layer or level is set using AdminSetNextLayer while Layer Voting is enabled, the voting stage at the end of a match WILL NOT start and the server will be moved to the next selected layer, instead. The new command AdminClearNextLayer can be used to reset any selected upcoming layer/level, and re-enable Layer Voting for the next layer.

Server Configuration[]

To ENABLE the Layer Voting system on your server, you will need to change the Map Rotation Mode in your Server.cfg file by changing the MapRotationMode entry to LayerList_Vote (example below).
MapRotationMode=LayerList_Vote
To define possible voting options, there are 4 additional files Server Owners will need to be aware of

  1. LayerVoting.cfg - Used for listing layers, as well as factions that can be voted on during layer votes.
  2. LayerVotingLowPlayers.cfg - Used when server player count is below the value set for LowPlayerCountThreshold in VoteConfig.cfg (see next point). This file can be deleted if only one mode is desired (Please be aware that updating the server using the validate option may restore the file).
  3. LayerVotingNight.cfg - Used on selected timeframe configured in VoteConfig.cfg
  4. VoteConfig.cfg - Used for general layer voting configuration, as well as when to switch between using LayerVoting.cfg and LayerVotingLowPlayers.cfg.

These configuration files will be loaded and used as a source for picking voting options based on the number of players on the server. These are covered below.

  • LayerVoting.cfg is ideally used for listing layers you’d like to be played during NORMAL or FULL server populations, such as AAS / RAAS, and Invasion layers.
  • LayerVotingLowPlayers.cfg is ideally used for listing layers you’d like to be played during LOW server populations, such as Seeding and Skirmish layers.
  • The default Map Rotation Mode for a freshly installed server will be set to Layer Voting.
Information Note: ⚠️ The structure of both Layer config files is the same, containing a SINGLE layer entry per line.


General Rules for Voting Layer Parameters[]

  • If you write the name of the Faction it will be EXCLUDED
  • If you write the Faction Name + Unit type. The specific unit will be EXCLUDED
  • If you write +Unit type, all units of this type will be EXCLUDED
  • If only the first parameter is defined it will apply to BOTH teams

Faction Units Parameter and Details[]

Below is a sheet that contains what each Faction Unit entails for every faction include what preset emplacements and vehicles will be available and what biomes they can be played on.
v8.0 Map Layers and Units (Public)

Additional Configuration Notes[]

  • If LayerVotingLowPlayers.cfg is EMPTY only LayerVoting.cfg will be used.
  • The first layer to load on the server is defined in VoteConfig.cfg, if it is empty, the first line from LayerVoting.cfg will be used.

Global Exclusion[]

Squad already features this system and has been modified to work with the Layer Voting System below are the notable files we want to highlight.

  • ExcludedLevels.cfg - contains info about maps that should be EXCLUDED during any type of rotation (nothing changed)
  • ExcludedLayers.cfg - contains information on layers to be EXCLUDED during any time of rotation. (nothing changed)
  • ExcludedFactions.cfg - contains info about factions, units, and specific faction setups. While defining rules in this file the General Rules for Layer Parameters are applied.
  • ExcludedFactionSetups.cfg - This file has been Removed with the Layer Voting System.

Layer Voting Flow Setting[]

All additional settings related to Layer Voting are stored in VoteConfig.cfg. The default VoteConfig.cfg file generated on fresh server installation is shown below:.

// When using Level Vote, this value lets you control how many layers will be picked from your rotation and offered in each layer vote. Possible values from 2 to 6. (Default is 6)
LayerOptionsNumber=6

// Duration of voting phase for next layer
LayerVoteDuration=90
// Duration of voting phase for each faction/team
TeamVote_Duration=60
// How many options will be presented on team/faction selection screen during voting. Possible values from 2 to 6. (Default is 6)
TeamVoteOptionsNumber=6

// If the number of players at the end of the match is less than this number then the next voting round uses a special pool that can have seeding or skirmish layers. Defined in LayerVotingLowPlayers.cfg.
LowPlayerCountThreshold=30

// Special rules to delay duplicated options in next match voting. In case when there is not enough options to present configured number of options, the options with the shortest delay can be picked.
// Delay for last played map
MapSkipRounds=1

// Delay for last played biome
MapBiomeSkipRounds=0

// Delay for last played layer size
LayerSizeSkipRounds=0

// // Delay for last played game mode with an option to set different delays per each game mode
GameModeSkipRounds=AAS 0, RAAS 0, Invasion 0, Seed 0, Skirmish 0, TerritoryControl 0, Insurgency 0, Destruction 0, TrackAttack 0

// Delay for last played layer
LayerSkipRounds=1

// Delay for last played faction
FactionSkipRounds=1

// Delay for last played specific faction unit
FactionSetupSkipRounds=1

// If true, there is an option to regenerate the map list. If it gets the most votes, the list is regenerated. The option is available only once.
CanRegenerateLayerList=true

// If true, there is an option to regenerate the faction list. If it gets the most votes, the list is regenerated. The option is available only once.
CanRegenerateFactionList=true

// If false, player vote count won't be displayed during voting.
DisplayVotes=true

// If true, will display enemy info with details during voting process
DisplayEnemyInfo=true

// All unit types presented for second team will be the same as first team choice
SymmetricalMatchUp=false

// Set how many choices of selected game mode should be presented on layer voting screen. 0 is unlimited
// If sum of options exceeds LayerOptionsNumber first defined game modes will have priority
GameModeChoices=AAS 0, RAAS 0, Invasion 0, Seed 0, Skirmish 0, TerritoryControl 0, Insurgency 0, Destruction 0

// Only unique maps with random gamemode will be displayed during map voting phase
UniqueMap=true

// After voting for layer, factions will be auto-selected according to other configured rules
AutoSelectFactions=false

// Define time when server should use night time config ex. 18:00-04:00 
// During those hours voting will use config defined in LayerVotingNight.cfg
// LayerVotingLowPlayers has priority over this. So in situation when server // will be in night mode but the players count will go below 
// LowPlayerCountThershold, the low players config will be used.
// Time is based on server system time
NightTime=

// The first layer to start with in voting mode. This layer will be loaded as default each time the server starts.
FirstLayer=

Other Rotation Modes[]

The only change is for LayerRotation.cfg and LevelRotation.cfg. The number of possible layers has been reduced so if there are still some records for removed layers in your configuration files they will be EXCLUDED. There are two new ways for Server Owners to define a list of layers:
Anvil_AAS_v1
This will load the Anvil_AAS_v1 layer with a predefined factions setup.
Anvil_AAS_v1 USA RDF
This will change the factions used on the selected layer. The new faction for Team 1 will be USA and for Team 2 RDF. Right now there are rules that prevent specific setups for layers covered below.

  • You can’t play against the same faction
  • You can’t play against a faction in the same alliance (REDFOR/BLUFOR), the EXCEPTION for this is the independent factions.
Information Note: 🔵 If the configuration you’ve used is INVALID, it will try to fix itself by changing the SECOND team to a valid faction.

Faction Alliance Reference[]

REDFOR[]

  • Russian Airborne Forces - VDV
  • Russian Ground Forces - RDF

BLUFOR[]

  • Australian Defence Force - ADF
  • British Armed Forces - BFA
  • Canadian Armed Forces - CAF
  • United States Army - USA
  • United States Marine Corps - USMC

PAC (Pan-Asian Coalition)[]

  • People’s Liberation Army - PLA
  • PLA Navy Marine Corps - PLANMC
  • People’s Liberation Army Amphibious Ground Forces - PLAAGF

INDEPENDENT[]

  • Middle Eastern Alliance - MEA
  • Turkish Land Forces - TLF
  • Insurgents - INS
  • Irregular Militia Forces - IMF

Link to OWI's original spreadsheet

Using Steam Workshop Maps[]

See this article: How to add one or more Steam Workshop Maps to the Squad Server

Admins.cfg[]

Admins are now created by groups and groups are assigned to admins. You can create as many groups as you want with any types of permissions. All the permissions will be in the config file commented out. These files will not be over writeable so when we add new permissions you will need to check here or the wiki for updates. The below are just examples. Please note that it needs to be SteamId64. You can convert your ID at steamid.io/lookup/

Group=SuperAdmin:changemap,cheat,private,balance,chat,kick,ban,config,cameraman,debug,pause
Group=Admin:changemap,balance,chat,kick,ban,cameraman,pause
Group=Moderator:changemap,chat,kick,ban
Group=Whitelist:reserve

//Moderator
Admin=76561115695178:Moderator //Player 5
Admin=8915618948911:Moderator //Player 4

//Admins
Admin=7894591951519:Admin //Player 3
Admin=7895365435431:Admin //Player 8792

//SuperAdmins
Admin=7984591565611:SuperAdmin //Player 2
Admin=7917236241624:SuperAdmin //Player 1 

//WhitelistSlots
Admin=7984591565611:Whitelist // Player 123
Admin=7984591565523:Whitelist // Player 156

A list of group permission are as follows:

//// Valid access levels are as follows											     
////		startvote - not used														 
////		changemap - switch to another map											 
////		pause - Pause server gameplay												 
////		cheat - Use server cheat commands											 
////		private	- Password protect server											 
////		balance	- Group Ignores server team balance							         
////		kick - kick a player													     
////		ban - ban a player														     
////		config - Change server config												 
////		cameraman - Admin spectate mode												 
////		immune - Cannot be kicked / banned										     
////		manageserver - Shutdown server												 
////		featuretest - Any features added for testing by dev team					 
////		reserve - Reserve slot														 
////		demos,demo,ClientDemos - Record Demos ("demos" appears to only work when
////                                added together with "demo,ClientDemos" access
////                                levels aswell. Keep in mind that admins with
////                                these permissions have to be on the server for
////                                the files to be saved on their PC. They can be
////                                AFK but have to have "ENABLE AUTO RECORD
////                                MULTIPLAYER GAMES" setting in their "REPLAY"
////                                settings enabled for it to work without
////                                manual saving). Player names still cannot
////                                be viewed for some reason though.
////			 
////		debug - show admin stats command and other debugging info		
////		teamchange - No timer limits on team change			 
////		forceteamchange - Can issue the ForceTeamChange command
////		canseeadminchat - This group can see the admin chat and teamkill/admin-join notifications

Bans.cfg[]

This is where your bans will go. They need to be in the format of <banned player steamid>:<unix timestamp of ban expiration>. Optionally info about admin that issued the ban and comment about the ban can be included <admin nickname> [SteamID <admin steamid>] Banned:<banned player steamid>:<unix timestamp of ban expiration> //<ban comment> (this will be included by default when using ingame or RCON ban commands).

An example of Bans.cfg contents with valid bans:

John [SteamID 76561198000000000] Banned:76561198000000001:0 //Permanent ban for cheating
John [SteamID 76561198000000000] Banned:76561198000000002:1623366856 //Team killing
76561198000000003:0 //Manually added ban
76561198000000004:0

Make sure if you manually add / remove a ban that the file ends with a new line character. Each ban goes on its own line.

If you want to check how long a user is still banned or create a time ban you can use converter tools like this:

- https://www.epochconverter.com

Excluded Factions[]

Excluding factions from the game can be done here. This can be done for mods and Vanilla. The Excluded factions must be listed as the Faction Id, the Vanilla ones are listed below. It is not possible to run a layer with any of excluded factions. For layers without specific factions any excluded factions will not be loaded.

# EXCLUDED FACTION LIST : The listed factions must use Faction ID, which is different from UI display names !

//AUS
//CAF
//GB
//INS
//MEA
//MIL
//RUS
//US
//USMC

ExcludedLayers.cfg[]

Preventing any layer from being loaded by the server can be done here. The excluded layers will not show up in AdminListLayer.

# v3.0 EXCLUDED LAYER LIST
// NOTE: This list uses Layer ID names, which is different from UI display names.
// NOTE: this file is used for servers running with Layer voting. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis).
// Specifying a layer here will hide it from the list when you use "adminchangelayer" or "adminsetnextlayer"
// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used.

AlBasrah_TA_v1
Tallil_TA_v1
Narva_TA_v1
Yehorivka_TA_v1

LashkarValley_TC_v3

JensensRange_GB-MIL
JensensRange_US-RUS
JensensRange_USMC-MEA
JensensRange_CAF-INS
JensensRange_AUS-RUS

PacificProvingGrounds_USMC-RUS
PacificProvingGrounds_USMC-MEA

Tutorial_Helicopter
Tutorial_Infantry

ExcludedLevels.cfg[]

Preventing any level from being loaded by the server can be done here. The excluded levels will not show up in AdminListLevels.

# LEVEL ROTATION : These must be Level ID's, which are different from UI display names !
// NOTE: this file is used for servers running in MapRotationMode=LevelList, running in order, or for servers running in MapRotationMode=LevelList_Randomized, where the below layers are rotated randomly. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis).
// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used.


AlBasrah
Anvil
Belaya
BlackCoast
Chora
Fallujah
FoolsRoad
GooseBay
Gorodok
Harju
Kamdesh
Kohat
Kokan
Lashkar
Logar
Manicouagan
Mestia
Mutaha
Narva
PacificProvingGrounds
Skorpo
Sumari
Tallil
Yehorivka

Motd.cfg (Message of the day)[]

MOTD.cfg is an optional file that can be created the ServerConfig folder that will display a small text box to each player on entering the server. This is ideal for displaying server information, simple rules, or other messages. Be mindful though that text entered into this file will not wrap in game, and will overflow out of view.

  • Note: the file name must be uppercase, this is important for UNIX systems.

Two HTML tags are supported in motd.cfg. These are:

<a> Yellow Text</a>
<a href="link.com"> YELLOW LINK</a>

RemoteAdminListHosts.cfg[]

Each line should contain a URL to the admin file. The admin file will follow the exact same format as above. This should be used if you run multiple servers and would like to have a single admin file for all of them. If a player is listed in multiple files, their permissions will be combined.

RemoteBanListHosts.cfg[]

Each line should contain a URL to the ban file. The ban file will follow the exact same format as above. This should be used if you run multiple servers and would like to have a single ban file for all of them.

Server.cfg[]

This is the general server config file. Each variable should be on its own line. New additions will be added to this wiki. Since we do not overwrite config files you will need to manually add them to your existing server config if you wish to alter the default value.

  • Special characters in ServerName: If special characters in the server name show up as "????" in the Server browser, a possible solution is to use a word processor like Microsoft Word, open a new document and insert the character you want to use, then select and copy the character into the ServerName line in your Server.cfg file, e.g ServerName="Test Server Λ".
  • AutoTkBanTime: This option determines how long in seconds a players will be banned after 7 teamkills on the server. Example: AutoTkBanTime=1209600 will ban the player for 14 days.
  • PublicQueueLimit: Cap public queue. Standard is PublicQueueLimit=25 and this cap the public queue to 25. =0 means that there wont be public queue. =-1 is unlimited queue.
ServerName="Squad Dedicated Server"

// Control visibility in the server browser
ShouldAdvertise=true

// Set the server to LAN mode
IsLANMatch=false

// Max player count on the server
MaxPlayers=100

// Number of reserved slots for admins / members 
NumReservedSlots=0

// Size of the server queuing, for regular user 
PublicQueueLimit=25

// Tags for server exposure
// Use space as a delimiter, e.g.
// Tags=language_en language_nl mode_aas mode_raas mode_invasion playstyle_relaxed exp_experience maprot_voting
// For more information and the full list of tags please refer to https://squad.fandom.com/wiki/Server_Configuration#Tag_System
Tags=

// Rules for server in tags form
// Use space as a delimiter, e.g.
//Rules=rule_vehicle_name_claim rule_play_objective rule_no_main_camping rule_no_soloing_vehicle rule_mech_inf_restrictions rule_lock_restrictions
// For more information and the full list of rule tags please refer to https://squad.fandom.com/wiki/Server_Configuration#Tag_System
Rules=

// Map rotation mode: it can be 
// LevelList(use order in level rotation config file)
// LayerList (use order in layer rotation config file) 
// LayerList_Vote (presents vote screen on the end of match)
// or 
// LevelList_Randomized
// LayerList_Randomized
// which are randomized version of previous options
MapRotationMode=LayerList

// Should the Map/Layer rotations list be randomized at start?
RandomizeAtStart=true

// Should Faction be voted for on generic layers? Randomized if false. 
UseVoteFactions=false

// Should next Map be voted for at end of round?
UseVoteLevel=false

// Should next Layer be voted for at end of round?
UseVoteLayer=false

// Completly Allow or Disallow Team change to all players. Only user with Level_Balance access level can bypass this flag
AllowTeamChanges=true

// If set to false, players can change teams regardless of team balance. Otherwise, the NumPlayersDiffForTeamChanges Value is used
PreventTeamChangeIfUnbalanced=true

// Maximum Allowed difference in player count between teams. This takes into account the team the player leaves and the team the player joins
NumPlayersDiffForTeamChanges=3

RejoinSquadDelayAfterKick=180
RecordDemos=false

// Whether public clients are allowed to record.
// If you do not want public clients to record, but you do want to allow certain ones to, you can give the admin access level "ClientDemos".
// There is a difference between "ClientDemos" and "Demos". "Demos" allows access to server commands for recording server-sided demos, while "ClientDemos" only allows clientside demos (no admin commands)
AllowPublicClientsToRecord=false

ServerMessageInterval=300

// Forces the server to do non-seamless travel (disconnect when changing maps) every X seconds
// ForceNonSeamlessTravelIntervalSeconds=43200

// The following are required for Licensed servers, but can be changed for non-licensed servers
TKAutoKickEnabled=true
AutoTKBanNumberTKs=7
AutoTKBanTime=300
VehicleKitRequirementDisabled=false
AllowCommunityAdminAccess=true

// End round timer before we move to next match in case when voting is OFF
TimeBetweenMatches=60
// For how long end screen will be displayed before we move to voting
TimeBeforeVote=60

// Only Offworld Industries developers are admins
AllowDevProfiling=true

AllowQA=true

// The below commands are optional for all servers
VehicleClaimingDisabled=false


Tag System[]

Adding Tags[]

  • Tags can be configured in server.cfg
  • They are added to the ‘Tags’ line and delimited with space
  • By default all the client filters are set to show “Any” tags, which displays all the servers, including untagged ones. Filtering by tags on the client will narrow down the search result to servers that match the tag(s) used in the filter.
  • We recommend you use each category of tags that applies to your server, as it helps players filter the server list down to their play style and preferences. Not adding tags will mean that players will only see your server in the server browser if they're not filtering on that specific tag category.
  • A couple of notes on how Find Match works:
    • Only shows modded servers if the player has these mods installed
    • Doesn’t show full servers
    • The server browser filter uses game mode tags to narrow down the server selection. The Find Match will instead search by active gamemode.

Example[]

Tags= language_en language_nl mode_aas mode_raas mode_invasion playstyle_relaxed exp_experience maprot_voting

Tag List[]

You can add up to 2 language tags Note: We’re using ISO-639-1 two letter codes

English language_en
Chinese language_zh
Russian language_ru
German language_de
Turkish language_tr
Ukrainian language_uk
French language_fr
Portuguese language_pt
Polish language_pl
Swedish language_sv
Thai language_th
Dutch language_nl
Finnish language_fi
Korean language_ko
Spanish language_es
Norwegian language_no
Japanese language_ja
Danish language_da
Italian language_it
Czech language_cs
Tagalog language_tl
Indonesian language_id
Kazakh language_kk
Arabic language_ar
Hebrew language_he


Game Modes[]

You can add up to 3 game mode tags.

Invasion mode_invasion
AAS mode_aas
RAAS mode_raas
Destruction mode_destruction
Territory Control mode_tc
Insurgency mode_insurgency
Seed mode_seed
Skirmish mode_skirmish
Training mode_training


Playstyle[]

You can add 1 playstyle tag This tag is intended to help you better define your server identity and the type of players you want to attract

  • Relaxed - Communicate, coordinate, play for fun
  • Focused - Play the objective, play to win
  • Milsim - Tactics and subordination
Relaxed playstyle_relaxed
Focused playstyle_focused
Milsim playstyle_milsim


Experience[]

You can add 1 experience tag

New Player Friendly exp_newplayer
Experience Preferred exp_experience

Map Rotation[]

You can add 1 map rotation tag Note: We don’t have an in-game map voting. Map Voting tag is applicable to servers that have implemented their own voting system.

Set Rotation maprot_rotation
Map Voting maprot_voting

Rule List[]

  • Rule tags can be configured in server.cfg
  • They are added to the ‘Rules’ line and delimited with space
  • We recommend you to use rules that you apply to your server
  • Rule tags are only shown on the server preview card. They are not used in the Server Browser filters and Find Match feature.

Example

Rules=rule_vehicle_name_claim rule_play_objective rule_no_main_camping rule_no_soloing_vehicle rule_mech_inf_restrictions rule_lock_restrictions


Tag Name Description (info tooltip text)
rule_vehicle_name_claim NAME CLAIM Name your squad properly to claim vehicles.

See the server rules upon joining for more details.

rule_vehicle_fcfs FCFS Vehicles are claimed on a first come first served basis.

See the server rules upon joining for more details.

rule_play_objective PLAY OBJECTIVE Play the current objective, don't rush past revealed objectives.

See the server rules upon joining for more details.

rule_no_main_camping NO MAIN CAMPING Don't camp the enemy Main base.

See the server rules upon joining for more details.

rule_no_soloing_vehicle NO SOLOING ARMOR Don't solo vehicles that require a Crewman kit.

See the server rules upon joining for more details.

rule_mech_inf_restrictions MECH INF RULES Infantry squads cannot include armor, helicopters, or have a Crewman SL.

See the server rules upon joining for more details.

rule_lock_restrictions SQUAD LOCK RULES Locking squads is restricted by player count or squad type.

See the server rules upon joining for more details.

ServerMessages.cfg[]

This will rotate server messages every x seconds (based on Server.cfg setting). Each message should have its own line. This should be used to display server rules and contact information.

Rcon.cfg[]

If you do not want to use RCON, leave the password= empty. NOTE: Leaving the RCONIP=0.0.0.0 will bind it to the public default IP. If your server has multiple IP's please specify the address here.

// Edit this IP to bind the RCON socket to an alternate IP address.
// Alternatively, set this from the command line with the argument:
//   RCONIP=0.0.0.0
IP=0.0.0.0

// Edit this IP to bind the RCON socket to an alternate port.
// Alternatively, set this from the command line with the argument:
//   RCONPORT=21114
Port=21114

// Set this to enable the usage of RCON with the given password for login.
// Leaving this empty will keep RCON turned off.
// Alternatively, set this from the command line with the argument:
//   RCONPASSWORD=MyPassword
Password=

// Set this to set the maximum number of allowable concurrent RCON
// connections to the server.
// Alternatively, set this from the command line with the argument:
//   RCONMAXCONNECTIONS=5
MaxConnections=5

// Edit this to customize the number of seconds without contact from a connected
// console before the server checks with that computer to see if the session is
// still active, or if it got disconnected. Supports values between 30 and 3600.
// Alternatively, set this from the command line with the argument:
//   RCONSECONDSBEFORETIMEOUTCHECK=120
SecondsBeforeTimeoutCheck=120

Tournament Mode[]

1. To enable tournament mode, you must run the server instance at least once to generate the necessary file.

2. Go to your server folder, and locate the Game.ini file under \Saved\Config\WindowsServer, (or Saved\Config\LinuxServer), and add the below contents as needed.

3. A server restart is necessary to apply any changes to the tournament mode configuration.

For more information, see this forum post. This mode was added with Alpha 5.2.

V15 compatible version:

[/Script/Squad.SQGameMode]
bTournamentMode=true

[/Script/Squad.SQTournamentModeRuleset]
Restrictions=(Setting="r.ShadowQuality", Min=1, Max=5)
Restrictions=(Setting="r.ViewDistanceQuality", Min=3, Max=4)
Restrictions=(Setting="r.ViewDistanceScale", Min=1, Max=4)
Restrictions=(Setting="grass.MaxUpdateFrequency", Min=10, Max=40)

Old version:

[/Script/Squad.SQGameMode]
bTournamentMode=true

[/Script/Squad.SQTournamentModeRuleset]
Restrictions=(Setting="r.LightFunctionQuality", Min=1, Max=1)
Restrictions=(Setting="r.ShadowQuality", Min=3, Max=5)
Restrictions=(Setting="r.Shadow.CSM.MaxCascades", Min=1, Max=10)
Restrictions=(Setting="r.Shadow.MaxResolution", Min=1024, Max=4096)
Restrictions=(Setting="r.Shadow.RadiusThreshold", Min=0.03, Max=0.05)
Restrictions=(Setting="r.Shadow.DistanceScale", Min=0.5, Max=1.0)
Restrictions=(Setting="r.Shadow.CSM.TransitionScale", Min=0.4, Max=1.0)
Restrictions=(Setting="r.DistanceFieldShadowing", Min=0, Max=1)
Restrictions=(Setting="r.DistanceFieldAO", Min=0, Max=1)
Restrictions=(Setting="r.AllowLandscapeShadows", Min=0, Max=1)
Restrictions=(Setting="r.MotionBlurQuality", Min=0, Max=4)
Restrictions=(Setting="r.AmbientOcclusionMipLevelFactor", Min=0.4, Max=1.0)
Restrictions=(Setting="r.AmbientOcclusionMaxQuality", Min=0, Max=100)
Restrictions=(Setting="r.DepthOfFieldQuality", Min=0, Max=4)
Restrictions=(Setting="r.RenderTargetPoolMin", Min=300, Max=1000)
Restrictions=(Setting="r.LensFlareQuality", Min=0, Max=3)
Restrictions=(Setting="r.SceneColorFringeQuality", Min=0, Max=1)
Restrictions=(Setting="r.EyeAdaptationQuality", Min=0, Max=2)
Restrictions=(Setting="r.FastBlurThreshold", Min=0, Max=100)
Restrictions=(Setting="r.Upscale.Quality", Min=1, Max=3)
Restrictions=(Setting="r.Tonemapper.GrainQuantization", Min=0, Max=1)
Restrictions=(Setting="r.LightShaftQuality", Min=0, Max=1)
Restrictions=(Setting="r.Filter.SizeScale", Min=0.6, Max=1)
Restrictions=(Setting="r.Tonemapper.Quality", Min=0, Max=5)
Restrictions=(Setting="r.SkeletalMeshLODBias", Min=-1, Max=0)
Restrictions=(Setting="r.ViewDistanceScale", Min=1.0, Max=10.0)
Restrictions=(Setting="r.MipMapLODBias", Min=-1, Max=0)
Restrictions=(Setting="r.Streaming.MipBias", Min=0, Max=1.5)
Restrictions=(Setting="r.MaxAnisotropy", Min=0, Max=16)
Restrictions=(Setting="r.TranslucencyLightingVolumeDim", Min=24, Max=64)
Restrictions=(Setting="r.RefractionQuality", Min=0, Max=2)
Restrictions=(Setting="r.SSR.Quality", Min=0, Max=4)
Restrictions=(Setting="r.SceneColorFormat", Min=3, Max=4)
Restrictions=(Setting="r.DetailMode", Min=0, Max=2)
Restrictions=(Setting="r.TranslucencyVolumeBlur", Min=0, Max=1)
Restrictions=(Setting="r.MaterialQualityLevel", Min=0, Max=2)
Restrictions=(Setting="r.SSS.Scale", Min=0, Max=1)
Restrictions=(Setting="r.SSS.SampleSet", Min=0, Max=2)
Restrictions=(Setting="r.EmitterSpawnRateScale", Min=0.125, Max=1.0)
Restrictions=(Setting="r.ParticleMinTimeBetweenTicks", Min=8, Max=33)
Restrictions=(Setting="foliage.DensityScale", Min=0, Max=1.0)
Restrictions=(Setting="grass.DensityScale", Min=0, Max=1.0)
Restrictions=(Setting="grass.MaxUpdateFrequency", Min=10, Max=30)
Restrictions=(Setting="r.PostProcessAAQuality", Min=0, Max=6)
Restrictions=(Setting="r.Shadow.MaxCSMResolution", Min=512, Max=4096)
Restrictions=(Setting="r.VolumetricFog", Min=0, Max=1)
Restrictions=(Setting="r.Streaming.LimitPoolSizeToVRAM", Min=0, Max=1)
Restrictions=(Setting="r.Streaming.MaxEffectiveScreenSize", Min=0, Max=0)
Restrictions=(Setting="r.SSS.HalfRes", Min=0, Max=1)
Restrictions=(Setting="r.ParticleLightQuality", Min=0, Max=2)

Custom Options[]

Modders are able to place custom options for their mods here.

If you are wanting to use the new seed game mode settings you will have to use the template below.

The content of CustomOptions.cfg is sent to clients as other settings.

Make sure to remove the # to activate these options.

# Here you can control mod-specific server settings. Mods can use blueprint node "GetCustomServerSetting" to gather the contents of this file. 
# This section used to exist in server.cfg

// Amount of players needed to start Pre-Live countdown, integer. Default=50.
#SeedPlayersThreshold=50

// After reaching the SeedPlayersThreshold, if some players disconnect but the current player count stays at or above this value, don’t stop the
// Pre-Live countdown, integer. Should be greater than zero and less than SeedPlayersThreshold to be considered enabled. default=45. 
#SeedMinimumPlayersToLive=45

// Match length in seconds, integer. Default=21600 (6 hours)
#SeedMatchLengthSeconds=21600

// Enable or Disable availability of all kits during seeding phase, boolean (valid values are 0 and 1), default=1
#SeedAllKitsAvailable=1

// Initial number of tickets for both teams, integer. Default=100
#SeedInitialTickets=100

// Length of the pre-live countdown, float. Default=60.0
#SeedSecondsBeforeLive=60.0

// All default values listed above will be used if the corresponding setting is not present on config file or commented out.

See also[]

Advertisement