Skip to main content
← All Guides
Admin · 4 min read

How to Hot-Swap Plugins Without Downtime

Learn how to hot swap plugins on a minecraft server using PlugManX and safe procedures that keep players online during plugin changes.

What Hot-Swapping Means

Hot swapping is the practice of replacing a plugin on a running server without restarting. You unload the old version, drop in the new JAR, and load it, all while players stay connected. When done correctly, you can hot swap plugins on your minecraft server with zero downtime and minimal disruption. When done incorrectly, you corrupt data, leak memory, and create bugs that haunt you for weeks.

This guide covers when hot swapping is safe, which tools to use, and how to do it step by step.

The Tool: PlugManX

PlugManX is the maintained fork of the original PlugMan plugin. It provides commands to load, unload, reload, enable, and disable individual plugins at runtime. Install it once and it becomes your primary tool to hot swap plugins on your minecraft server.

Core commands:

/plugman list              # Show all loaded plugins
/plugman info MyPlugin     # Show plugin details, dependencies
/plugman unload MyPlugin   # Unload a plugin cleanly
/plugman load MyPlugin     # Load a plugin JAR
/plugman reload MyPlugin   # Unload then load (shortcut)

PlugManX handles the lifecycle correctly for most plugins: it unregisters commands, cancels scheduled tasks, removes event listeners, and closes the class loader before loading the new version. This is vastly safer than Bukkit's /reload command, which attempts to restart everything at once.

Step-by-Step Hot-Swap Process

Follow this exact sequence to hot swap plugins on your minecraft server safely:

  • Step 1: Back up the current plugin JAR and its config folder. Copy plugins/MyPlugin.jar and plugins/MyPlugin/ to a backup directory.
  • Step 2: Check dependencies with /plugman info MyPlugin. If other plugins depend on this one, they may break during the swap.
  • Step 3: Unload the plugin: /plugman unload MyPlugin. Watch the console for errors.
  • Step 4: Replace the JAR file in the plugins folder. Delete the old JAR, upload the new one.
  • Step 5: Load the new version: /plugman load MyPlugin. Check the server logs for startup errors.
  • Step 6: Test the plugin in-game immediately. Run key commands, check that features work.

If anything goes wrong at step 5 or 6, unload the new version, restore the backup JAR, and load the original. You are back to a working state without a restart.

Plugins You Should Not Hot-Swap

Some plugins are not safe to hot swap. Avoid live swapping these categories:

  • World generators: Custom terrain generators register with the server at startup and cannot be cleanly re-registered.
  • NMS plugins: Plugins that use internal Minecraft server code (net.minecraft.server) often hook into systems that PlugManX cannot safely detach.
  • Protocollib-dependent plugins: Plugins that modify packets can leave orphaned packet listeners that cause errors for every connected player.
  • Database-heavy plugins: Plugins with open database connections may not close them properly during unload, leading to connection pool exhaustion.
  • Core dependencies: Vault, PlaceholderAPI, and ProtocolLib are used by dozens of other plugins. Unloading them cascades failures across your entire plugin stack.

For these plugins, use a staging server to test the update, then schedule a full restart during a low-traffic window.

Hot-Swap vs. Reload vs. Restart

MethodDowntimeSafetyUse case
Per-plugin reload commandNoneSafestConfig changes only
PlugManX hot swapNoneSafe for most pluginsPlugin updates, JAR replacements
/reloadNoneUnsafeNever recommended
Full restart30-60 secondsSafestServer JAR updates, risky plugins

Always prefer per-plugin reload commands when available (see our safe reload guide). Use PlugManX to hot swap plugins on your minecraft server when you need to replace a JAR. Use a full restart when the change is too risky for live swapping.

Monitoring After a Hot-Swap

After every hot swap, monitor the server for 10 to 15 minutes. Watch for increasing memory usage (a sign of leaked class loaders), error spam in the console, and player reports of broken features. If you use Grafana monitoring, check the TPS and memory graphs for anomalies right after the swap. A clean hot swap shows no change in the metrics. A bad one shows a step-up in memory usage that never comes back down.

See a well-run server in action: Astroworld MC, IP play.astroworldmc.com, Java + Bedrock.

Related Tools & Resources

🔧

Minecraft Tools

Calculators, generators & server tools

🧱

Item Database

Browse all Minecraft items, stats & recipes

⚒️

Crafting Recipes

Visual crafting guides for every recipe