How to Set Up an Alien Swarm (Reactive Drop) Dedicated Server on Ubuntu 18.04+
Hosting your own Alien Swarm: Reactive Drop dedicated server gives you full control over configuration, stability, and availability. Reactive Drop’s dedicated server files are distributed as a Windows build, so on Ubuntu you typically run the server through Wine (or use a community Docker image). This guide covers a clean SteamCMD + Wine setup on Ubuntu 18.04 or newer.
⚙️ System Requirements
- OS: Ubuntu 18.04+ (recommended 20.04/22.04/24.04)
- CPU: Dual-core 2.0 GHz+ (higher single-core is better for Source servers)
- RAM: 2 GB minimum (4 GB recommended)
- Storage: 10+ GB free (more if you use lots of Workshop content)
- Access: Root or sudo privileges
- Networking: Ability to open/forward a UDP port (commonly
27050/udp)
✈️ Step 1: Update Your Server
sudo apt update && sudo apt upgrade -y
👥 Step 2: Create a Dedicated User
sudo adduser asrd sudo passwd asrd su - asrd
🔐 Step 3: Install Required Packages
This setup uses 32-bit compatibility libraries, SteamCMD, and Wine dependencies.
# Enable 32-bit architecture (required for many Steam/Wine components) sudo dpkg --add-architecture i386 sudo apt update # Core utilities + Wine helpers + headless display (Xvfb) + screen sudo apt install -y \ screen curl wget nano unzip ca-certificates \ xvfb cabextract winbind \ wine wine32 wine64
Notes: If your distro’s Wine packages are too old or problematic, you can install Wine from WineHQ instead. For many servers, the Ubuntu repo Wine packages are sufficient.
💾 Step 4: Install SteamCMD
mkdir -p ~/steamcmd cd ~/steamcmd curl -Lo steamcmd_linux.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz rm -f steamcmd_linux.tar.gz
📥 Step 5: Download the Server Files with SteamCMD (Windows Depot)
On Linux, you typically force SteamCMD to download the Windows version of the server content and then run it under Wine. A commonly used approach for Reactive Drop is installing AppIDs 563560 and 1007 into the same folder.
mkdir -p ~/reactivedrop_server cd ~/steamcmd ./steamcmd.sh +force_install_dir ~/reactivedrop_server \ +login anonymous \ +@sSteamCmdForcePlatformType windows \ +app_update 1007 validate \ +app_update 563560 -beta beta validate \ +quit
If you later want to update, you’ll run the same SteamCMD block again (see Step 10).
🛠 Step 6: Create Server Configuration Files
A) Main server config: Create server.cfg in the game config directory.
nano ~/reactivedrop_server/reactivedrop/cfg/server.cfg
Paste an example baseline configuration (adjust to your needs):
// How your server appears in the browser hostname "My Reactive Drop Server" // RCON password (make it long and random) rcon_password "CHANGE_ME_TO_A_LONG_RANDOM_PASSWORD" // Player slots (8 is typical for co-op; higher allows spectators) maxplayers 8 // If you want the server to shut down when empty (helps scripted auto-updates) rd_server_shutdown_when_empty 1 // Optional: region / LAN sv_region 255 sv_lan 0
B) Optional Workshop config: If you want your server to download Workshop addons automatically, create:
nano ~/reactivedrop_server/reactivedrop/cfg/workshop.cfg
Add one Workshop item per line, for example:
rd_enable_workshop_item 1374886583 rd_enable_workshop_item 1517302956
🛠 Step 7: Create a Startup Script (Wine + screen)
This script will (1) update files via SteamCMD, then (2) run the server under Wine, inside a detachable screen session. It also uses xvfb-run to provide a headless display, which improves reliability on servers without a desktop environment.
nano ~/start_reactivedrop.sh
Paste the following content:
#!/bin/bash SERVER_DIR="$HOME/reactivedrop_server" STEAMCMD_DIR="$HOME/steamcmd" SERVER_NAME="My Reactive Drop Server" IP="0.0.0.0" PORT="27050" MAXPLAYERS="8" MAP="lobby" # Optional: log files LOGDIR="$HOME/logs" mkdir -p "$LOGDIR" # Update server files (lightweight update check each launch) "$STEAMCMD_DIR/steamcmd.sh" +force_install_dir "$SERVER_DIR" +login anonymous +@sSteamCmdForcePlatformType windows +app_update 1007 +app_update 563560 -beta beta +quit cd "$SERVER_DIR" || exit 1 # Run inside a detached screen session named "asrd" screen -dmS asrd bash -lc " xvfb-run -a wine ./srcds_console.exe -console -condebug -game reactivedrop -ip $IP -port $PORT +maxplayers $MAXPLAYERS +hostname "$SERVER_NAME" +exec server.cfg +map $MAP "
Make it executable:
chmod +x ~/start_reactivedrop.sh
🚀 Step 8: Start / Stop / View Console
Start:
~/start_reactivedrop.sh
Attach to the console:
screen -r asrd
Detach (leave it running): Press Ctrl+A then D
Stop the server:
screen -S asrd -X quit
🌐 Step 9: Configure Firewall (UFW)
Reactive Drop server setups commonly use UDP port 27050. Open that port publicly. It is also reasonable to open the same port for TCP if you plan to use remote console tools; if you are minimizing exposure, start with UDP only.
# Allow game traffic (recommended) sudo ufw allow 27050/udp # Optional: allow TCP on the same port (only if you need it) sudo ufw allow 27050/tcp sudo ufw reload sudo ufw status
If your server is behind a home/office router, you must also port-forward 27050/udp from your router to this machine’s LAN IP.
✅ Step 10: Optional – Create a systemd Service
This ensures the server starts automatically on boot and restarts on failure.
sudo nano /etc/systemd/system/asrd.service
Paste:
[Unit] Description=Alien Swarm: Reactive Drop Dedicated Server (Wine) After=network.target [Service] Type=forking User=asrd WorkingDirectory=/home/asrd ExecStart=/home/asrd/start_reactivedrop.sh Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload sudo systemctl enable asrd sudo systemctl start asrd sudo systemctl status asrd
🔄 Step 11: Update the Server
If you used the startup script above, it already checks for updates each time it launches. For a manual update:
cd ~/steamcmd ./steamcmd.sh +force_install_dir ~/reactivedrop_server \ +login anonymous \ +@sSteamCmdForcePlatformType windows \ +app_update 1007 validate \ +app_update 563560 -beta beta validate \ +quit
If using systemd:
sudo systemctl restart asrd
🎮 Step 12: Connect to Your Server
- Launch Alien Swarm: Reactive Drop
- Find your server in the server browser, or connect directly using your public IP and port
- If testing locally on the same machine/LAN, use the LAN IP (or
127.0.0.1from the server host)
🎉 Conclusion
Your Alien Swarm: Reactive Drop dedicated server is now running on Ubuntu 18.04+ using SteamCMD and Wine, with repeatable updates, headless operation, and optional boot-time automation via systemd. Adjust server.cfg and (optionally) workshop.cfg to tailor the experience for your players.
Comments (0)