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 -yDownload 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=trueEdit Rcon.cfg
Edit /opt/squad-server/SquadGame/ServerConfig/Rcon.cfg:
[Rcon.Server]
Port=21114
Password=YourRconPasswordHere123Edit Admins.cfg
Edit /opt/squad-server/SquadGame/ServerConfig/Admins.cfg:
Add admin SteamIDs (one per line):
76561198012345678
76561198087654321Get 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_v1Start Server
Manual Start
cd /opt/squad-server
# Start server (replace ports if needed)
./SquadGameServer \
Port=7787 \
QueryPort=27165 \
RCONPORT=21114Output should show:
Unreal Engine 4.27.0
Squad Server Started
Listening on 0.0.0.0:7787
Query Port: 27165
RCON Port: 21114Systemd 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.targetEnable 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 -fFirewall 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 ACCEPTConnect 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
AdminEndRoundServer 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 squadBackup 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 -eAdd:
# 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 -deleteMonitoring
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-pagerPerformance Tuning
Recommended Settings by Player Count
40 players:
MaxPlayers=40
NumTeams=264 players:
MaxPlayers=64
NumTeams=2
RAM Required: 12GB+100 players:
MaxPlayers=100
NumTeams=2
RAM Required: 16GB+
CPU: 8+ vCPUReduce Tick Rate (Higher Performance)
Edit SquadGame/ServerConfig/Game.ini:
[/Script/Squad.SQGameState]
TickRate=30Lower 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-serverPlayers 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 statusHigh CPU/Memory Usage
# Monitor in real-time
top -p $(pgrep -f SquadGameServer)
# Reduce MaxPlayers if necessary
# Or upgrade to more powerful VPSRCON 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 squadSquad 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 playerManage through in-game admin menu or RCON client.