How to Host a Schedule 1 Server: Hosted or Self Hosted Dedicated Server (2026)
Host a Schedule 1 dedicated server two ways: hosted with the S1DS mod installed for you, or self hosted with MelonLoader and ports 38465 and 27016.
Updated Nov 5, 2026 · 16 min read
On this page
- Which way should you host Schedule 1?
- How a Schedule 1 dedicated server works
- How much RAM does a Schedule 1 server need?
- Option 1: Host a Schedule 1 server with GamezServers
- Option 2: Host a Schedule 1 dedicated server yourself
- How do players join a Schedule 1 dedicated server?
- Can you bring your existing world?
- What about mods on the server?
- Updates, backups and sleep
- Common problems
- FAQ
Schedule I has no official dedicated server, so every Schedule 1 server runs S1DedicatedServers (S1DS), a free community mod that runs the full game headless. There are two ways to host one. Host it with us and we install the game, MelonLoader and S1DS for you, with nothing to port forward. Or host it yourself: copy the game (Steam app ID 3164500) to a Windows PC that stays on, install MelonLoader and the S1DS server package, edit server_config.toml, and forward port 38465 on UDP and TCP plus 27016 UDP. Either way the server needs real memory, around 3 GB on an idle server and 6 GB or more for a group, and every player installs the S1DS client mod once. This guide covers both.
Which way should you host Schedule 1?
| Normal co-op | Dedicated server at home | Hosted server | |
|---|---|---|---|
| Cost | Free | Free, plus a PC left on all day | From 14.99 USD a month, splittable |
| Players | Up to 4 | 16 by default, up to 64 | Up to 4, 8 or 16 by plan |
| World online when the host is offline | No | Only while that PC is on | Yes |
| Setup | None | Copy the game, install MelonLoader and S1DS, edit server_config.toml |
Done for you |
| Ports | None | 38465 UDP and TCP, 27016 UDP | None |
| Game updates | Automatic | Reinstall and repeat by hand | One button, world backed up first |
Co-op is fine for a group of four who always play together. As soon as someone wants to play while the host is offline, or you want more than 4 players, you need a dedicated server.
How a Schedule 1 dedicated server works
S1DS is made by ifBars, free and open source (GPL-3.0), with source on GitHub and documentation at docs.s1servers.com. It is not made or endorsed by TVGS, the studio behind Schedule I. Instead of a separate server program, it loads into a copy of the game through MelonLoader and starts it in batch mode with no graphics. That has three effects:
- The server runs the whole game, so it needs far more memory than a typical server, and its own copy of the game files on a Steam account that owns Schedule I.
- Every player needs the S1DS client mod. The vanilla game cannot join an S1DS server.
- Everything must match. The server and every player run the same game build, the same runtime and matching mod versions.
Everyone must own Schedule I on Steam. The server checks each player through Steam when they join. Schedule I is a Windows game, so Mac, Linux and console players cannot join.
Mono or IL2CPP
Schedule I ships in two runtimes, and S1DS supports both:
| Runtime | Steam branch | S1DS files |
|---|---|---|
| Mono | The alternate beta branch (Steam, Properties, Betas) |
Mono-Server.zip, Mono-Client.zip |
| IL2CPP | The default branch, what everyone has unless they opted into a beta (Betas: None) | Il2cpp_Server.zip, Il2cpp_Client.zip |
TVGS describes the alternate branch as identical to the normal game except that it uses Mono instead of IL2CPP. It is what most modded Schedule I players already use, and the server boots faster on it. IL2CPP lets everyone stay on the normal branch. Whichever you choose, the server and all players must be on it.
How much RAM does a Schedule 1 server need?
The S1DS docs list 2 vCPUs at about 2.0 GHz and 4 GB of RAM as the bare minimum, and that was observed at roughly 72% CPU and 3.0 GB of RAM in use with only 0 to 1 players. Add players, employees, several properties and save spikes on top and 6 GB is the sensible floor:
| Group | RAM | vCPU | Player slots | Our plan |
|---|---|---|---|---|
| You and a few friends | 6 GB | 3 | 4 | Starter, 14.99 USD a month |
| A bigger crew with employees and several properties | 8 GB | 4 | 8 | Standard, 19.99 USD a month |
| A community server, or a late game world | 12 GB | 4 | 16 | Pro, 29.99 USD a month |
Wine adds overhead on Linux, so lean higher there. More on sizing in how much RAM a game server needs.
Option 1: Host a Schedule 1 server with GamezServers
- Pick a plan from the table above. Starter fits the classic group of four who want the world online when the host is not. You can move up a plan later in Settings without losing anything. New customers get 50% off the first month.
- Split the bill if you like. Choose Split with friends at checkout to share it between 2 and 10 people, each paying their own share by card with a 1 USD fee per share. A Standard server split four ways is about 5 USD each a month plus the fee. You pay your share and the server starts straight away, and each friend gets their own payment link. Friends who make an account with the email they paid with see the server in their own dashboard. See how to split the cost of a game server with friends.
- Pay and let it install. We install Schedule I, MelonLoader v0.7.2, S1DedicatedServers v1.1.6, Wine and the Windows runtimes the game needs, then set the ports and config. The first boot takes a few minutes while the runtimes install and MelonLoader generates its files. Later restarts are much quicker. Your panel already shows the player setup steps while it installs, so you can get your own game ready.
- Check the server type in Settings. Alternate branch (Mono) is the default and right for almost every group. Default branch (IL2CPP) is for groups who stay on the normal Steam branch. Each type has its own player pack. If you switch later, the server reinstalls and your world is backed up first.
- Send your invite link. Every server has a public join page at
/join/<code>with the server address, whether it is online, the player setup steps with the pack download, a Launch Schedule I and join button and join help. Paste it in your group chat. - Make yourself an operator. Join once so the server knows you, then press Make operator in the panel and enter your in game name. That runs
op <player>and gives you every admin command.
Max players is set by your plan. The server and the player pack are pinned to the same MelonLoader and S1DS releases, so they always match and you never pick versions yourself. Billing is monthly with no contract, and you can cancel any time. See billing and cancellation and the getting started doc.
The one click buttons
| Button | Command it runs |
|---|---|
| Save world | save |
| Players online | listplayers |
| Server info | serverinfo |
| Set morning | settime 0700 |
| Make operator | op <player> |
| Kick player | kick <player> |
| Ban player | ban <player> |
You can add up to 12 custom buttons of your own, and the Console tab accepts any command. The full list is in Schedule 1 dedicated server commands.
Option 2: Host a Schedule 1 dedicated server yourself
What you need
- A Windows PC or server that stays on. Windows is the primary target. Linux works through Wine or the Docker image covered below.
- A copy of Schedule I on a Steam account that owns it.
- CPU and RAM headroom, as in the table above.
- MelonLoader
0.6.x,0.7.0or0.7.2and newer. Avoid0.7.1, which S1DS does not support. - Access to your router if friends outside your home will join.
Step 1: Copy the game to a server folder
Keep your normal game install for playing, and make a separate copy for the server.
- In Steam, right click Schedule I, choose Manage, then Browse local files.
- Copy the whole folder to a new location, for example
C:\S1Server.
If the server is a different machine, copy the folder across, or install the game there with the same Steam account.
Step 2: Install MelonLoader and the server mod
- Install MelonLoader into the server copy for the runtime you picked, pointing the installer at
C:\S1Server\Schedule I.exe. - Download the latest S1DS release from GitHub Releases. Our servers run v1.1.6.
- Extract
Mono-Server.zip(orIl2cpp_Server.zip) intoC:\S1Serverso itsModsfolder merges with the game's andstart_server.batlands next toSchedule I.exe. - Check that
steam_appid.txtsits besideSchedule I.exeand contains only:
3164500
The packaged start_server.bat creates this file if it is missing. If you start the executable another way, create it yourself, or the Steam game server API can fail to start. Only install a Server package on the server. Players install the Client package.
Step 3: First boot
Run start_server.bat. It is a one line launcher:
start "" "Schedule I.exe" --batchmode --nographics --dedicated-server --stdio-console %*
The game starts with no window, MelonLoader opens its console, and S1DS writes its config files into C:\S1Server\UserData\:
| File | What it holds |
|---|---|
server_config.toml |
Name, ports, password, auth, autosave, gameplay and console settings |
permissions.toml |
Staff groups, bans and command access |
client_mod_policy.toml |
Rules for which client mods players may run |
Once it has finished starting, close it so you can edit the config.
Hosting and playing on the same PC? Start your normal Schedule I first, then start_server.bat. Steam may refuse to open the game after the server is already running, but the reverse order works.
Step 4: Edit server_config.toml
These are the settings most people change, with their defaults:
[server]
serverName = 'Schedule One Dedicated Server'
serverDescription = 'A dedicated server for Schedule One'
maxPlayers = 16
serverPort = 38465
serverPassword = ''
[gameplay]
allowSleeping = true
pauseGameWhenEmpty = false
timeProgressionMultiplier = 1.0
[autosave]
autoSaveEnabled = true
autoSaveIntervalMinutes = 15.0
autoSaveOnPlayerJoin = true
autoSaveOnPlayerLeave = true
[performance]
targetFrameRate = 60
[storage]
saveGamePath = ''
maxPlayers: 16 by default, up to a hard limit of 64. S1DS ignores the vanilla 4 player lobby cap for direct IP joins.serverPassword: in v1.1.0 this only marks the server as password protected in Steam and the public list. The client has no password box and the server does not check it, so do not rely on it to keep people out. Steam sign in, keeping your address private andbanare the real controls.pauseGameWhenEmpty: set totrueif the world should stop while nobody is online, so crops and deals do not progress unattended.timeProgressionMultiplier: speeds up or slows down in game time. Keep it above zero.targetFrameRate: the server's tick target. The docs call 30 to 60 the normal range.saveGamePath: leave it empty and the server creates and usesUserData/DedicatedServerSave, the recommended start. To host a specific world, point it at the save folder with a single quoted Windows path, for example'C:\Users\you\AppData\LocalLow\TVGS\Schedule I\Saves\<SteamID>\SaveGame_1'.
Leave the [authentication] section on its defaults (authProvider = 'SteamGameServer', anonymous login, query port 27016, client mod checks on) unless you have a reason to change it.
Most keys can also be set at launch, since start_server.bat passes extra arguments to the game:
start_server.bat --server-name "Hyland Point Crew" --max-players 8
There is no launch flag for the port, so change serverPort in the file. Save, then start the server again.
Step 5: Open the ports
| Port | Protocol | Purpose | Forward it? |
|---|---|---|---|
38465 (serverPort) |
UDP | Game traffic | Yes |
38465 (serverPort) |
TCP | S1DS status query, used by the server list, Favorites and add flows | Yes |
27016 (steamGameServerQueryPort) |
UDP | Steam query | Yes, with the default SteamGameServer auth |
4050 (tcpConsolePort) |
TCP | Remote admin console | Only if you enable it and bind it beyond localhost |
4051 (webPanelPort) |
TCP | Built in web panel | Never, it is loopback only |
- Give the server a fixed local IP in your router.
- Forward
38465on both UDP and TCP, plus27016UDP, to that address. - Allow the same ports through Windows Defender Firewall.
The classic mistake is forwarding 38465 as UDP only. Joins may work, but the server shows as unavailable when players try to add or favorite it. Our port forwarding guide covers routers step by step. If your provider uses CGNAT, forwarding will not work at all.
Step 6: Friends connect
Each player installs MelonLoader and the matching S1DS Client zip from the S1DS releases page into their own game, on the same runtime, Steam branch and game version as the server. Then they click Servers, open Direct Connect and type your public IP and port 38465 into the separate IP and Port fields. Saved servers appear under Favorites and History. The Public tab only lists servers that opt in with a listing credential from the S1 server portal.
To give yourself admin rights, type op <your name or SteamID64> into the server console.
Running it on Linux: Docker or Wine
S1DS has no native Linux build, because the game itself is Windows only. The easiest route is the official Docker image at ghcr.io/ifbars/s1dedicatedservers. It is built on Wine 11 with Xvfb and preinstalls the Windows runtimes MelonLoader needs, including the .NET 6 desktop runtime for IL2CPP. On first start it downloads the game through SteamCMD, which needs a Steam account that owns Schedule I. Anonymous login cannot download the game.
docker run --name s1ds \
-p 38465:38465/udp \
-p 38465:38465/tcp \
-p 27016:27016/udp \
-e STEAM_USER=your_steam_login \
-e STEAM_PASS=your_steam_password \
-e S1DS_RUNTIME=il2cpp \
-v s1ds-game:/home/steam/game \
ghcr.io/ifbars/s1dedicatedservers:latest
S1DS_RUNTIME:mono(the image default) oril2cpp. The container picks the matching Steam branch for you.STEAM_GUARD: a Steam Guard code if Steam asks for one on first login.FORCE_STEAMCMD_UPDATE=true: forces a fresh game update on the next start.STEAM_BRANCH: only set this if you deliberately want a non default branch.
For Compose, copy docker-compose.example.yml from the Docker.zip release to docker-compose.yml, put the same variables in a .env file beside it, and run docker compose up -d. It also keeps the SteamCMD and Steam folders. Edit server_config.toml inside the mounted game volume after first boot, and pin an exact version tag instead of latest if you want controlled upgrades.
You can also run the Windows install under Wine or Proton by hand. It is unofficial and usually takes troubleshooting. The Docker image is a working reference: it launches the game with WINEDLLOVERRIDES set so MelonLoader's version.dll proxy loads, uses the native Steam DLLs from the Steamworks redistributable, and runs with these arguments:
-batchmode -nographics --dedicated-server --require-auth --auth-provider steam_game_server --messaging-backend steam_networking_sockets --steam-gs-anonymous
IL2CPP under Wine also needs the .NET 6 desktop runtime and the Visual C++ 2019 runtime in the Wine prefix. If you are not comfortable with Wine prefixes, use the Docker image.
How do players join a Schedule 1 dedicated server?
On our servers it is one free GamezServers pack, a single zip with MelonLoader and the S1DS client mod inside:
- In Steam, right click Schedule I, choose Properties, then Betas, and pick alternate for a Mono server. For an IL2CPP server, keep None.
- Download the pack from your server's invite page.
- In Steam, right click Schedule I, choose Manage, then Browse local files. Drag everything from the zip (
version.dll,MelonLoader,Mods) into that folder and pick Replace if Windows asks. - Press Launch Schedule I and join on the invite page. Steam opens the game and connects, after asking once to confirm. Or start Schedule I, click Servers, then Direct Connect: for an address like
203.0.113.10:25600, type203.0.113.10as the IP and25600as the Port.
It takes about two minutes, once. Single player and normal co-op keep working with the pack installed. On IL2CPP the first launch after installing takes a few extra minutes. Full walkthrough: how to join a Schedule 1 dedicated server.
Can you bring your existing world?
Yes. Start the server once, stop it, then upload your single player or co-op save into UserData/DedicatedServerSave (on our servers with the Files tab). The one rule that matters: keep the server's own Players/Player_0 folder. Step by step in how to transfer a Schedule 1 save to a dedicated server.
What about mods on the server?
The server already runs MelonLoader, so other MelonLoader mods can go in the server's Mods folder. Companion mods built for S1DS work on the server and in each player's game. Players should keep only one host's client files: a leftover mod from another host's pack can get them kicked a few seconds after connecting.
Updates, backups and sleep
Schedule I and the mod update often, and when TVGS ships a patch, players' games update automatically and can no longer join an older server.
- On our servers: press Update game in Settings. It reinstalls the game and the server mod, and your world is backed up first and kept. Then every player downloads the pack again from the same link.
- At home:
- Stop the server and back up the save folder (
UserData/DedicatedServerSaveor yoursaveGamePath). - Update the server's game files, by copying the freshly updated game folder again or letting SteamCMD update it.
- Check the S1DS releases for a new version and extract the new Server package over the install. Players update their Client package to match.
- On IL2CPP, delete
MelonLoader/Dependencies/Il2CppAssemblyGenerator/Cpp2IL/cpp2il_out. It is a disposable cache, and stale files there cause errors such asPass11ComputeTypeSpecificsafter a game update. MelonLoader regenerates it on the next start. The Docker image does this for you. - Start the server and watch the console until it finishes loading.
- Stop the server and back up the save folder (
- Backups: on our servers, press Backup before big changes. Each server keeps 3. Autosave does not replace backups, so at home keep dated copies of the save folder before every update.
- Sleep when empty: our servers stop after 4 days with nobody online, and anyone with access starts it again in one click. Turn it off in Settings if you want it running all the time.
Common problems
- No Servers button on the main menu: the client mod is not loading. Check that
version.dll,MelonLoaderandModssit right next toSchedule I.exe, not inside another folder, and that Steam shows the branch the server uses. - Black screen on the first launch: MelonLoader is setting itself up after install or a game update. It can take a few minutes.
- Could not join after a game update: the game, the client mod and the server must all match. Update the server and download the client again.
- Kicked a few seconds after connecting: often another host's mod is still installed, so delete it from the
Modsfolder. On a home server it can also be the authentication handshake timing out: make sure27016UDP is reachable, and considerauthTimeoutSeconds = 60under[authentication]. - Steam game server API fails to initialize:
steam_appid.txtis missing, the server was not started from the game folder, or another program is using38465or27016. - The server shows as unavailable in Favorites:
38465is forwarded for UDP but not TCP.
More fixes in Schedule 1 can't connect to dedicated server.
FAQ
Is there an official Schedule 1 dedicated server?
No. Schedule I only has host based co-op for up to 4 players. Dedicated servers come from the community mod S1DedicatedServers (S1DS), which we install and update for you.
How much does Schedule 1 server hosting cost?
From 14.99 USD a month for up to 4 players, with 50% off the first month for new customers. Split between friends, each person pays their share plus a 1 USD fee.
How many players can join a Schedule 1 dedicated server?
On our servers, up to 4 on Starter, 8 on Standard and 16 on Pro. S1DS itself defaults to 16 and allows up to 64 through maxPlayers, and your hardware is the real limit. Normal co-op stops at 4. More in Schedule 1 multiplayer with more than 4 players.
Do my friends need to install a mod?
Yes, once. Everyone needs MelonLoader and the S1DS client that matches the server's runtime and version. On our servers both come in one free pack, and the invite page has the steps and a Launch and join button.
Do my friends need to own Schedule I?
Yes. Every player signs in through Steam when they join, so each person needs their own copy on Steam with Steam running.
Can Mac, Linux or console players join?
No. Schedule I is a Windows game on Steam, and the client mod needs the Windows version.
Can I run a Schedule 1 server on Linux?
Yes, through Wine. The easiest route is the official Docker image, ghcr.io/ifbars/s1dedicatedservers, which bundles Wine and the required runtimes.
See Schedule I server hosting to pick a plan and keep Hyland Point running.
Skip the setup. Your own Schedule I server.
Then $14.99/mo. Just trying it? $3.75 for 3 days