SQUAD · SERVER GUIDE · NOVEMBER 2026

How to Set Up a Squad Dedicated Server

A Squad server needs more than a running process: the right listing, open ports and config files that give you admin control. This guide covers it in the order that saves rework, from choosing custom or licensed to installing with SteamCMD, opening every port and editing the ServerConfig files before you invite anyone.

Decide first

Licensed and custom servers are not just different labels. They appear in different browser tabs and the licence rules change what host, hardware, password use and admin staffing are allowed.

Install second

Use SteamCMD with app 403240 and a simple start line. A lot of first-time setup trouble comes from missing prerequisites or trying to launch while the Steam client is still open.

Ports before testing

Squad needs more than one public port. Game, query, beacon and RCON ports each come in their own set, and players also use high UDP ports after the first handshake. Open them all before you start troubleshooting anything else.

Edit the right files

You do not need to build a config tree by hand. The important work is editing the files in SquadGame/ServerConfig so the server advertises properly, gives you admin access and exposes RCON only if you want it.

Decide: licensed or custom

This is the first decision because it changes the whole setup target. A custom server has fewer rules, but players must find it in the Custom Servers tab. A licensed server appears in the primary server browser, which is better for discovery, but it must follow Offworld’s licence rules from day one.

Those rules are not cosmetic. Licensed servers must remain public, cannot stay password locked, need at least 10 admins per server, cannot be licensed on a VM, VPS or VDS, and must keep server performance healthy: Offworld asks licence holders to stay above 35 TPS, and a server below 15 TPS is at risk of losing its licence. If you plan a private event box, a test box, a VM, or a lightly staffed community server, choose custom first and save yourself a rebuild later. If your goal is a public community server in the main browser, make sure the hosting plan and admin team actually fit the licence before you install.

Hardware sizing and TPS headroom are covered properly in our Squad server requirements guide, so this guide will not repeat the full sizing discussion. The important part here is simple: the licence choice affects what kind of machine and hosting arrangement is acceptable, not just how the server is listed.

Custom or licensed: what changes
Applies to the server?Custom serverLicensed server
Listed in the main Server Browser tabNoYes
Listed in the Custom Servers tabYesNo
Can run on a VPS or virtual machineYesNo
Can be password-protectedYesNo
At least 10 admins per serverNoYes
8 GB RAM minimum per serverNoYes
Must stay above 35 TPS (green health)NoYes
Reapply after changing host or hardwareNoYes
Licensed rules come from Offworld Industries’ licensing policy. Custom servers still need enough hardware for your player count; see our requirements guide.
The licence buys a place in the main browser in exchange for hardware, staffing and openness rules.
  • Custom server: appears in the Custom Servers tab, can be used for private or experimental setups, and does not carry the licensed-server obligations.
  • Licensed server: appears in the main server browser, must stay public, needs at least 10 admins, must follow the licence rules for hardware and conduct, and needs a fresh application if hardware, host or ownership changes.
  • Mods: if you plan to go licensed, workshop mods must be performant and work on both Linux and Windows.

The setup order that saves rework

The cleanest order is: pick licensed or custom, install, open ports, edit ServerConfig, then do first-start checks. What you are avoiding is false progress: a server process can launch on defaults, yet still be invisible, unmanageable or impossible to join from outside.

Four steps, in this order
Each step removes one kind of failure before the next one can hide it
1. Decide
Custom or licensed?
Sets browser tab, host and rules
Before you pay for anything
2. Install
SteamCMD, app 403240
anonymous login + validate
Windows or Linux
3. Open ports
7787–7788, 15000,
27165–27166, 21114, UDP 30000+
Firewall and router
4. Configure
Server.cfg, Admins.cfg,
Rcon.cfg, messages
ServerConfig folder
Then check, before inviting players
  • Listed in the right browser tab
  • Name and tags look right
  • Your SteamID64 has admin rights
  • RCON connects (if enabled)
A rented host covers steps 2 and 3 for you; steps 1 and 4 are still yours.
Decide, install, open ports, configure, then check: in that order.
  1. Choose licensed or custom. This sets your browser tab, password rules, admin requirement and acceptable hosting platform.
  2. Install the server files. Use the dedicated app ID, not the client. Keep the install path simple so updates and scripts stay readable.
  3. Open and forward ports. Do this before heavy troubleshooting. Network mistakes often look like config mistakes.
  4. Edit day-one config files. Do not wait for first boot expecting it to generate something special you must author from scratch. The important files already live under SquadGame/ServerConfig/; the real task is editing them before players arrive.
  5. Start and verify. Check browser visibility, admin permissions and RCON. Only then invite players.

That order works because each step removes a whole class of failure. First identity, then files, then network, then permissions.

