How to Install Mods on a Schedule 1 Server

Add MelonLoader mods to a Schedule 1 dedicated server: the Mods folder, IL2CPP vs Mono builds, which mods work in multiplayer and what players need.

Updated Oct 6, 2026 · 6 min read

On this page

To install mods on a Schedule 1 dedicated server, stop the server and upload each mod's .dll into the Mods folder next to Schedule I.exe, beside the S1DedicatedServers mod that is already there. Pick the build of the mod that matches the server: IL2CPP for the normal Steam version, Mono for the alternate beta. Start the server and check the MelonLoader console. Gameplay mods usually need the same mod and version in every player's Mods folder too.

What you are working with

Schedule I has no official server, so a dedicated server is the full game running headless with MelonLoader and the community mod S1DedicatedServers (S1DS). Any extra mod is just another MelonLoader mod in the same folder.

File or folder What it is
Mods/ MelonLoader mods, one .dll each. S1DS lives here too.
UserLibs/ Shared libraries some mods need. Only add what a mod's page asks for.
UserData/ Config files, including S1DS's server_config.toml and client_mod_policy.toml, and many mods' own configs.
MelonLoader/ The loader itself and its logs. Do not change it.
Mod _IL2CPP or _Mono build Most mods ship two builds. Only one matches your server.

IL2CPP or Mono: the gotcha that breaks most installs

Schedule I comes in two builds. The normal Steam version is IL2CPP. The alternate beta branch (Steam, Properties, Betas) is Mono. MelonLoader mods are compiled for one or the other, and many mod pages offer two downloads.

Loading a Mono mod on an IL2CPP game, or the other way round, crashes MelonLoader at startup, often with no useful error. Community mod templates warn against ever installing both builds of one mod at the same time.

Your server type on GamezServers Game build Mod build to download
Alternate branch (Mono), the default Mono (alternate branch) The Mono file
Default branch (IL2CPP) IL2CPP The IL2CPP file

Every player must also be on the same build as the server, with the matching GamezServers pack. If your group wants a mod that exists only for IL2CPP, switch the server to the Default branch (IL2CPP) type in Settings and have everyone set Schedule I back to None in Steam and install the IL2CPP pack. The S1DS self hosting guide covers both runtimes in detail.

Which mods work in multiplayer?

The server runs the game logic for everyone, so where a mod has to live depends on what it changes:

Mod type Server Players Examples
Gameplay rules: stack sizes, grow speed, prices, employee behavior Yes Usually yes, same version Stack and station tweaks
S1DS companion mods (built on the S1DS API) Yes The paired client half, if the mod says so Server tools and addons
Visual or UI only: HUD, menus, translations No Optional, per player Interface and language mods
Single player cheats and trainers No Often blocked Runtime inspectors

The S1DS docs say some existing Schedule I mods work on a dedicated server "when their client/server assumptions line up". In practice, test each gameplay mod alone before stacking them, and read its page for multiplayer notes.

Step 1: Before you start

  • Back up. Press Backup in the panel, or copy UserData/DedicatedServerSave.
  • Check the version. The mod must support the current game version and your build (IL2CPP or Mono).
  • Check MelonLoader. Mods list a minimum MelonLoader version. GamezServers servers and the player pack run MelonLoader v0.7.2. Never use 0.7.1, which breaks S1DS.

Step 2: Upload the mod

  1. Stop the server.
  2. Open the server's Mods folder (next to Schedule I.exe).
  3. Upload the mod's .dll file. If it came in a zip with its own Mods and UserLibs folders, put each file in the matching folder.
  4. Leave the S1DS server mod in place. Removing it stops the server working as a server.

For anything larger than a few files, an SFTP app like FileZilla or WinSCP is easier than the browser.

Step 3: Start and read the log

Start the server and watch the console. MelonLoader lists every mod it loads by name and version. A mod missing from that list, or a red error naming it, means the wrong build, a missing dependency or an outdated mod. The first start after any game update is also slower, because MelonLoader regenerates its files.

Step 4: Give players the same mods

For gameplay mods, send every player the same file and version you put on the server. They drop it into their own Mods folder next to the S1DS client mod from the GamezServers pack. If they already played on another host, they should remove that host's own server mod first, since it cannot join S1DS servers.

A Schedule I grow room run by a crew on a dedicated server

How S1DS checks player mods

S1DS verifies the mods each player runs after they sign in. The defaults in server_config.toml are friendly: allowUnpairedClientMods = true lets players keep harmless client only mods, and blockKnownRiskyClientMods = true blocks known cheat and inspection tools. Companion mods pair their server and client halves automatically through metadata, so you do not keep a manual allowlist. Turn on strictClientModMode only for a locked down public server, and expect more failed joins. See the client mod verification docs for every key.

Common problems

  • Server crashes right after MelonLoader starts: a mod is built for the other runtime. Swap the IL2CPP and Mono file, or remove the newest mod.
  • Mod not in the MelonLoader list: it sits in the wrong folder, often a subfolder inside Mods. Move the .dll straight into Mods.
  • Players kicked after joining: a blocked or risky client mod, or another host's server mod in their game. Clear their Mods folder back to the files from the GamezServers pack plus your shared mods.
  • Everything broke after a game update: the game, S1DS and each mod need versions that support the new patch. Press Update game, have players download the pack again, then update or remove mods that have not caught up.
  • Prices or stacks look different for each player: the gameplay mod is on the server but not on every player, or versions differ.

Mods on GamezServers

A Schedule I server from GamezServers comes with MelonLoader and S1DS installed. You add your own mods in the Files tab or over SFTP (the login is in Settings), and the file manager can extract a zip or download a mod straight from a link onto the server. Press Backup first, and use Update game after a patch. Your world stays online without the host's PC. Players join with one free pack from your invite page, see how to join a Schedule 1 dedicated server.

FAQ

Can I use Nexus or Thunderstore mods on a Schedule 1 server?

Yes, if they are MelonLoader mods for your server's build (IL2CPP or Mono) and the current game version. Gameplay mods usually also need to be on every player.

Do my friends need the same mods?

For gameplay mods, yes, same file and version. Visual and UI mods are up to each player.

Should I use the IL2CPP or Mono version for mods?

Mono, the default Alternate branch type, which is what most modded players already use. Switch the server to Default branch (IL2CPP) only if a mod you need exists only for IL2CPP, and then everyone joins on the normal branch with the IL2CPP pack.

Why does my server crash after adding a mod?

Usually the mod is built for the other runtime, or it does not support the current game version. Remove it and check the MelonLoader log.

Skip the setup. Your own Schedule I server.

$7.49USD first month

Then $14.99/mo. Just trying it? $3.75 for 3 days

Keep reading