Schedules and Auto-Restarts

How to set up automatic restarts, scheduled backups, and custom commands using the schedule system on Witchly.host.

Schedules and Auto-Restarts

The schedule system lets you automate repetitive server tasks — restarts, backups, and custom commands — so you do not have to be online to keep your server running smoothly. This is especially important for games like Palworld and Rust where periodic restarts help manage memory and maintain performance.

Accessing the Schedule System

  1. Log in to Dashboard and select your server
  2. Click Schedules in the sidebar
  3. You will see a list of any existing schedules, or an empty list if none have been created yet

Creating a Schedule

Click Create Schedule to set up a new automated task.

Schedule Fields

  • Name — A descriptive label for the schedule (e.g., “Daily Restart”, “Nightly Backup”, “Morning Wipe Warning”)
  • Minute — Which minute of the hour to run (0-59)
  • Hour — Which hour of the day to run (0-23, using 24-hour format)
  • Day of Month — Which day of the month (1-31), or * for every day
  • Month — Which month (1-12), or * for every month
  • Day of Week — Which day of the week (0-6, where 0 is Sunday), or * for every day
  • Enabled — Toggle the schedule on or off without deleting it

Understanding Cron Syntax

Schedules use cron timing, which may look intimidating at first but is straightforward once you understand the pattern. Each time field accepts:

  • A specific number: 4 means “at 4” (e.g., hour 4 = 4:00 AM)
  • An asterisk: * means “every” (every minute, every hour, etc.)
  • A list: 0,30 means “at 0 and 30” (e.g., minutes 0 and 30)
  • An interval: */6 means “every 6th” (e.g., every 6 hours)

Common examples:

ScheduleMinuteHourDay of MonthMonthDay of Week
Every day at 4:00 AM04***
Every 6 hours0*/6***
Every 12 hours (midnight and noon)00,12***
Every day at 3:30 AM303***
Every Monday at 6:00 AM06**1
Every hour0****

All times are in UTC. Convert from your local timezone when setting up schedules. For example, 4:00 AM UTC is 9:30 AM IST or 11:00 PM EST (previous day).

Adding Tasks to a Schedule

After creating a schedule, you need to add one or more tasks that define what happens when the schedule triggers. Click on a schedule to open it, then click New Task.

Each task has:

  • Action — What to do (see below)
  • Time Offset — Delay in seconds before this task runs (relative to the previous task). Use this to chain tasks with delays between them.

Available Actions

Send Command — Sends a console command to the server. The exact commands available depend on your game. Common uses:

  • Broadcasting a warning message to players before a restart
  • Running game-specific admin commands

Send Power Action — Controls the server’s power state:

  • Start — Starts the server if it is stopped
  • Restart — Restarts the server (stop + start)
  • Stop — Stops the server
  • Kill — Force-kills the server process (use only as a last resort)

Create Backup — Creates a server backup, identical to clicking Create Backup manually in the Backups tab.

Setting Up Auto-Restarts

Automatic restarts are the most common use of the schedule system. Here is a step-by-step example for a daily restart at 4:00 AM UTC:

  1. Go to Schedules and click Create Schedule
  2. Name it “Daily Restart”
  3. Set: Minute 0, Hour 4, Day of Month *, Month *, Day of Week *
  4. Enable the schedule and save
  5. Open the schedule and click New Task
  6. Set Action to Send Command, enter a broadcast/say command to warn players (e.g., say Server restarting in 5 minutes), Time Offset: 0
  7. Add another task: Action Send Power Action > Restart, Time Offset: 300 (300 seconds = 5 minutes)

This sends a warning message, waits 5 minutes, and then restarts the server.

Restart Frequency Recommendations

GameRecommended FrequencyReason
PalworldEvery 6-12 hoursMemory leaks cause degrading performance
MinecraftEvery 12-24 hoursGenerally stable, but helps with garbage collection
RustPer wipe scheduleRust has its own scheduled wipe system
HytaleEvery 12-24 hoursDepends on mod complexity

Setting Up Scheduled Backups

Automated backups protect you from data loss without any manual effort:

  1. Create a schedule named “Daily Backup”
  2. Set it to run at a low-traffic time (e.g., 3:30 AM UTC — 30 minutes before your restart)
  3. Add a task with the action Create Backup

Running backups before restarts is a good practice. If a restart ever causes an issue, you have a fresh backup from minutes earlier.

Backup retention: The panel keeps your most recent backups based on your plan’s backup slot limit. Older backups are automatically rotated out when new ones are created. If you need to keep specific backups long-term, download them via the Backups tab before they are rotated.

Chaining Multiple Tasks

You can add multiple tasks to a single schedule with time offsets to create a sequence. For example, a restart sequence with warnings:

TaskActionTime Offset
1Send Command: say Server restarting in 10 minutes0 seconds
2Send Command: say Server restarting in 5 minutes300 seconds
3Send Command: say Server restarting in 1 minute240 seconds
4Create Backup60 seconds
5Send Power Action: Restart30 seconds

This gives players a 10-minute warning, a 5-minute warning, a 1-minute warning, creates a backup, and then restarts. The time offsets are cumulative from each previous task.

Managing Schedules

  • Disable without deleting: Toggle the Enabled switch off to temporarily pause a schedule
  • Edit timing: Click the schedule name to modify the cron fields
  • Delete: Remove schedules you no longer need to keep your list clean
  • Multiple schedules: You can create as many schedules as you need. It is common to have separate schedules for restarts and backups

Troubleshooting

Schedule did not run: Verify the schedule is enabled and check the cron timing. Remember that times are in UTC. Also confirm the server was online when the schedule was supposed to trigger — most actions require the server to be running.

Restart did not complete: If the server hangs during a restart, the Kill action can force it to stop. You can add a Kill action with a long time offset (e.g., 120 seconds after a Restart) as a safety net.

Backup failed: Check your disk usage. If the server is near its disk limit, backups may fail because there is not enough space to create the archive. Delete old backups or unnecessary files to free space.

If you need help setting up schedules for your specific use case, open a ticket on Discord and we will help you configure the right automation.