Install on Windows

On Windows, make sure the machine has the required runtimes first: Visual C++ Redistributables 2013, 2015 and the latest x64 package, plus the DirectX End-User Runtimes (June 2010). Missing prerequisites tend to waste time because the server may fail before you even reach the useful networking and config checks.

Install SteamCMD somewhere predictable, then use the standard update script. This pulls the dedicated server with anonymous login and validates the files, which is worth doing on a first install because it rules out half-downloaded content.

@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
force_install_dir ../squad_server
login anonymous
app_update 403240 validate
quit

Save that as update_squad.txt, then call it from a batch file and start the server executable with your launch parameters:

SET STEAMCMD=C:\steamcmd\steamcmd.exe
SET SQUADSERVER=C:\squad\SquadGame\Binaries\Win64\SquadGameServer.exe
SET UPDATESCRIPT=C:\steamcmd\update_squad.txt
start %STEAMCMD% +runscript %UPDATESCRIPT%
start %SQUADSERVER% Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 beaconport=15000 RANDOM=NONE -log

Why this matters: SteamCMD handles updates and validation, while the second line gives the server its network identity. If the game port or query port is wrong later, players cannot discover or join it no matter how good the rest of the config is. -log is useful on a first setup because it gives you immediate errors instead of silent failure.

Also allow SquadGameServer.exe through Windows Firewall. A local firewall block can mimic a router or provider issue, so clear the machine-level block before you start testing port forwarding.

Install on Linux

On Linux, start with a non-root user for the server. That does not make the server faster; it makes it safer. If the game process, a script or a mod misbehaves, it is contained to that user’s permissions instead of having full system access.

You need a 64-bit system with GLIBC 2.17 or higher. On Debian or Ubuntu, install the usual helper packages first:

apt-get install screen lib32gcc-s1

Then download SteamCMD, create the update script, and run it:

printf %s\\n "login anonymous" "force_install_dir server1" "app_update 403240 validate" "quit" > update_squad.txt

Save the update and start lines together as startserver1.sh and make it executable with chmod +x startserver1.sh. Each run then updates the files before the server starts:

./steamcmd.sh +runscript ./update_squad.txt
cd server1
./SquadGameServer.sh Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 RANDOM=NONE

Use screen so the server keeps running after you close SSH:

screen -dmS server1 ./startserver1.sh
screen -r server1

Detach with Ctrl-A then Ctrl-D, and stop the server with Ctrl+C inside the screen session. The trade-off is simple: screen is quick and works well for first deployment, but it does not restart the server on reboot. If you want proper boot-time recovery, move on to a service later.

If you prefer containers, there is a Docker image for Squad. Host networking is the important part here because Squad uses several fixed ports plus high UDP ports after the initial connection, and host mode avoids confusing remaps.

docker run -d --restart=unless-stopped --net=host --name=squad-dedicated cm2network/squad

If you use Docker, bind-mount the data directory so your config survives deleting the container: -v ~/squadsrv:/home/steam/squad-dedicated/. The config path inside the container is /home/steam/squad-dedicated/SquadGame/ServerConfig/.

Launch parameters: what each one actually does

Squad’s launch parameters are mostly about network binding and load limits. A few of them have no performance impact at all, while others directly affect how much work the server is allowed to take on.

  • Port is the game port. This is the main UDP entry point for players. It is not a performance setting; it is an address. If two instances try to use the same value, one will fail or become unreachable.
  • QueryPort is the Steam query port. This is what browser discovery and status queries depend on. If it is wrong or blocked, the server can be running but not list properly.
  • beaconport is only worth changing when you run more than one server on the same machine. Each instance needs a unique value, with +5 padding recommended. Treat it as another unique listen socket.
  • FIXEDMAXPLAYERS is a hard cap. More players means more replicated state, more bandwidth, and more main-thread work. Raising it increases potential load; lowering it reduces worst-case load but also caps capacity and can increase queue pressure.
  • FIXEDMAXTICKRATE sets the maximum tickrate. Higher values ask more from CPU time on the main thread; lower values reduce that demand but can lower update frequency.
  • RANDOM changes map rotation behaviour: ALWAYS, FIRST or NONE. This is administrative, not a resource setting.
  • MULTIHOME binds the server to a specific IP. Only use it if the machine has multiple IPs. On a single-IP box, a wrong bind can make the server look dead from the outside even though the process is running.
  • -log opens the log window. It is mainly a troubleshooting aid. The cost is minimal, and on first deployment the visibility is worth it.

If you later run several instances on one machine, also look at CPU affinity on Windows or taskset, cgroups or similar controls on Linux. The reason is not that Squad needs exotic tuning; it is that multiple busy instances compete for the same CPU time and drag each other’s TPS down.

