
Schedule 1 blew up on Steam in early 2025 and has kept growing through 2026. The game supports multiplayer out of the box, but the built in hosting has the usual limitations: the host needs to be online, performance depends on their machine, and everyone is at the mercy of their upload bandwidth. A dedicated server fixes all of that.
This guide covers how to get a Schedule 1 dedicated server running on Windows and Linux, configure it properly, and keep it online for your group.
What You Need
Schedule 1's dedicated server is distributed through SteamCMD, same as most Steam game servers. Hardware requirements are modest compared to something like a modded Minecraft server:
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores, 2.5 GHz | 4 cores, 3.5 GHz+ |
| RAM | 4 GB | 8 GB |
| Storage | 5 GB | 10 GB (room for saves) |
| Network | 5 Mbps upload | 10 Mbps+ upload |
| OS | Windows 10 / Ubuntu 22.04+ | Same |
The game does not need a powerful GPU on the server side. Headless mode runs without rendering.
Installing via SteamCMD
Linux
Install SteamCMD if you have not already:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd -y
Create a directory and install the dedicated server:
mkdir -p /home/steam/schedule1
steamcmd +force_install_dir /home/steam/schedule1 \
+login anonymous \
+app_update 3164500 validate \
+quit
The app ID for the Schedule 1 dedicated server is 3164500. This pulls the server binary without needing the full game installed.
Windows
Download SteamCMD from Valve's developer site, extract it to a folder like C:\SteamCMD, and run:
steamcmd +force_install_dir C:\Schedule1Server +login anonymous +app_update 3164500 validate +quit
Server Configuration
After installation, you will find a configuration file in the server directory. The main settings you want to adjust:
ServerName=My Schedule 1 Server
MaxPlayers=4
Password=
SaveInterval=300
Port=7777
QueryPort=7778
ServerName: what players see in the server browser. Keep it descriptive.
MaxPlayers: Schedule 1 multiplayer works best with 2 to 8 players. Performance degrades with higher counts because every player's activity generates simulation load.
Password: leave empty for a public server, or set one for a private group. If you are running this for friends, always set a password. Random players joining your save can cause real damage.
SaveInterval: how often the server writes to disk, in seconds. 300 (5 minutes) is a reasonable default. Lower values are safer against crashes but increase disk writes.
Port and QueryPort: the game port and Steam query port. If you are running multiple servers on the same machine, offset these by at least 10 per instance.
Port Forwarding
The server needs two ports open:
| Port | Protocol | Purpose |
|---|---|---|
| 7777 | UDP | Game traffic |
| 7778 | UDP | Steam query/browser |
If you are hosting at home, forward these in your router. If you are on a VPS or dedicated server, open them in your firewall:
sudo ufw allow 7777/udp
sudo ufw allow 7778/udp
Running the Server
Linux
cd /home/steam/schedule1
./Schedule1Server.sh -batchmode -nographics
The -batchmode and -nographics flags tell Unity (the engine Schedule 1 runs on) to skip rendering. This is important on a headless server, both for performance and because trying to initialize a GPU that does not exist will crash the process.
To keep it running after you disconnect from SSH, use screen or tmux:
screen -S schedule1
cd /home/steam/schedule1
./Schedule1Server.sh -batchmode -nographics
Detach with Ctrl+A, D. Reattach with screen -r schedule1.
For a production setup, create a systemd service:
[Unit]
Description=Schedule 1 Dedicated Server
After=network.target
[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/schedule1
ExecStart=/home/steam/schedule1/Schedule1Server.sh -batchmode -nographics
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Save this as /etc/systemd/system/schedule1.service, then:
sudo systemctl daemon-reload
sudo systemctl enable schedule1
sudo systemctl start schedule1
Windows
Double click the server executable or run it from a command prompt with the same flags:
Schedule1Server.exe -batchmode -nographics
Save Management
Server saves are stored in the server directory under a Saves folder. Each save is a directory with the world state serialized across multiple files.
Backing up is straightforward: copy the entire Saves folder to another location. Do this before updates, especially early access updates that sometimes change the save format.
cp -r /home/steam/schedule1/Saves /home/steam/backups/schedule1-$(date +%Y%m%d)
Automate this with a cron job that runs daily:
0 4 * * * cp -r /home/steam/schedule1/Saves /home/steam/backups/schedule1-$(date +\%Y\%m\%d)
Updating the Server
SteamCMD handles updates the same way as the initial install:
steamcmd +force_install_dir /home/steam/schedule1 \
+login anonymous \
+app_update 3164500 validate \
+quit
Stop the server before updating. Running an update while the server is live can corrupt the installation. With the systemd service:
sudo systemctl stop schedule1
# run the steamcmd update command above
sudo systemctl start schedule1
Performance Tips
Keep player count reasonable. Schedule 1 was designed as a co-op game for small groups. Running 8 players is fine. Trying to push 16 or 20 will cause tick rate issues regardless of hardware.
Set a save interval that matches your risk tolerance. 300 seconds (5 minutes) balances crash protection with disk I/O. If your server is on an NVMe drive, you can safely drop this to 120 seconds.
Monitor memory. Schedule 1 can develop memory leaks over long sessions in early access. If you notice RAM usage climbing past 6 GB, schedule regular restarts (once every 24 hours works well for most groups).
Use a server close to your players. Latency matters in any multiplayer game. If your group is in Europe, run the server in Europe. If they are in North America, run it there. This sounds obvious, but people constantly make the mistake of hosting on whatever machine they already have, even when it is on the wrong continent.
Hosting Options
You have three realistic paths for hosting a Schedule 1 server:
Home hosting: free, but your internet upload speed limits player count and your electricity bill runs 24/7. Port forwarding exposes your home IP to the internet, which is a security consideration most people do not think about until it becomes a problem.
VPS hosting: a virtual private server gives you a fixed monthly cost, a static IP, and uptime that does not depend on your home internet. A 4 GB VPS with decent single thread performance is enough for most Schedule 1 groups. Space-Node VPS plans start at affordable rates and include DDoS protection, which matters once your server shows up in the public browser.
Dedicated game hosting: some providers offer managed Schedule 1 hosting with a control panel. This removes the command line setup entirely. The tradeoff is less control over the server configuration and typically higher cost per GB of RAM.
For most private groups of 2 to 6 friends, a VPS is the sweet spot between cost, control, and reliability.
FAQ
Can I transfer a single player save to a dedicated server? Yes. Copy your local save folder to the server's Saves directory and reference it in the server config. The save format is the same between singleplayer and multiplayer.
Related guides: if you are looking at other games, check our Satisfactory server guide, Enshrouded server guide, or the game server security guide for hardening tips.
Does the server need the full game purchased? No. The dedicated server is a free download through SteamCMD using the server app ID. You do not need to own Schedule 1 on the machine running the server.
How do I connect to my own server?
Open Schedule 1, go to Multiplayer, and use Direct Connect with your server's IP and port (e.g., 123.45.67.89:7777). If you set a password, you will be prompted for it.
Why do players get disconnected randomly?
Usually one of three things: the server is running out of RAM (check usage with htop), the save interval is causing lag spikes on slow storage (switch to SSD/NVMe), or there is packet loss between the player and server (run a traceroute to diagnose).