-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
- Bukkit-family servers (1.9–1.16): Java 8+
- Modern servers (1.17+), Folia, Fabric, Forge, NeoForge: Java 17+
- Building from source: Java 21+ (required by the NeoForge module toolchain)
Yes. The Bukkit build includes an automatic Folia scheduler bridge that detects Folia at runtime and switches to the region-threaded GlobalRegionScheduler. There is also a dedicated RedstoneReboot-Folia jar for explicit Folia deployments.
Use a valid Java ZoneId string such as Europe/London, America/New_York, or UTC. Short abbreviations like IST or EST are ambiguous and may not resolve correctly. Run /reboot status after startup to confirm the active timezone.
Yes. Edit restart-backends.properties and then run /reboot reload. The engine re-reads the backend configuration and re-initializes the active backend live.
When set to true in config.yml, RedstoneReboot reports anonymous usage statistics to bStats. This helps the development team understand which platforms and features are most used. You can opt out by setting it to false.
-
Plugin builds: Check that the plugin loaded by running
/plugins. Verifyplugin.ymlregistered therebootcommand. -
Mod builds: Confirm the dedicated server finished startup and the Brigadier command tree was registered. Check the server log for
RedstoneReboot command registered.
It runs a diagnostic that shows:
- The active restart backend and its verification state
- The detected server environment (Systemd, Docker, Pterodactyl, or generic)
- Any mismatches between your chosen backend and the detected environment
- Whether a lockout is currently active
Make sure you are running RedstoneReboot v1.3.3+, which includes null-safety fixes for MOTD compatibility. Earlier versions could fail silently when MOTD plugins requested placeholders during server-list pings before the server fully started.
Also verify that placeholders.enabled is set to true in config.yml and that PlaceholderAPI is installed.
See the full list on the Placeholders wiki page.
This means the backend you configured in restart-backends.properties does not match the environment RedstoneReboot detected. For example, selecting SYSTEMD while running inside a Docker container. Review the Backend Guide and adjust your active-backend value.
This is expected if your server is managed by an external process supervisor (systemd with Restart=always, Docker with restart: always, Pterodactyl panel, etc.).
Here's what happens behind the scenes:
-
ShutdownOnlyBackend.execute()returnsACCEPTED— the shutdown sequence runs normally - The server process stops gracefully
- Your hosting environment detects the exit and immediately starts a new process
So the server appears to restart even though RedstoneReboot only issued a shutdown. The doctor output correctly reports SHUTDOWN_ONLY because RedstoneReboot does not control the restart lifecycle — it relies on the external supervisor.
To confirm this is working as intended, check the Detected Env line in /reboot doctor. If it shows SYSTEMD, DOCKER, or PTERODACTYL alongside SHUTDOWN_ONLY, you have a healthy setup. Configure the matching backend in restart-backends.properties to make it official and suppress the SHUTDOWN_ONLY notice.
When a backend returns an uncertain result (e.g., a Pterodactyl API timeout), RedstoneReboot enters a temporary lockout period (lockout-duration-seconds in the backend config). During this window, new restart requests are blocked to avoid stacking conflicting attempts.
Set metrics-enabled: false under the advanced: section in config.yml. Alternatively, you can disable bStats globally through the bStats config file at plugins/bStats/config.yml.