Open every required port

Squad is one of those servers where “I opened the main port” is not enough. Discovery, beacons, RCON and follow-on client traffic use separate sockets, and the missed ones are usually the reason a server is visible but not joinable, or joinable by some players but not others.

Which port carries what
Players joining and playing
Players
UDP 7787 + 7788
Your server
Server browser and queries
Steam server list
UDP/TCP 27165 + 27166
Your server
Beacon (unique per server)
Beacon
UDP/TCP 15000
Your server
Remote admin tools
RCON client
UDP/TCP 21114
Your server
After the first connection
Each player
UDP 30000 and up
Your server
Default ports from the official wiki. A second server on the same machine needs its own set; the wiki suggests RCON +10 (21124) and beacon +5.
Five separate paths into a Squad server. Missing any one of them breaks something different.
Port Protocol What it does What breaks if it is closed
7787 and 7788 UDP Game traffic on Port and Port+1 Players cannot reach the game itself, even though the server process is running
15000 UDP and TCP Beacon traffic Must be unique per server; a second instance on the same machine needs its own beacon port (+5 spacing is recommended)
27165 and 27166 UDP and TCP Steam query on QueryPort and QueryPort+1 Browser listing and server queries can fail or behave inconsistently
21114 UDP and TCP RCON Remote admin tools cannot connect even if the password is set correctly
30000+ UDP Ephemeral per-client UDP after the initial connection Squad moves each player to a high UDP port after the first connection; some providers’ firewalls block these unless you allow UDP above 30000

If the server sits behind a home router, forward these ports to the server machine. If your ISP uses carrier-grade NAT, inbound IPv4 hosting can be impossible for outside players no matter how well you configure the server itself. If you are hosting and playing from the same local network, NAT loopback is required so your own connection can hairpin back to the public address.

Two easy misses: first, close the Steam client before starting the server or it will not run. Second, on the same PC, start the server before you log on to Steam and launch Squad. For a second Squad instance on the same machine, every listen port must be unique: give it its own Port and QueryPort, move RCON from 21114 to 21124, and give beaconport its own value with +5 spacing.

Day-one configuration files

The main config directory is SquadGame/ServerConfig/. On Windows a typical path is C:\servers\squad_server\SquadGame\ServerConfig\. These files are not overwritten by updates, which is useful for preserving your setup, but it also means new settings introduced later must be added manually. If a config starts looking odd after an update, compare against a fresh default file rather than assuming the updater will repair it for you.

File What it controls Edit it on day one?
Server.cfg Name, visibility, slots, queue, tags, rules, rotation mode and many server behaviour options Yes
Admins.cfg Admin groups and SteamID64 assignments Yes
Rcon.cfg RCON bind IP, port, password, timeout and connection limit Yes, if you use RCON tools
ServerMessages.cfg Rotating in-server messages, one line per message Yes
MOTD.cfg Join-time message box shown to every player Recommended
LayerRotation.cfg / LevelRotation.cfg Your map or layer list, depending on rotation mode Recommended before public use
License.cfg Licence-related configuration Only if you are licensed

Start with Server.cfg. The minimum useful edits are the server name, public visibility, slot count, queue behaviour and tags. If ShouldAdvertise is false, the server is not going to be found properly. If tags are blank, players filtering by language, mode or playstyle will not see you in that category, so an untagged server can look invisible even when it is technically listed.

ServerName="Squad Dedicated Server"
ShouldAdvertise=true
IsLANMatch=false
MaxPlayers=100
NumReservedSlots=0
PublicQueueLimit=25
Tags=language_en mode_aas playstyle_relaxed maprot_voting
Rules=
MapRotationMode=LayerList
RandomizeAtStart=true
ServerMessageInterval=300

MaxPlayers, NumReservedSlots and PublicQueueLimit shape how many people can join and how many wait. More slots increase possible load on CPU, RAM and bandwidth; more reserved slots reduce public access but guarantee room for staff or members; larger queues keep interest but can frustrate players if the box is undersized. If you use special characters in ServerName and they show as question marks, copy the character in from a word processor.

Then set up Admins.cfg using SteamID64 values. This is what turns your account from a normal player into someone who can actually manage the server in-game.

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
Admin=<SteamID64>:Admin //comment

The reason to do this before inviting players is obvious once you miss it: without the right group binding, you cannot correct a bad layer, enforce rules, or test permissions properly. For licensed servers, make sure your staffing plan matches the licence rule of at least 10 admins per server.

Rcon.cfg is optional but important if you plan to use external admin tools. An empty password keeps RCON off; once you set one, open the RCON port and test it.

