1 Pick the right mod and version
Schedule I mods come from a handful of sources. The most reliable today are:
- GitHub releases — most mod authors publish here. Look for the
.dllin the Assets section of the latest release. - Nexus Mods — Schedule I has a small but growing presence on Nexus, with file-versioned downloads.
- The mod author's Discord — some smaller mods only post to Discord. Use only links from the official author account.
Server-side vs client-side mods
Most Schedule I gameplay mods fall into one of three categories — this matters because it determines who needs to install them:
- Server-only: Changes things the server simulates — spawn rates, NPC behaviour, economy. Only the server needs the mod.
- Client-only: Cosmetic, UI, HUD, etc. Each player installs it themselves. The server doesn't need a copy.
- Networked / both: Adds new items, new effects, or changes shared state. Every player AND the server needs the matching version, or the join will fail.
The mod's README almost always says which category it falls into. When in doubt, install on the server and try to connect — if you see a version-mismatch error, it's networked.
2 Stop the server
Before uploading anything, stop the server from your Solace panel. This:
- Releases file locks on the
Mods/folder - Prevents the running game from caching the old version of a mod you're replacing
- Avoids partial writes if your SFTP connection drops mid-transfer
3 SFTP into the server
Open your SFTP client and use the credentials from your Solace panel's server overview:
Host: [shown in panel] Port: [shown in panel — usually 2022 or a custom port] Username: [shown in panel] Password: [your panel password OR an SFTP-specific password] Protocol: SFTP (NOT FTP)
If you've never done this before, our SFTP guide walks through it screenshot-by-screenshot.
4 Drop the mod into Mods/
Once connected, you'll land in the server's root folder. The Schedule I install looks roughly like this:
├── Mods/ ← the .dll goes here
├── UserLibs/ ← dependency .dlls go here
├── MelonLoader/ ← don't touch unless you know why
├── UserData/ ← mod configs land here at runtime
├── Schedule I.exe
└── ...
- Open the
Mods/folder. - Drag the mod's
.dllinto the folder. - If the mod readme says it requires extra
.dlldependencies, upload those intoUserLibs/— not Mods. Mixing them up is the most common reason a mod fails to load.
Mods/ are loaded as MelonLoader plugins (real mods with hooks into the game). Files in UserLibs/ are just libraries that mods use — helper assemblies, shared utilities, etc. A mod that depends on a library will silently fail if the library isn't there.5 Start the server & watch the console
Back in the Solace panel, hit Start. As the server boots, watch the console output. You're looking for two things:
[MelonLoader] Loading Mods from path 'Mods/' [YourMod 1.2.0] Initialized.
The first line confirms MelonLoader is scanning. The second confirms your mod loaded — the version number and exact wording vary per mod, but if you see the mod's name show up without an exception/error stacktrace, you're set.
[Error] FileNotFoundException means a dependency is missing from UserLibs/. System.MissingMethodException usually means a MelonLoader version mismatch. InvalidCastException or BadImageFormatException means a corrupt download — redownload from source.6 Distribute the mod to players (if networked)
If the mod changes networked state, every player who wants to join needs the same mod installed in their own Schedule I install folder, in the same Mods/ path. Workflow:
- Share the mod's release page URL in your Discord (don't redistribute the file yourself — sends users to a reliable source).
- Each player extracts the
.dllinto theirSchedule I/Mods/folder (similar to the client mod install guide's steps). - Everyone launches the game and connects.
7 Common errors & fixes
"MelonMod load error" / mod doesn't appear in console
- Confirm the
.dllis inMods/(notUserLibs/or the root folder) - Verify the file is the right MelonLoader/Mono target — some mods publish separate Mono and Il2Cpp builds, similar to the dedicated-server mod itself
- Check that the file finished uploading (sometimes SFTP shows "complete" before flush)
Server starts, but kicks every player on join
- You probably have a networked mod installed server-side but no players have the client copy
- OR a player has a version of the mod that's older or newer than the server's
- Test by removing the mod from the server, restarting, and trying to join — if joins succeed, the mod is the culprit
FileNotFoundException for a DLL name you don't recognise
- The mod has a dependency the readme didn't call out
- The missing DLL goes in
UserLibs/— you can often find it on the mod's GitHub releases page in a separate asset - Some libraries are shared (e.g.
Harmony.dll) — if you have it already, you don't need to upload it twice
Mod loads but doesn't do anything in-game
- Some mods require a config file. Look in
UserData/after the first server boot — the mod may have generated a default config you can customise - Make sure you're testing in a context the mod actually affects (an economy mod won't show effects in the main menu)
- Some mods need to be enabled via in-game commands or a panel — check the readme
Server won't start at all after a mod install
- The mod crashed MelonLoader's bootstrap. Remove the mod via SFTP, restart, confirm the server boots clean
- If the server still won't start without the mod, you likely deleted or corrupted a system file. Open a ticket and we'll redeploy the base install for you
8 Stuck?
Open a ticket from your billing panel or hop into our Discord with:
- The mod's name + version + download link
- The console output from the failed start (or a screenshot)
- What you've already tried
We've debugged a lot of these and can usually point you at the missing piece within an hour.