Professional Minecraft Server Restart Management
Advanced server restart plugin with timezone support, performance monitoring, and rich integrations
- Multiple daily restarts with precise timing
- Global timezone support (Asia/Kolkata, UTC, America/New_York, etc.)
- Day-specific scheduling (weekdays, weekends, custom days)
- Intelligent countdown system with configurable warnings
- Real-time TPS tracking with automatic restart triggers
- Memory usage monitoring to prevent memory leaks
- Smart debug logging (every 5 hours to prevent spam)
- Emergency restart system for critical server conditions
- Multi-channel alerts: Chat messages, titles, action bars, sounds
- Customizable formatting with full color code support
- Player permission filtering for notification control
- Emergency alerts with distinct styling and priority
- PlaceholderAPI: 8+ placeholders for MOTDs, scoreboards, tab lists
- LuckPerms: Advanced permission system integration
- Paper/Spigot: Optimized for modern server software
- Developer API: Full API for other plugins to integrate
- Minecraft Server: Paper 1.19+ (Spigot compatible)
- Java Version: Java 17 or higher
- Optional: PlaceholderAPI, LuckPerms
- Download the latest release from GitHub Releases
- Place
DMZ-ReStart-x.x.x.jarin yourplugins/folder - Start your server to generate configuration files
- Configure the plugin in
plugins/DMZ-ReStart/config.yml - Reload with
/dmzrestart reloador restart your server
scheduled-restarts:
enabled: true
timezone: "Asia/Kolkata" # Your server timezone
times:
- "00:00" # Midnight
- "06:00" # Morning
- "12:00" # Noon
- "18:00" # Evening
days:
- "ALL" # Every day| Command | Description | Permission |
|---|---|---|
/dmzrestart |
Show plugin status | dmzrestart.use |
/dmzrestart now <seconds> |
Restart server immediately | dmzrestart.restart.now |
/dmzrestart schedule <seconds> |
Schedule a restart | dmzrestart.restart.schedule |
/dmzrestart cancel |
Cancel pending restart | dmzrestart.restart.cancel |
/dmzrestart reload |
Reload configuration | dmzrestart.config.reload |
/dmzrestart status |
Detailed server status | dmzrestart.status |
dmzrestart.admin- Full access to all featuresdmzrestart.notify- Receive restart notificationsdmzrestart.use- Basic plugin usage
Perfect for MOTDs, scoreboards, tab lists, and more!
| Placeholder | Output Example | Use Case |
|---|---|---|
%dmzrestart_next_restart% |
2023-12-25 18:00:00 Asia/Kolkata |
MOTD, Info displays |
%dmzrestart_time_until% |
2h 30m |
Scoreboards, Tab lists |
%dmzrestart_tps% |
19.8 |
Performance monitors |
%dmzrestart_memory% |
67.3% |
Server status displays |
%dmzrestart_status% |
Normal operation |
Status indicators |
# FeatherBoard config
board:
title: "&6&lServer Info"
lines:
- "&eNext restart: &c%dmzrestart_time_until%"
- "&eTPS: &c%dmzrestart_tps% &8| &eMemory: &c%dmzrestart_memory%"
- "&7Status: &c%dmzrestart_status%"monitoring:
enabled: true
tps-threshold: 18.0 # Restart if TPS drops below 18
memory-threshold: 85.0 # Restart if memory exceeds 85%
consecutive-checks: 3 # Require 3 bad readings
check-interval: 30 # Check every 30 secondsemergency:
enabled: true
tps-threshold: 12.0 # Critical TPS (immediate restart)
memory-threshold: 95.0 # Critical memory (immediate restart)
delay: 30 # Warning period before restart
emergency-cooldown-minutes: 5 # Prevent restart spam// Get plugin instance
DMZRestartPlugin plugin = (DMZRestartPlugin) Bukkit.getPluginManager()
.getPlugin("DMZ-ReStart");
// Schedule custom restart
plugin.getRestartManager().scheduleRestart(300, RestartReason.API, "MyPlugin");
// Monitor performance
double tps = plugin.getServerLoadMonitor().getLastTPS();
boolean healthy = plugin.getServerLoadMonitor().isHealthy();
// Listen for restart events
@EventHandler
public void onRestart(RestartEvent event) {
getLogger().info("Restart triggered: " + event.getReason().getDisplayName());
}- Debug messages appear every 5 hours (configurable) to prevent console spam
- Detailed performance summaries with uptime, player count, world count
- Emergency condition tracking and analysis
- Restart history and statistics
❌ Scheduled restarts not working?
- Ensure times are in ascending order (00:00, 06:00, 12:00, 18:00)
- Check timezone setting matches your server location
- Verify
scheduled-restarts.enabled: true
❌ Emergency restarts spamming?
- Update to latest version (includes spam protection)
- Check emergency thresholds aren't too sensitive
- Increase
emergency-cooldown-minutes
❌ Placeholders not working?
- Install PlaceholderAPI plugin
- Enable placeholders:
placeholders.enabled: true - Use
/papi reloadafter changes
🔍 Enable debug mode for detailed diagnostics:
general:
debug-mode: true
logging:
debug-logging: true✅ Professional Grade: Built for production servers with enterprise-level reliability
✅ Zero Spam: Smart logging and emergency cooldowns prevent console flooding
✅ Global Ready: Full timezone support for international servers
✅ Rich Integrations: Works seamlessly with PlaceholderAPI, LuckPerms, and more
✅ Performance Focused: Lightweight with async operations and optimized monitoring
✅ Developer Friendly: Full API with events and hooks for other plugins
✅ Actively Maintained: Regular updates with community-driven features
✅ Comprehensive Docs: Complete wiki with examples and troubleshooting
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 📖 Complete Documentation
- 🐛 Bug Reports & Feature Requests
- 💬 Community Discussions
- 🔗 DemonZ Development Website
This project is licensed under the MIT License - see the LICENSE file for details.