Gaming Servers

Squad

Install and configure a Squad dedicated server on Linux with SteamCMD, configuration, layers and admin setup

Squad is a large-scale multiplayer FPS supporting 40-100+ players. This guide covers installing and configuring a Squad dedicated server on Linux.


Requirements

  • RAM: 10GB+ (16GB recommended for 100 players)
  • CPU: 4+ vCPU
  • Disk: 40GB+ free space
  • OS: Linux x64 with 32-bit library support
  • Network: UDP 7787, UDP 27165, TCP 21114

Install Dependencies

# Update system
sudo apt update && sudo apt upgrade -y

# Install 32-bit libraries (required for Squad)
sudo apt install lib32gcc-s1 lib32stdc++6 lib32z1 -y

# Install SteamCMD
sudo apt install steamcmd -y

Download Squad Server

# Download using SteamCMD
steamcmd \
  +login anonymous \
  +force_install_dir /opt/squad-server \
  +app_update 403240 validate \
  +quit

# Verify installation
ls -la /opt/squad-server/

Server Configuration

Edit Server.cfg

Edit /opt/squad-server/SquadGame/ServerConfig/Server.cfg:

[/Script/Squad.SQSquadGameMode]
ServerName=My Squad Server
ServerPassword=
PublicAddress=your.server.ip
MaxPlayers=64
NumTeams=2
AllowUnassignedPlayers=true

Edit Rcon.cfg

Edit /opt/squad-server/SquadGame/ServerConfig/Rcon.cfg:

[Rcon.Server]
Port=21114
Password=YourRconPasswordHere123

Edit Admins.cfg

Edit /opt/squad-server/SquadGame/ServerConfig/Admins.cfg:

Add admin SteamIDs (one per line):

76561198012345678
76561198087654321

Get your SteamID from steamid.io


Layer and Map Rotation

Edit LayerRotation.cfg

Edit /opt/squad-server/SquadGame/ServerConfig/LayerRotation.cfg:

Chora_AAS_v1
Fallujah_AAS_v1
Jensens_Range_AAS_v1
Kohat_AAS_v1
Lashkar_Valley_AAS_v1
Narva_AAS_v1
Yehorivka_AAS_v1

Start Server

Manual Start

cd /opt/squad-server

# Start server (replace ports if needed)
./SquadGameServer \
  Port=7787 \
  QueryPort=27165 \
  RCONPORT=21114

Output should show:

Unreal Engine 4.27.0
Squad Server Started
Listening on 0.0.0.0:7787
Query Port: 27165
RCON Port: 21114

Systemd Service

Create /etc/systemd/system/squad.service:

[Unit]
Description=Squad Dedicated Server
After=network.target

[Service]
Type=simple
User=steamcmd
WorkingDirectory=/opt/squad-server
ExecStart=/opt/squad-server/SquadGameServer \
  Port=7787 \
  QueryPort=27165 \
  RCONPORT=21114
Restart=on-failure
RestartSec=10

# Resource limits
MemoryLimit=16G
TasksMax=4096

[Install]
WantedBy=multi-user.target

Enable and Start

sudo systemctl daemon-reload
sudo systemctl enable squad
sudo systemctl start squad

# Check status
sudo systemctl status squad

# View logs
sudo journalctl -u squad -f

Firewall Configuration

Open required ports:

# UFW
sudo ufw allow 7787/udp
sudo ufw allow 27165/udp
sudo ufw allow 21114/tcp

# iptables
sudo iptables -A INPUT -p udp --dport 7787 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27165 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21114 -j ACCEPT

Connect and Manage

Join Server in-game

  • Launch Squad
  • Click "Find Servers"
  • Search for server name or IP: your.server.ip:7787
  • Enter server password if configured

RCON Admin Console

Connect with RCON client or in-game admin tools:

# Using rcon command-line tool
rcon -a your.server.ip:21114 -p YourRconPasswordHere123

# Example commands
AdminListPlayers
AdminBan <player_id>
AdminKick <player_id>
AdminChangeMap <map_name> <layer_name>
AdminRestartRound
AdminEndRound

Server Updates

Update to Latest Version

# Stop server
sudo systemctl stop squad

# Update
steamcmd \
  +login anonymous \
  +force_install_dir /opt/squad-server \
  +app_update 403240 validate \
  +quit

# Start
sudo systemctl start squad

Backup Configuration

Backup Server Files

# Backup config files
sudo tar czf /backup/squad-config-$(date +%Y%m%d).tar.gz \
  /opt/squad-server/SquadGame/ServerConfig/

# Automated daily backup
sudo crontab -e

Add:

# Daily config backup at 3 AM
0 3 * * * /usr/bin/tar czf /backup/squad-config-$(date +\%Y\%m\%d).tar.gz /opt/squad-server/SquadGame/ServerConfig/

# Keep 30 days
0 4 * * * find /backup -name "squad-config-*.tar.gz" -mtime +30 -delete

Monitoring

Check Server Status

# Process running?
ps aux | grep SquadGameServer

# Ports listening?
sudo ss -tulnp | grep -E '7787|27165|21114'

# Memory/CPU usage
top -p $(pgrep -f SquadGameServer)

Check Logs

sudo journalctl -u squad -n 100 --no-pager

Performance Tuning

40 players:

MaxPlayers=40
NumTeams=2

64 players:

MaxPlayers=64
NumTeams=2
RAM Required: 12GB+

100 players:

MaxPlayers=100
NumTeams=2
RAM Required: 16GB+
CPU: 8+ vCPU

Reduce Tick Rate (Higher Performance)

Edit SquadGame/ServerConfig/Game.ini:

[/Script/Squad.SQGameState]
TickRate=30

Lower values improve performance, higher values improve responsiveness.


Troubleshooting

Server Won't Start

# Check logs
sudo journalctl -u squad -f

# Verify 32-bit libraries installed
dpkg -l | grep lib32

# Check permissions
sudo chown -R steamcmd:steamcmd /opt/squad-server

Players Can't Connect

# Verify ports are open
sudo ss -tulnp | grep -E '7787|27165|21114'

# Test from external machine
nc -zu <your-ip> 7787

# Check firewall
sudo ufw status

High CPU/Memory Usage

# Monitor in real-time
top -p $(pgrep -f SquadGameServer)

# Reduce MaxPlayers if necessary
# Or upgrade to more powerful VPS

RCON Not Responding

# Verify RCON port is open
sudo ss -tulnp | grep 21114

# Check RCON password in config
grep Password /opt/squad-server/SquadGame/ServerConfig/Rcon.cfg

# Restart with RCON test
sudo systemctl restart squad

Squad is recommended for servers with 40-80 players and good network connectivity. Require at least 10GB RAM and strong CPU to maintain 60+ FPS for all players.


Common Admin Commands

AdminListPlayers              # Show all connected players
AdminBan <player_id>          # Ban player
AdminKick <player_id>         # Kick player from server
AdminChangeMap <layer>        # Change current map/layer
AdminRestartRound             # Restart current round
AdminEndRound                 # End current round
AdminPause                    # Pause the game
AdminUnpause                  # Resume game
AdminSlomo <speed>            # Set game speed (1.0 = normal)
AdminWarn <player_id>         # Warn a player

Manage through in-game admin menu or RCON client.

On this page