GameGrid

Command Manager Troubleshooting

What every execution status means, why a schedule fired late or not at all, why a give-to-everyone reached nobody, and the per-game checks for all five games.

Start with the log

Almost every question about a schedule is answered by its own history. Open the Command Manager tab, find the schedule, click Log. You get the last 50 executions.

The command on a log row is what actually went to your server - variables already resolved, and one row per player on an all-players step. Not the template stored on the schedule. If a message went out with {players} still in it, or a player name arrived split in half, the row shows it.

That single field settles most problems before you read any further.

What each status means

StatusMeaningA problem?
SuccessSent, and the server repliedNo
Sent, unconfirmedDelivered to a console that carries no replyNo
ErrorNot delivered, or the server rejected itYes
SkippedA run condition turned this occurrence awayNo - it did what you asked
Missed its runHas not fired for longer than you allowedYes

Sent, unconfirmed

Normal on Minecraft, and honesty rather than a fault. Minecraft's console is a one-way pipe: we can write a command into it and confirm the write succeeded, but the game returns nothing. A command that worked perfectly and one that was thrown away produce the identical empty response.

So the row says what we actually know. To confirm a scheduled Minecraft command did what you wanted, look at the game.

Games with a real reply channel - 7 Days to Die over telnet, Palworld's REST API, the Valheim bridge, the Windrose Plus dashboard - still show Success with the server's own output underneath.

Skipped

A run condition doing its job. The row carries the reason in plain words: "Skipped: nobody was on the server. This schedule is set to run only when players are online."

It is neither a success nor a failure, and it does not count towards the missed-run tolerance. If you did not expect it, check Run this on the schedule - most often it is set to "Only when players are online", or has a minimum player count you have forgotten about.

Missed its run

The schedule has missed more consecutive runs than its tolerance allows, and its card turns orange. It is a state of its own, sitting before any individual failure, because a schedule that has quietly stopped firing is the failure people notice last.

Editing the schedule clears the flag, so something you have just fixed stops reporting itself as broken.

It did not run at all

Work down this list in order.

#CheckWhat you are looking for
1Is it enabled?A disabled schedule stays in the list and never fires. The badge reads Disabled in grey
2The next run time on the cardIf it is not what you expect, the schedule is not what you think it is
3The timezone on the card04:00 fires at 04:00 *there*, which may not be where you are
4Was the server reachable?A run we could not deliver still happens up to the catch-up window afterwards - 15 minutes by default
5Was the previous run still going?The default overlap policy is Skip, which drops the occurrence on purpose

For step 2, read the plain-English sentence on the card rather than the cron expression. For step 3, open the schedule and use the "next five runs" preview, which shows each firing in both the schedule's timezone and UTC - and is worked out by the server that will run it, so it stays right across a daylight-saving change.

For step 5: a multi-step sequence with waits in it can legitimately still be running when it next comes due. Skipping is usually what you want, because two overlapping restarts is a corrupted world, but it does mean an occurrence went missing deliberately. The Reliability section is where you change it.

Built it before September 2026? Timezones were stored but never read, so every schedule fired on UTC whatever it said. That is fixed. If you worked around it at the time by shifting the hour, the schedule is now wrong by exactly the amount you shifted it - put the intended time back and check the preview.

It ran, but nothing happened in the game

SymptomLikely cause
Minecraft row reads "Sent, unconfirmed"Expected. The command reached the console; the game said nothing back
A player command did nothingThe target was not online. Nearly every player command needs its target connected at that moment
The command in the log looks wrongRead it carefully - this is the fastest diagnosis available
A custom command did nothingThe syntax was not checked before sending. Compare it against the game's console

On that third row: if the log reads buffplayer Bob Smith buffFoo, the console read that as buffing a player called "Bob" with a buff called "Smith". The command was split on the space in the name.

On Minecraft specifically, a silent no-effect is usually a misspelled item ID, a player who had already logged off, or a plugin command sent through Custom Command with the wrong syntax.

A give-to-everyone reached nobody

Open the log first. An Send to every online player step produces one row per player on every game except Minecraft, each naming the player it ran for.

