Your server
restarts itself.
TPS drops. RAM spikes. Scheduled times. SmartRestart watches your server 24/7 and handles every restart automatically - with Discord alerts and a full countdown.
Everything you need to automate your server.
No external dependencies. Zero config to get started. Runs on Paper, Spigot, and Purpur. Minecraft 1.16+ with Java 17+.
Scheduled restarts
Set exact times with optional day-of-week filters. Multiple schedules supported: daily, weekdays, or any custom combination.
TPS monitoring
Tracks TPS every second. Restarts only after sustained low performance, not on brief spikes. Configurable threshold and duration.
RAM monitoring
Watches JVM heap usage. Separate warning and restart thresholds. Consecutive-seconds guard prevents premature triggers.
Player-aware
Automatic restarts postpone when too many players are online. Configurable retry interval. Manual /sr now always bypasses.
Discord webhooks
Rich embeds for every event: restart scheduled, TPS drops, RAM spikes, maintenance toggled. Per-event on/off, colors, and copy.
Maintenance mode
Pause all automatic restarts instantly with /sr maintenance. Manual restarts still work. Players and Discord are notified.
Pre-restart commands
Run any console commands before shutdown: save-all, announcements, cleanup. Manage live with /sr precommand.
Empty-server auto-restart
When the server sits empty for N minutes, restart quietly to free memory. Zero-impact maintenance while nobody's watching.
Up and running in 3 minutes.
No complicated setup. No learning curve. Install, configure, done.
Install the plugin
Drop SmartRestart.jar into your Paper, Spigot, or Purpur server's plugins folder and restart. That's it: no configuration required to get started.
Configure once
Open config.yml and set your restart times, TPS/RAM thresholds, Discord webhook, and message styles. Reload in-game with /sr reload.
It runs itself
SmartRestart monitors your server 24/7. Players get countdown warnings in chat and action bar. You get Discord notifications for every event.
Know what's happening.
Before it's a problem.
SmartRestart posts rich Discord embeds for every server event. Each event has its own toggle, color, title, and description - all in config.yml.
- Restart triggered, imminent, or cancelled
- TPS drops & RAM spikes with live values
- Maintenance mode changes
- Custom bot username, avatar, and footer
One file.
Total control.
Everything lives in config.yml. Reload in-game with /sr reload - no server restart needed.
Player messages use MiniMessage formatting - full color and style control over every piece of text players see in chat and action bar.
scheduled: enabled: true restarts: - time: "04:00" days: daily - time: "16:00" days: [MONDAY, WEDNESDAY, FRIDAY, SATURDAY, SUNDAY] empty-server: enabled: true empty-minutes: 10
Frequently asked questions
Everything server owners ask before installing. Didn't find your answer? Ask on Discord.
SmartRestart works on Minecraft 1.16 through the latest 1.21.x release. It requires Java 17 or newer.
Yes. Paper is the primary target and gets the richest API support, but SmartRestart also runs on Spigot and Purpur without modification. Folia support is on the roadmap.
It's free forever. No premium tier, no paid features, no telemetry, no ads. Every feature on this page is included for every user.
No. SmartRestart was built performance-first - TPS and RAM monitoring run on a lightweight async schedule, not on the main thread. The plugin's own CPU and memory footprint is negligible even on large networks.
Yes. Discord is optional. Disable it in config.yml and SmartRestart still handles scheduled restarts, TPS/RAM-based restarts, countdowns, and in-game alerts.
Not by itself - SmartRestart only triggers restarts when you tell it to. If you're replacing another auto-restart plugin, remove it first to avoid double restarts.
Every message is fully configurable with MiniMessage formatting - full color, gradients, clickable/hoverable text, and placeholders for time, reason, and threshold values. Live-reload with /sr reload, no server restart needed.
Join our Discord at discord.gg/XxkRG9kYS3. Bug reports, feature requests, and configuration questions are all welcome - we answer there first.