Install plugins on a compatible plugin server, such as Paper, and install mods on the loader required by the mod or modpack, such as Fabric. Match the Minecraft version and dependencies, stop the server before changing files, and keep a complete backup. A .jar filename does not tell you which server can run it.
Choose the right installation path
| Package | Destination | Compatibility checks |
|---|---|---|
| Paper/Bukkit/Spigot plugin | plugins directory on a supported plugin server | Game/server version, dependencies and permission setup |
| Fabric mod | mods directory on a Fabric server | Minecraft and loader versions, required API/mod dependencies, server support |
| Forge/NeoForge mod | Its supported loader’s server installation | Exact pack/loader requirements; not interchangeable with Fabric |
| Complete modpack | Pack author’s server distribution | Client/server version agreement and the included startup procedure |
If you are choosing software first, read Paper vs Fabric. Do not install a hybrid server just to combine incompatible packages without understanding its support and world-compatibility limitations.
1. Prepare a reversible change
- Download from the project’s legitimate distribution and read its release notes. Plugins and server mods execute code with access to the service’s files and credentials.
- Record the current game, server, loader and Java versions. Check the extension’s supported versions and required dependencies.
- Stop cleanly and back up worlds, extension data and configuration. Include external databases if the extension uses them.
- Prefer a private test copy for a major change. Keep the previous package and its matching data; avoid retaining two versions in the active loading directory.
2A. Install a Paper-compatible plugin
Upload the plugin JAR into the server root’s plugins directory, together with its required compatible dependencies. Start the server and read logs/latest.log. Use the console plugins command, or /plugins in game with appropriate permission, to check recognition. A listed plugin still needs a functional test; its own configuration or database connection can fail later.
If the plugin creates configuration on first start, stop again before editing it unless the project explicitly supports another workflow. Set only the required permissions and test with a normal player account. Avoid treating a global reload as a substitute for a controlled restart.
2B. Install a Fabric mod or server pack
First establish a working Fabric server for the selected Minecraft version. Place compatible server-supported mods and their required dependencies in mods. Many mods require Fabric API, but install the dependency set documented for your particular release. Do not copy a whole client mods folder onto the server: client-only packages can fail in a server environment.
For a modpack, use its server pack when supplied. Give players the matching client release and record any permitted differences. A server-only utility and a content mod have different client requirements; check each project rather than requiring every client to mirror the server directory blindly.
3. Diagnose errors before adding anything else
| Evidence | Next check |
|---|---|
| Package is not detected | Correct active directory, file type and archive nesting |
| Missing dependency | Exact named dependency and compatible release |
| Unsupported class/runtime error | Java used by the actual server process |
| Client cannot join after a mod change | Client/server game version, loader, required mods and configuration |
| Server boots but feature is unavailable | Extension logs, permissions, database connection and project-specific setup |
Preserve the first relevant error and the full surrounding stack trace. Adding several more packages makes the failure harder to isolate. Redact secrets before sharing logs, and include the exact versions rather than describing them as latest.
4. Test the feature and its rollback
- Exercise the feature with a test player, including permission-denied behavior where relevant.
- Check the existing world, dimensions and persistent data. Save, stop and restart to verify persistence.
- Observe representative gameplay for new errors or performance regressions.
- If the change fails, stop and restore the matching pre-change package, configuration, world and database state. Removing a content mod alone can leave a world missing required data.
Use server requirements for runtime checks and Minecraft migration when moving an existing installation. Before comparing Minecraft hosting plans, list the software, dependencies and file access your setup needs.
Sources and references
Hosting documentation. The original publication date was not recorded; the maintained update date is shown above.
Related articles
- Paper vs Fabric: Which Minecraft Server Software Should You Use?Choose between the plugin and mod ecosystems by checking the features, client requirements and world compatibility your community needs.3 min read
- Minecraft Java Server Requirements: Java, CPU, RAM and StorageMatch the runtime to the server version, then size resources around world activity and recovery needs instead of a fixed player-per-gigabyte rule.4 min read
- How to Migrate a Minecraft Server Without Losing Your WorldMove the same server version first, verify a private restore, then cut over with a clear rollback point for worlds, player data and databases.4 min read