What the log showsMeansDo
No rows, run recorded as a no-opNobody was onlineNothing. This is not a failure
An error saying the player list could not be fetchedThe roster could not be read, so nothing was sentRead the error - it names the channel that failed
One row per player, all errorsThe roster read fine; the command is wrongCheck the item or buff name, and the identifier
One row only, on MinecraftNormal - @a is a single commandNothing

Nothing is sent when the roster is unreadable, and that is on purpose. An empty server and an unreachable one look identical from a distance, and treating the second as the first is how a giveaway reports success having given nothing to anybody.

The form will not let me save

MessageMeans
Minimum schedule interval is 5 minutesNothing may fire more often than every 5 minutes
Maximum 50 schedules per serverDelete or disable something first
Custom command exceeds 500 charactersA custom command string has a 500-character ceiling
An invalid cron expressionThe preview shows the reason. Use the schedule buttons rather than writing cron by hand

A schedule may hold at most 20 steps, and each step's wait is capped at one hour.

Per-game checks

7 Days to Die

SymptomCause
"Connection refused" errorsCommands go over telnet - almost always the server is stopped
A scheduled horde wanders instead of huntingExpected. A wandering horde heads for whoever called it, and a schedule is not a player. It is still a real horde
A scheduled screamer is refusedspawnscouts on its own can only be run by a player. Pick Spawn Screamers Near a Player or at Coordinates instead
An item giveaway drops nothingGive Item needs the game's exact item name. listitems in the Console tab prints them

Minecraft

SymptomCause
Everything reads "Sent, unconfirmed"Expected - the console carries no reply
{players} works but commands are unconfirmedQuestions go over RCON, which does reply; commands go to the console, which does not
A plugin command is missing from the listAll five flavours share one catalog of 24 server commands. Plugin and mod commands go through Custom Command

Palworld

SymptomCause
Every schedule failsCheck `AdminPassword` first. No admin password means no REST API, and Palworld has no console to fall back on
A PalDefender command failsPalDefender is not installed, or its REST API is not enabled
A custom command does nothingCustom is narrower here - it can only reach what the REST API exposes

Valheim

SymptomCause
Every schedule failsThe GameGrid Bridge plugin is not running. Schedule Bridge Health Check to find out when it started
Old save schedules look like they were failingSaves used to be cut off at 15 seconds against an operation that can take 90. Check their recent history - they may be fine now
A spawn aimed at one named player failsSession IDs change on every reconnect. Use Send to every online player, which reads the roster fresh

Windrose

SymptomCause
No way to warn playersWindrose has no broadcast, say or chat command of any kind. That is the game, not a fault
"Player 'x' not found" recorded as a failureThe player was not connected when it ran
A name with a space does not matchSend it unquoted. Quotes make it worse - Windrose Plus treats them as part of the name
Generate Live Map Terrain stopped workingIt only works on a fresh boot. On a repeat it succeeds once then quietly achieves nothing

On that third Windrose row: the read-only player commands are fine with any name. Teleport, Speed, Jump and Gravity take further arguments *after* the name, so there is no way to mark where a multi-word name ends. Prefer the read-only commands on a schedule if your players have spaces in their names.

Where a failure actually surfaces

ChannelTells you
The schedule card in the panelIts last run's status, and an orange state when it has stopped firing
The Log modalEvery run, with the exact command and the server's reply
The command_schedule.executed webhookEvery run, pushed to your endpoint, with its status
"Alert me when this schedule fails"Records an alert against the schedule for support to read back

That last row does not email you or message you in Discord. If you want failures pushed somewhere, the webhook is the way - see Webhooks.

Still stuck

Have these three things ready and support can usually answer in one reply:

1. The schedule name.

2. What you expected to happen.

3. A screenshot of the Log modal showing the rows in question.

The expanded command on a log row is the single most useful piece of evidence there is.

Also usefulArticle
The full feature walkthroughCommand Manager Guide
The placeholder systemCommand Manager Variables
Your game specifically7 Days to Die · Minecraft · Palworld · Valheim · Windrose