Sprache

ZRestart

ZRestart

Modrinth

Lightweight Paper-only auto-restart scheduler for Minecraft 26.x with multi-channel countdowns and full message customization.

17 Downloads aktualisiert 1mo ago
Modrinth
Paper 26.1 – 26.1.2 ManagementOptimizationUtility

ZRestart

Lightweight Paper-only auto-restart scheduler for Minecraft Java 26.x.

ZRestart schedules native Bukkit.restart() calls, broadcasts configurable countdown warnings across chat, title, boss bar, and sound, and gives admins full manual control — with every player, admin, and console-facing message exposed in messages.yml. Built specifically for Paper 26.x and Java 25+, with no legacy version baggage.


Why ZRestart

  • Paper 26.x-first. No compatibility shims for old API versions. Lean codebase targeting the current Paper API directly.
  • Familiar schedule format. Uses DAY;HOUR;MINUTE[;REASON] entries that any experienced admin will recognize on sight.
  • Real timezone handling. IANA timezone IDs with proper DST gap/overlap behavior and a configurable fallback timezone.
  • Atomic reload. A broken config never breaks the plugin — ZRestart keeps the previous valid runtime if a reload fails.
  • Versioned configs with automatic migration. Adds new keys on plugin updates, preserves your customizations, and saves timestamped backups before any rewrite.
  • Restart-script diagnostic. Detects unsafe Bukkit.restart() setups on startup and warns you, so a "restart" doesn't silently become a "stop."
  • Public read-only API for other plugins to query restart state and trigger start/stop programmatically.

Features

⏱️ Scheduling

  • Automatic restart scheduling using Daily or weekday entries (DAY;HOUR;MINUTE[;REASON])
  • Manual restart countdowns: /zrestart now <interval> [reason]
  • Live delay and cancel: /zrestart delay <interval> and /zrestart stop
  • Flexible interval formats: 30m, 1:30, 3600, 1h 30m, and more

📢 Warnings

  • Four channels: chat, title, boss bar, sound — all driven from one shared warning list
  • Per-warning sound entries with configurable sound name, category, volume, pitch
  • Boss bar with configurable color, overlay, progress, and show-from threshold
  • Player title popups when manual restarts are scheduled or pending restarts are cancelled

⚙️ Configuration & reliability

  • Full MiniMessage support alongside legacy & color codes
  • Configurable timezone with DST gap/overlap handling and fallback timezone
  • Versioned config.yml and messages.yml with automatic schema migration
  • Timestamped backups before any auto-update rewrite (config.yml.bak-YYYYMMDD-HHMMSS)
  • Atomic reload — keeps the previous valid runtime config if a reload fails
  • Startup diagnostic for unsafe Bukkit.restart() setups
  • Tab-completion for subcommands, intervals, and configured reasons
  • Unit tests covering parser, scheduler, warnings, and reload paths

🔌 Integration

  • Public read-only API exposing manual + automatic restart state and start/stop triggers
  • Optional pre-restart console commands with CONTINUE or ABORT failure behavior
  • Soft PlaceholderAPI integration for player-bound messages
  • Attempts player and world saves before restart

Use cases

  • Daily or weekly automated maintenance restarts on a fixed schedule
  • One-off manual restarts for hotfixes, plugin reloads, or emergency maintenance
  • Network-wide synchronized restarts using a shared timezone configuration
  • Running pre-restart commands (backups, save-all, broadcasts, kicks, webhook triggers) before every restart
  • Showing countdown warnings through any combination of chat, title, boss bar, and sound

Pre-restart commands — flexible by design

ZRestart doesn't hardcode behaviors like kicking players or skipping empty restarts. The pre-restart commands section lets you run any console commands in sequence before the restart fires:

pre-restart-commands:
  enabled: true
  failure-behavior: CONTINUE
  commands:
    - "save-all"
    - "kick @a Server restarting"
    - "broadcast See you in 30 seconds!"

Set failure-behavior: ABORT to cancel the restart if any command fails.


Commands

| Command | Description | Permission |
|---|---|---|
| /zrestart | Show help | zrestart.time |
| /zrestart time | Show active or next scheduled restart status | zrestart.time |
| /zrestart now <interval> [reason] | Start a manual restart countdown | zrestart.admin |
| /zrestart delay <interval> | Delay the active countdown | zrestart.admin |
| /zrestart stop | Cancel the active countdown | zrestart.admin |
| /zrestart reload | Reload config.yml and messages.yml | zrestart.reload |

Permissions

| Node | Default | Allows |
|---|---|---|
| zrestart.time | true | /zrestart and /zrestart time |
| zrestart.admin | op | Manual now / delay / stop |
| zrestart.reload | op | Config and message reload |


Requirements

  • Paper 26.1.2+
  • Java 25+
  • (Optional) PlaceholderAPI 2.12.2+ for placeholder support in player-bound messages

Installation

  1. Drop ZRestart.jar into your server's plugins/ folder.
  2. Start the server once so config.yml and messages.yml generate.
  3. Confirm spigot.yml has a valid settings.restart-script.
  4. Edit plugins/ZRestart/config.yml for schedules, channels, timezone, and pre-restart commands.
  5. Edit plugins/ZRestart/messages.yml for all user-facing text.
  6. Run /zrestart reload after config changes.

Scope

ZRestart is intentionally focused. It does not support:

  • Spigot, Folia, Velocity, BungeeCord, or any proxy software
  • Minecraft versions older than 26.x
  • A ZRestart PlaceholderAPI expansion (it consumes placeholders, doesn't expose its own)
  • Hardcoded player-kick or skip-empty-server logic — handled flexibly through pre-restart commands instead

Bukkit.restart() requires a properly configured settings.restart-script in spigot.yml. ZRestart will warn you on startup if this looks misconfigured.



Built and maintained by Zenologia.

Versionen

Kein Versionsverlauf verfügbar. Nutze den Download-Button für die neueste Version von der Quelle.

Kommentare 0

Noch keine Kommentare. Sei der Erste, der seine Meinung teilt.

Herunterladen ZRestart

Dateien werden direkt von der Originalquelle bereitgestellt. Modgrid hostet oder verändert sie nicht.