Running a Minecraft server smoothly requires periodic maintenance. Over time, as players explore distant terrain, spawn entities, and generate redstone activity, Java's memory pool accumulates residual data.
Regular server restarts are the single most effective way to keep your server running at a solid 20 TPS (Ticks Per Second). This guide will cover why restarts matter, the ideal restart frequency, and why you should never use the /reload command on a production server.
Why Are Server Restarts Necessary?
Even the most optimized Paper or Purpur servers gradually suffer from performance degradation over time due to how Java handles memory:
- JVM Garbage Collection (RAM Cleanup): Java periodically cleans up unused memory, but heavy chunk generation and complex plugins leave behind uncollected objects (memory leaks) that gradually bloat RAM usage.
- Unloaded Chunks & Entities: Sometimes chunks or mob AI routines remain stuck in memory long after a player has left the area. A restart completely flushes the world cache.
- Plugin Stability: Long-running plugin tasks can occasionally hang or slow down. A restart refreshes all active background threads and scheduled tasks.
Recommended Restart Schedules
The ideal restart frequency depends on your server software, player count, and whether you run mods or plugins:
| Server Type | Recommended Restart Frequency | Best Time to Schedule |
|---|---|---|
| Standard SMP (Vanilla / Paper) | Once every 24 hours | Off-peak hours (e.g. 4:00 AM) |
| High-Traffic / Network (50+ Players) | Every 12 hours (Twice daily) | Early morning & mid-afternoon |
| Heavy Modpacks (Forge / Fabric) | Every 6 to 12 hours | Periodic intervals |
| Mini-Game / Lobby Server | Every 12 to 24 hours | Daily maintenance window |
Pro-Tip: You can easily set up automatic scheduled restarts directly inside your Cubes Hosting Game Panel under the Schedules tab! This lets you schedule daily restarts at 4:00 AM automatically, complete with warning messages broadcast to online players beforehand.
⚠️ Why You Should NEVER Use /reload on Production Servers
When installing a new plugin or tweaking a config file, it's tempting to type /reload (or /reload confirm) in chat. Do not do this!
The /reload command forces the Java Virtual Machine to restart all plugins in-place without restarting the server process itself. This creates catastrophic issues:
1. Severe Memory Leaks: Most plugins are not designed to clean up their memory allocations during an in-place reload. Using
/reloadforces the server to load a second copy of every plugin into RAM alongside the old copy, causing instant RAM spikes and eventual server crashes.
2. Database & Data Corruption: Plugins connected to databases (like MySQL or SQLite) often fail to close database connections properly during
/reload. This can corrupt player data, inventories, or plugin database tables.
3. Broken Plugin Listeners & Duplication Bugs: Event listeners can get registered twice, resulting in double-spawns, duplicated item drops, or broken command execution.
What to do instead of /reload?
- For a single plugin: Use that specific plugin's built-in reload command (e.g.
/luckperms reload,/essentials reload, or/ess reload). These commands only reload config text files safely. - For new plugins or global changes: Perform a proper, full server restart (
/stopthen start).
Conclusion
Scheduling a simple 24-hour automatic restart is the easiest way to ensure your server maintains 20 TPS, stays crash-free, and delivers a smooth experience for your players. Just remember to avoid /reload, use your Game Panel schedules, and your server will stay healthy for months to come!
