- 1 Requirements
- 2 AppID
- 3 Installation
- 4 Tips
- 5 Ports to Open
- 6 Command Line
- 7 Firewall
- 8 Files
- 9 Adding Admins in Admins.cfg
- 10 Bans in Bans.cfg
- 11 Map Rotation in MapRotation.cfg
- 12 Remote Admin Lists in RemoteAdminListHosts.cfg
- 13 Remote Ban Lists in RemoteBanListHosts.cfg
- 14 Server Configuration Settings in Server.cfg
- 15 Server Messages in ServerMessages.cfg
- 16 Rcon control in Rcon.cfg
- 17 Tournament Mode
Requirements[edit | edit source]
AppID[edit | edit source]
Installation[edit | edit source]
- Download SteamCmd and extract to your preferred directory.
- Open SteamCmd or create a .bat file with the following contents
SET STEAMCMD="C:\steamcmd\steamcmd.exe" %STEAMCMD% +login anonymous +force_install_dir "C:\servers\squad_server" +app_update 403240 validate
- Create a folder for your squad server - e.g. "SquadServer"
- Open a terminal and change to your SteamCMD folder
- Create a text file and name it for e.g. "UpdateSquadServer.sh". Make the fileexecutable.
chmod +x UpdateSquadServer.sh
- Open the file and add the command line for installing/updating your server. Example
#!/bin/sh ./steamcmd.sh +login anonymous +force_install_dir ../SquadServer +app_update 403240 validate
- Install your server by executing "UpdateSquadServer.sh"
- Configure your server
- Within your server folder add another shell script (see above) and name it for e.g. "StartServer.sh". Make the file executable (see above)
- Open the file and add the command line for starting your server like this
#!/bin/sh ./SquadServer.sh Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 RANDOM=NONE -log
- Make sure you have opened the necessary ports
- Start the server by executing "StartServer.sh"
So far tested on
- CentOS 7
- Debian 8.7.1
- Suse 42.2 Leap
- Ubuntu 16.04
If you are using an older linux version than listed above, the server may not start. If this is the case, make sure "glibc 2.17" or higher and "GLIBCXX_3.4.15 " or higher are installed on your system.
Tips[edit | edit source]
Make sure Steam Client is closed. If its open Squad Server will not run. For support issues related to server hosting please visit our Discord Server https://discord.gg/0Z8icdJWCH1u0pYj
Ports to Open[edit | edit source]
Port = Game port = UDP (Default 7787 UDP) May even need to do Port + 1 as well in firewall.
QueryPort = Steam query port = UDP (Default 27165 UDP)
QueryPort+1 = Second Steam query port = UDP and TCP (Default 27166 UDP and TCP)
Command Line[edit | edit source]
MultiHome = The IP Address you want to bind the server too.
Port = Game port
QueryPort = Steam query port
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)
start SquadServer.exe MULTIHOME=18.104.22.168 Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=50 RANDOM=ALWAYS -logYou can also use the start-command for e.g. setting the core affinity for each server (if you run several servers on one machine):
start /AFFINITY 0xC0 /WAIT SquadServer.exe MULTIHOME=22.214.171.124 Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=50 RANDOM=ALWAYS -logTo calculate the core affinity for a 8 core CPU, you need a 8-bit mask and calculate the binary value into a hexadecimal value. Sounds difficult, but is very easy. The bit mask looks like this:
11111111In this case all CPU cores would be used (default). The order of the cores is right to left like this:
87654321That means if you want to just use the cores 4 and 3 for your server, your bit mask has to look like this:
Now open your windows calculator and enable „programmer“ mode. On the left side you see some abbreviations. Select „BIN“. Now type in „1100“ (the 4 leading zeros are not needed). Press on „HEX“ now. The shown result should be „C“. For our /AFFINITY parameter we need then „0x0C“ to set the core affinty to cores 3 and 4 for our server.
Firewall[edit | edit source]
Allowing both of the SquadServer.exe files through the firewall will save you headaches.
Steam\steamapps\common\Squad Dedicated Server\SquadServer.exe
Steam\steamapps\common\Squad Dedicated Server\Squad\Binaries\Win64\SquadServer.exe
Files[edit | edit source]
Configuration files are located in
Configuration files located in this directory are
Admins.cfg Bans.cfg License.cfg MapRotation.cfg Rcon.cfg RemoteAdminListHosts.cfg RemoteBanListHosts.cfg Server.cfg ServerMessages.cfg
Adding Admins in Admins.cfg[edit | edit source]
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 Admin=76561115695178:Moderator //Player 5 Admin=8915618948911:Moderator //Player 4 Admin=7894591951519:Admin //Player 3 Admin=7984591565611:SuperAdmin //Player 2 Admin=917236241624:SuperAdmin //Player 1 Admin=45365435431:Admin //Player 8792
Bans in Bans.cfg[edit | edit source]
This is where your bans will go. They need to be in the format of
steamid:unix timestamp of unban //comment
So an example file will look like this
76561198039509812:0 //Permanent ban for cheating 7862895148978485:1454455855 //team killing
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.
Map Rotation in MapRotation.cfg[edit | edit source]
If you add the general map names (such as below without a specific game mode). Our parser will do all variations of it including AAS, INS, etc. Map names can be seen from the DefaultGame.ini file. Each map entry goes on a new line.
Logar Kohat OP First Light Chora Fool's Road Sumari Gorodok Yehorivka Jensen's Range Kokan
If you want a specifc map version you can add the below into the rotation file
Logar Logar Valley AAS v1 Logar Valley AAS INF v1 Logar Valley INS v1 Logar Valley INS v1 Night Logar PAAS V1 Jensen's Range Kohat Kohat AAS v1 Kohat AAS v1 INF Kohat AAS v2 Kohat INS v1 OP First Light OP First Light Conquest OP First Light AAS v1 Chora Chora AAS v1 Chora AAS v2 Chora PAAS v1 Chora INS v1 Chora AAS v1 Night Chora AAS v1 INF Night Fool's Road Fool's Road AAS v1 Fool's Road AAS v2 Fool's Road AAS v1 INF Fool's Road AAS v3 Fool's Road Skirmish Sumari Sumari AAS v1 INF Sumari AAS v1 Sumari AAS v2 Sumari AAS v3 Sumari ITC v1 Sumari INS v1 Gorodok Gorodok AAS v1 Gorodok AAS v2 Gorodok AAS v1 INF Yehorivka Yehorivka AAS v1 Yehorivka AAS v2 Yehorivka AAS v1 INF Kokan Kokan AAS v1 Kokan AAS v2 Kokan PAAS v1
Remote Admin Lists in RemoteAdminListHosts.cfg[edit | edit source]
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.
Remote Ban Lists in RemoteBanListHosts.cfg[edit | edit source]
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 admin file for all of them.
Server Configuration Settings in Server.cfg[edit | edit source]
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.
ServerName="Squad Dedicated Server" MaxPlayers=40 NumReservedSlots=0 IsLANMatch=false ShouldAdvertise=true NumPlayersDiffForTeamChanges=3 AllowTeamChanges=true PreventTeamChangeIfUnbalanced=true EnforceTeamBalance=true RejoinSquadDelayAfterKick=180 AllowCommunityAdminAccess=true RecordDemos=false ServerMessageInterval=300
Server Messages in ServerMessages.cfg[edit | edit source]
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 control in Rcon.cfg[edit | edit source]
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[edit | edit source]
Inside of Game.ini add / edit the following to enable / disable tournament mode