Minecraft mods: how to install them on a server
Learn how to install Minecraft mods on a PLAYERTICK server with the console, file manager, SFTP, backups, loader files, startup checks, and practical fixes for common version and dependency errors.

Installing Minecraft mods on a Java Edition server is mostly a version-matching job: the game version, the mod loader, and every mod file all need to agree. If you are setting up a modded world on PLAYERTICK, you can do everything from the standard panel tools you already have: the console, file manager, SFTP, backups, logs, and startup settings.
Prerequisites
Before you change anything, make sure you have:
- Access to the panel for your server
- Permission to use the console, file manager, and ideally SFTP
- Admin-level access if other subusers exist
- A current backup, or enough storage to create one before you start
- The correct Minecraft Java Edition server version in mind
- A matching mod loader, usually Fabric or Forge, for that exact game version
- Only server-compatible mod files; client-only mods should stay on player PCs
- Access to
server.properties,logs/latest.log, and the server root directory - Awareness of your assigned server port in the panel allocation; the vanilla default is
25565 - Enough memory in your startup settings for the mod count you plan to run
- Optional: a database only if a specific mod explicitly requires one; most Minecraft mods do not
Step 1 — Match versions and choose a loader
The most common reason mods fail is a mismatch between:
- The Minecraft version
- The loader version
- The mod version
If one mod says it needs 1.20.1 Fabric, you should not expect it to load on 1.20.4 or on Forge. The same goes for libraries and APIs. On Fabric, many server-side mods also require Fabric API. On Forge, some mods depend on other library mods as well.
A good rule is to build a small compatibility checklist before you upload anything:
- Exact Minecraft version, such as
1.20.1 - Loader family: Fabric or Forge
- Loader build that matches that version
- Every mod jar built for that same combination
- Any required dependencies listed by the mod author
If you are still deciding where to host your world, the Minecraft server page on PLAYERTICK is the relevant starting point for the same panel-based workflow described here.
Also keep the server type straight:
- Mods go in
mods/ - Plugins go in
plugins/ - A vanilla or plugin-only server will not load mods just because you upload jar files
- A modded server loader is required before anything in
mods/can work
Step 2 — Back up the current server
Do not install or remove mods on a live world without a backup. World corruption is not guaranteed, but it is possible, especially when you remove world-generation or item-adding mods.
From the server console, save the world first:
save-all flush
stop
After the server stops, back up these paths and files:
world/world_nether/world_the_end/server.propertiesops.jsonwhitelist.jsonbanned-players.jsonbanned-ips.jsonusercache.jsonmods/config/
If your panel offers backups, create one there. If not, download the files through SFTP. For large modpacks, SFTP is usually easier than a browser upload.
This is also the safest time to note your current startup target. If you need to roll back, you want both the files and the startup configuration ready.
Installing Minecraft mods
Once your versions are matched and your backup is done, the actual install is straightforward.
1. Upload the correct server loader files
A modded server needs the server-side loader files, not just the mods themselves. That usually means one of these routes:
- Upload a prepared server pack from the modpack author
- Upload the server files generated by the loader you chose
- If your server already uses Fabric or Forge, keep that loader and only add compatible mods
Be careful not to upload a client export and assume it is a working server pack. Client packs often include launcher metadata that does not help on a dedicated server.
2. Put mods in the right folder
Server-side mod jar files belong in:
mods/
If the folder does not exist after the loader files are in place, create it. Then upload only the relevant .jar files. Do not unzip individual mod jars.
Shared configuration files usually end up in:
config/
Some mods create their own config files on first boot. That means your first start is often a test run to generate defaults.
3. Point startup at the modded launcher
If the panel exposes the startup command, the final jar target must be the modded server launcher, not the old vanilla jar. The command format is typically:
java -Xms1G -Xmx4G -jar loader-launcher.jar nogui
Replace loader-launcher.jar with the actual file your loader or server pack provides. Two practical notes matter here:
- Do not set
-Xmxhigher than the memory limit assigned to the server - If the server pack ships its own launcher jar, use that exact filename
If your panel manages the startup command for you and only lets you change a jar name or startup variable, update that value instead of inventing a new command.
4. Keep config and content separate
Use this structure as your mental model:
mods/= mod jarsconfig/= generated or edited mod settingslogs/latest.log= boot and error outputcrash-reports/= crash files when the server hard-fails
That separation makes troubleshooting much faster.
Step 3 — First start and confirm core settings
Start the server and watch the console closely. The first launch may take longer than a normal vanilla boot because the loader and mods may generate new files.
After the first successful start, review server.properties. For a basic modded server, these keys are worth checking:
server-port=25565
online-mode=true
enable-rcon=false
rcon.port=25575
What they mean:
server-port=25565is the default Minecraft Java server port. If your panel allocation uses a different port, setserver-portto that assigned value.online-mode=trueis the recommended default for normal public servers.enable-rcon=falseis the default. Leave it disabled unless you specifically need remote console access.rcon.port=25575is the default RCON port if RCON is enabled.
After editing server.properties, save the file and restart the server.
At this stage, also confirm that the loader created or recognized these paths:
mods/config/logs/world/
If the server starts but no mods appear to load, the usual problem is that the startup command still points at a vanilla jar.
Step 4 — Read logs and fix load errors
For modded servers, logs/latest.log is your main source of truth. When the console scrolls too quickly, open that file in the file manager or download it with SFTP.
Work through failures in this order:
Wrong game version
If the server is 1.20.1 and a mod jar was built for another version, remove that mod and replace it with a matching one.
Wrong loader
A Fabric mod will not load on Forge, and a Forge mod will not load on Fabric.
Missing dependency
Some mods require a library or API mod. If the log says a dependency is missing, upload that dependency jar into mods/ and restart.
Client-only mod on the server
Performance HUDs, UI changes, keybind mods, and many visual mods are often client-side only. They usually do not belong on a dedicated server.
Duplicate or outdated jars
If you uploaded two versions of the same mod, or kept an old jar after an update, the server may fail or behave unpredictably. Keep one version only.
Mod removed from an existing world
If you remove a mod that added blocks, items, biomes, or dimensions, expect warnings, missing content, or world issues. Restore from backup if needed.
If you need a clean reference point for your server tools and general panel workflow, the main PLAYERTICK site covers the hosting context without changing any of the generic steps above.
Step 5 — Update and maintain a modded server
A stable modded server comes from small, reversible changes.
Use this maintenance routine:
- Run
save-all flush - Run
stop - Create a backup
- Upload the new mod or updated jar
- Remove the old version if applicable
- Start the server
- Read
logs/latest.log - Test with one player account before announcing the change
A few practical recommendations help a lot:
- Update in small batches, not 20 mods at once
- Keep the Minecraft version pinned until the whole mod set supports a move
- Read changelogs for worldgen or dimension mods before updating
- Use SFTP for large uploads instead of many browser uploads
- Use schedules for regular restarts or backups if your server benefits from them
- Watch resource graphs after updates; modded servers often reveal RAM or CPU pressure only after players explore new chunks
For modpacks, prefer the server pack from the pack author. It is usually safer than trying to rebuild the pack manually from a client install.
Troubleshooting
| Problem area | What to check | Practical fix |
|---|---|---|
| Console output | The boot sequence stops immediately or shows missing classes/dependencies | Read logs/latest.log, remove the last added mod, and re-add required dependencies one at a time |
| Logs | logs/latest.log or crash-reports/ exists after a failed boot | Use the newest file to identify the exact mod name, then match version and loader |
| Configs | A mod starts but behaves incorrectly | Stop the server, edit the mod's file in config/, save, and restart |
| Permissions | Another user changed files but cannot manage the server fully | Confirm the right admin or subuser access in the panel before troubleshooting further |
| Backups | The world loads with missing blocks or entities after a change | Restore the latest good backup before testing more removals |
| Restarts | Changes do not appear after upload | Fully restart the server; many mods are only loaded during startup |
| Startup variables | The server boots vanilla and ignores mods/ | Point the startup target at the modded launcher jar instead of the vanilla jar |
| Allocations | Players cannot connect after a move or reinstall | Verify the panel's active allocation and make server-port match it |
| Ports | Connection fails even though the server is online | Confirm server-port is correct; the default is 25565 but your assigned allocation may differ |
| Databases | A mod mentions SQL storage or credentials | Create a database only if that mod's documentation explicitly requires it; most mods do not |
| Schedules | Frequent lag or stale worlds before backups | Add scheduled restarts or backup jobs at low-traffic times |
| Resource usage | High memory, CPU spikes, or long chunk-generation lag | Reduce mod count, avoid oversized view settings, and watch the panel's resource graphs after restart |
| Uploads | Large jars fail in the browser uploader | Use SFTP, then verify the file size matches the original download |
| Mod/plugin mismatch | Files were uploaded to plugins/ or a plugin jar was dropped into mods/ | Put plugins in plugins/, mods in mods/, and use the correct server software for each |
| Missing dependencies | A mod loads only with an API or library mod | Upload the required dependency jar to mods/ and restart |
| Missing EULA | The server stops instantly on first boot | Set eula=true in eula.txt |
| Reinstall option | The file tree is too broken to recover cleanly | Restore from backup first, or reinstall and then upload a known-good server pack |
Next steps
- Build a small test set of mods first, then expand after one clean boot
- Keep a dated backup before every update or removal
- Document your current loader, Minecraft version, and mod list in a text file in the server root
- Review other server guides from PLAYERTICK if you want adjacent setup and admin help
- After the server is stable, add whitelist, operator, and schedule rules for routine management
