🔄 Restart System

Restart System provides automatic and manual server restarts with configurable schedules, player warnings, and graceful shutdown.

To enable: set enableRestarts: true in general.json. Configure schedules in restart.json.

Jump to

⏰ Restart types

Voidium supports three restart scheduling modes:

Type Description
FIXED_TIME Restart at specific times of day (e.g. 06:00, 18:00). Default mode.
INTERVAL Restart every X hours after the last restart.
DELAY Restart X minutes after server startup.

Only one type is active at a time — set via restartType in the config.

⚙️ Configuration

File: config/voidium/restart.json

Schedule

Field Type Default Description
restartType enum FIXED_TIME FIXED_TIME, INTERVAL, or DELAY
fixedRestartTimes array ["06:00", "18:00"] Times of day to restart (HH:MM, 24-hour). Only used with FIXED_TIME.
intervalHours int 6 Hours between restarts. Only used with INTERVAL.
delayMinutes int 60 Minutes after startup. Only used with DELAY.

Messages

Field Type Default Description
warningMessage string &cServer restart in %minutes% minutes! Warning broadcast. Placeholder: %minutes%
restartingNowMessage string &cServer is restarting now! Final message before shutdown
kickMessage string &cServer is restarting. Please reconnect in a few minutes. Disconnect screen text

Example config

{
  "restartType": "FIXED_TIME",
  "fixedRestartTimes": ["06:00", "18:00"],
  "intervalHours": 6,
  "delayMinutes": 60,
  "warningMessage": "&cServer restart in %minutes% minutes!",
  "restartingNowMessage": "&cServer is restarting now!",
  "kickMessage": "&cServer is restarting. Please reconnect in a few minutes."
}

⌨️ Commands

Command Permission Description
/voidium restart <minutes> OP Schedule a manual restart in 1–60 minutes
/voidium cancel OP Cancel a pending manual restart

Manual restarts use the same warning/kick messages as automatic restarts.

⚠️ Warnings

Before a restart executes, Voidium sends warning messages at configured intervals. The warningMessage is broadcast with the %minutes% placeholder replaced by remaining time.

When the countdown reaches zero:

  1. restartingNowMessage is broadcast
  2. All players are kicked with kickMessage
  3. The server shuts down
For automatic external restart loops, use your hosting panel's auto-restart feature or a wrapper script that relaunches the server after exit.