Need a Schedule 1 Server?
Skip the self-hosting hassle. Get a fully managed Schedule 1 dedicated server with pre-installed MelonLoader + DedicatedServerMod, MultiplayerPlus support, and 24/7 expert support.
Rent a Schedule 1 Server → 🔥 30% OFF
Schedule 1 doesn’t ship an official dedicated server. The base game’s multiplayer is Steam P2P — one player hosts, the world only exists while that player is online, and there’s no easy way to run a persistent 24/7 Hyland Point. The community fix is the S1 DedicatedServerMod by ifBars (ifBars/S1DedicatedServers on GitHub, GPL-3.0), which layers a true headless authoritative server on top of MelonLoader.
This guide explains what the DedicatedServerMod actually does, how to configure it via its three TOML files, and how to access the optional web panel and TCP console for remote admin.
What the S1 DedicatedServerMod gives you
The mod replaces Schedule 1’s Steam P2P session with a true server-authoritative setup. Headline features:
- Headless operation — runs as a Windows service or Docker container, no display required.
- Persistent world — save / load / time / sleep / multiplayer flow are all handled server-side, independent of any player.
- Permissions system — five built-in groups (
default,support,moderator,administrator,operator) with dotted permission nodes likeconsole.command.kick. - TCP Console — RCON-style remote admin on a configurable TCP port (default
4050, localhost-bound). - Optional Web Panel — browser-based admin on HTTP port
4051with one-time launch token auth (also localhost-only in v1). - Steam-based authentication —
SteamGameServerprovider for public servers, anonymous login supported. - Configurable messaging — FishNet RPC (default) or Steam Networking Sockets for relay-routed multiplayer.
- TOML configuration — three files:
server_config.toml,permissions.toml,client_mod_policy.toml.
It’s not officially affiliated with TVGS (Schedule 1’s developer). When Schedule I patches, the DedicatedServerMod often needs a release update before it works again — pin a known-good version and watch the GitHub releases page.
The three TOML config files
Schedule 1’s DedicatedServerMod is configured via three TOML files (not JSON). All three live at the server install root and are edited through your hosting panel’s File Manager.
server_config.toml — main settings
This is the main config — server name, listen port, authentication, gameplay rules, web panel, TCP console. The minimum viable example:
serverName = 'Hyland Heat'
serverPort = 38465
[storage]
saveGamePath = './Saves/SaveGame_1'
[authentication]
authProvider = 'SteamGameServer'
authTimeoutSeconds = 60
steamGameServerLogOnAnonymous = true
steamGameServerQueryPort = 27016
[messaging]
messagingBackend = 'FishNetRpc'
[gameplay]
allowSleeping = true
ignoreGhostHostForSleep = true
pauseGameWhenEmpty = true
timeProgressionMultiplier = 1.0
freshSaveQuestBootstrapMode = 'StartFromBeginning'
The server refuses to start without [storage].saveGamePath. The default gameplay UDP port is 38465. On managed hosting, this port is pre-assigned in your panel’s Network → Allocations tab — use whatever’s already there.
permissions.toml — operators, admins, bans
Add yourself as an operator by Steam ID:
[metadata]
schemaVersion = 1
migrationVersion = 1
[group.default]
priority = 0
allow = ['server.help']
deny = []
[user.76561198000000000]
groups = ['operator']
allow = []
deny = []
[ban.76561198987654321]
subjectId = '76561198987654321'
reason = 'griefing'
Convert your Steam profile URL to a SteamID64 using steamid.io. After editing, run reloadpermissions in the Console tab — no restart needed.
client_mod_policy.toml — control connecting clients
Block known-bad mods and pin trusted mod hashes:
[policy]
deniedClientModIds = ['example.badmod']
deniedClientModNames = []
deniedClientModHashes = []
[strictPinnedCompanionHashes.bars.multiplayerplus]
modId = 'bars.multiplayerplus'
pinnedSha256 = ['<sha-256 of your exact MultiplayerPlus.dll>']
Pinning hashes means connecting clients must have exactly the same MultiplayerPlus build as the server — useful for tight groups where everyone runs the same mod stack.
Generate all three files automatically
If hand-editing TOML isn’t your thing, the Schedule 1 server config generator builds all three files from a form. Operators, ports, gameplay rules, web panel toggle, ban list — all click-to-configure. Download the files and drop them into your server install.
Networking and ports
| Default | Field | Purpose |
|---|---|---|
38465 UDP | serverPort (top-level) | Gameplay traffic |
27016 UDP | steamGameServerQueryPort | Steam server query |
4050 TCP | [tcpConsole].tcpConsolePort | Remote admin console |
4051 HTTP | [webPanel].webPanelPort | Optional web admin |
The DedicatedServerMod bypasses Steam P2P entirely — clients connect by IP:port using the DedicatedServerMod client launcher, not via the Steam Friends list.
Web Panel and TCP Console
The TCP Console is RCON in everything but name — a socket-based remote console that lets you run server commands from outside the box. It’s localhost-bound by default. To reach it from your local machine, SSH-tunnel using your hosting panel’s SFTP credentials:
ssh -L 4050:127.0.0.1:4050 <sftp-user>@<sftp-host> -p <sftp-port>
Then connect any line-based TCP client (Netcat, mcrcon, custom scripts) to localhost:4050. Same pattern for the web panel on port 4051.
The web panel uses a one-time launch token plus session cookie auth — no shared password. The token is written to the Console output on server start; copy it from there.
Linux / Docker hosting
The DedicatedServerMod repo ships Docker images supporting both Mono and Il2Cpp runtimes. Linux native requires Wine for the Mono backend; Il2Cpp on Linux is in beta. For most users the smoother path is Windows hosting, which is what we use on every Schedule 1 dedicated server plan at XGamingServer.
Sizing your server for Schedule 1
Real-world data: an empty Schedule 1 dedicated server already uses about 2.6 GB RAM and 200% CPU (two fully saturated cores) before a single player connects. The DedicatedServerMod’s Unity loop isn’t aggressively throttled in the current builds, so you can’t undersize the host.
| Target players | Recommended specs |
|---|---|
| 4 vanilla co-op | 8 GB RAM, 3 dedicated CPU threads, NVMe SSD |
| Up to 10 with MultiplayerPlus + light mods | 12 GB RAM, 4 threads |
| Full 20-player MultiplayerPlus + content mods | 16 GB RAM, 6 threads |
| Heavy mod stacks, multi-server, dev | 24 GB RAM, 8 threads |
Run a Schedule 1 dedicated server below 8 GB / 3 cores and it’ll OOM or CPU-throttle the moment any player connects.
Commands you’ll actually use
From the Console tab (or TCP console if you’ve enabled it):
help— list available commandsserverinfo— server status, uptime, player countsave— force a manual savereloadconfig— re-readserver_config.tomlwithout restartingreloadpermissions— re-readpermissions.tomllistplayers— connected players + Steam IDskick <player> [reason]/ban <player> [reason]/unban <steamid>op <steamid>/deop <steamid>— built-in group wrappers
No say, tp, mute, tempban or restart commands are documented in the current release — broadcast chat needs a separate mod, and restarts go through the hosting panel’s Dashboard.
Self-host or managed?
Self-hosting the DedicatedServerMod stack works fine on a Windows box you own — you’ll spend an evening downloading MelonLoader, fighting version pinning, configuring the TOML files, and opening UDP 38465 on your router. Managed hosting skips all of that.
On XGamingServer’s Schedule 1 hosting, MelonLoader and the DedicatedServerMod are pre-installed at known-good versions on every plan. The three TOML files are auto-generated on first boot, the Console tab pipes directly into the server, and the Panel handles allocations and backups. From order to a running server with operators configured: under 5 minutes.
Need a Schedule 1 Server?
Skip the self-hosting hassle. Get a fully managed Schedule 1 dedicated server with pre-installed MelonLoader + DedicatedServerMod, MultiplayerPlus support, and 24/7 expert support.
Rent a Schedule 1 Server → 🔥 30% OFF