IP=0.0.0.0
Port=21114
Password=
MaxConnections=5
SecondsBeforeTimeoutCheck=120

Finally, fill in ServerMessages.cfg with one message per line and use MOTD.cfg for the join-time message box. ServerMessages.cfg is good for repeating rules and contact info every ServerMessageInterval seconds. MOTD.cfg is shown when a player enters; the text does not wrap, and on Linux the filename must be uppercase exactly as MOTD.cfg.

Using a rented game server instead

A rented Squad host usually saves you three bits of labour: the server app is preinstalled or one-click installed, the start line is exposed in a panel, and the required ports are usually preassigned. That removes most of the operating system work, but it does not remove the actual Squad setup. You still need to edit the same files in SquadGame/ServerConfig/, set your launch parameters sensibly, and decide up front whether this is a custom or licensed server.

Before buying, check for practical control rather than marketing labels. You want access to the start parameters, file access to Server.cfg, Admins.cfg and Rcon.cfg, support for extra instances with unique ports if you plan to expand, and a clear answer on whether the service is suitable for licensed Squad if that is your goal. For a broad shortlist, see our best Squad hosting page.

One caution: low-end private/custom tiers can make sense for a passworded test or community box, but do not assume a small plan is a path to licensing later. The licence has its own minimums and hosting restrictions, so treat that as a separate decision rather than an upgrade you can always bolt on afterwards.

Need a host with less manual setup?

If you would rather skip the OS work and compare panels, locations and upgrade options first, use our hosting comparison page and then apply the same config steps from this guide once the server is provisioned.

Compare Squad server hosts

First start checks and the usual faults

On first boot, do not just confirm that the process is running. Confirm that it is joinable and manageable. For a custom server, check the Custom Servers tab. For a licensed server, check the primary server browser. If you are testing a modded server, do not rely on Find Match for validation: it only shows modded servers if the player already has the mods installed, and it does not show full servers.

Your first checklist is short: the server appears in the correct browser, the server name and tags look right, your SteamID64 has the intended admin group, and RCON connects if you enabled it. If any of those fail, fix them before population starts. It is much easier to correct a visibility or permission mistake with one tester than with a live queue.

Symptom Likely cause First fix
Server process starts but it is not visible in the browser ShouldAdvertise=false, wrong browser tab, or query ports are blocked Set ShouldAdvertise=true, check Custom Servers vs main browser based on licence, then verify QueryPort and QueryPort+1
Server is visible but players cannot join cleanly Port+1 or UDP 30000+ is not open Open both the game port and its +1, then allow UDP above 30000 where the provider firewall requires it
RCON tool will not connect Password= is blank or port 21114 is closed Set a password in Rcon.cfg if you want RCON enabled, then open the RCON port and retry
Your admin commands do nothing Wrong SteamID64 or wrong group assignment in Admins.cfg Check the SteamID64 format and the exact Admin=<SteamID64>:Group line, then restart the server and reconnect
You can host it, but cannot join it from the same network No NAT loopback on the router Test from a different network or enable NAT loopback if the router supports it
The server refuses to run on the same PC you use for playing The Steam client is open Close Steam, start the server first, then log on to Steam and launch Squad

Squad server FAQ

Do I need a licensed server for people to join?

No. A custom server is still joinable; it simply appears in the Custom Servers tab instead of the primary browser. The licence changes discovery and rules, not whether the server software can accept players.

Can I password-protect a Squad server?

On a custom server, an admin whose group has the private permission can password-protect the server. Licensed servers must remain public, so password locking is not compatible with the licence rules. That is why the licensed-or-custom choice comes first, not later.

Can I run more than one Squad server on the same machine?

Yes, but each instance needs unique values for Port, QueryPort, beaconport and RCON. You also need to think about CPU time because multiple instances compete for the same main-thread resources, which can pull TPS down if they are busy together.

Do game updates overwrite my config files?

No, the config files in SquadGame/ServerConfig/ are not overwritten by updates. That protects your settings, but it also means new options added by an update will not appear automatically in an older file, so compare against a fresh default when something seems missing.

Should I use mods on the first build?

For the first successful deployment, it is usually cleaner to get the base server visible and joinable before adding workshop content. Mods are installed separately, copied into SquadGame/Plugins/Mods, and require a restart; for licensed servers they also need to be performant and work on Linux and Windows.

More Squad server help

Size the hardware for your player count, or compare hosts that run Squad.

Commands, ports and file contents follow the official Squad wiki’s server installation and configuration pages and Offworld Industries’ licensing policy. Game updates and host panels change; where your host’s panel differs, follow it, but keep the same port, launch-parameter and ServerConfig rules.

Similar Posts