Monitor a Minecraft Java Server From Discord
Server Watch checks a public Minecraft Java address and sends Discord alerts when its reported availability changes. It is a Pro module, not included in Free. It uses the mcsrvstat.us status service without a third-party API key. This guide covers Java availability only: it does not monitor Bedrock, manage a whitelist, restart a server or relay game chat.
View the separate Minecraft Bedrock live-panel scope
Start freeStart free. Pro is $9.99/month.
Before you start
- A running bot connected to your Discord server, with Pro access and the Server Watch module enabled.
- A public Minecraft Java hostname or IPv4 address, plus a port if your server needs one. The address will be sent to mcsrvstat.us.
- Manage Server permission or the configured manager role for commands. The bot needs View Channel and Send Messages in the alert channel; the person adding a watch must be able to view it.
Enable Server Watch for the right Discord server
Open your bot’s Modules area, enable Server Watch and open Settings. Select the Discord server, turn on Enable in this server and save. Per-server watching is off by default. Make sure your running bot has the module before trying its commands.
Choose an optional default text or announcement channel and an optional manager role. Without a default channel, a new watch uses the channel where you add it. Set the maximum watches from 1 to 5; the default is 3. Lowering this setting does not remove existing watches. Choose a destination your staff will check, then confirm the bot can post there.
Add a public Java address
Use /serverwatch add and fill in address with your server’s public hostname or IPv4, optionally followed by :port. For example, play.example.com:25566 illustrates the syntax; replace it with your own address. Ports must be from 1 to 65535. The default Java port, 25565, is normalized away, so adding the same host with that port does not create a distinct watch.
Enter the address alone, without https://, a path or spaces. IPv6 and private IPv4 literals are not accepted. Local-only hostnames are also unsuitable. Saving a watch validates the address format; it does not verify that the address hosts Minecraft. The bot asks the external status service for availability rather than connecting to your server console.
The reply gives the saved watch ID. Use /serverwatch list to see IDs, addresses, destination channels, confirmed states, check status and alert-delivery status. All three management commands require Manage Server or the selected manager role.
Understand when an alert can appear
Each watch becomes due about every five minutes while enabled, and the scheduler looks for due work about every 30 seconds. These are periodic checks, not real-time monitoring. The first successful result establishes a quiet baseline, even if that result is offline; saving an already-offline server therefore does not immediately send an offline alert.
After the baseline, two consecutive checks reporting a different state confirm a change and trigger an offline or recovery alert. A long gap requires fresh confirmation. An outage that starts and ends between checks can be missed. Do not treat a quiet channel as proof of uninterrupted availability.
Offline means the status service returned an offline result for the Java address. It is not a diagnosis that the server process crashed. A failed request, invalid response or unavailable status service is recorded as a check error, resets pending confirmation and does not count as an offline observation.
Inspect delivery and saved state
Watches, confirmed states and pending confirmations are saved across bot restarts. Turning off the module pauses checks and commands while keeping saved watches. It cannot reconstruct an outage that occurred entirely while the bot was offline.
The bot records a confirmed transition before trying to post. Missing channel access marks delivery as blocked; an interrupted or failed send can remain unconfirmed. Missed or uncertain alerts are not replayed. Check the destination and /serverwatch list before sharing a manual update, and restore the bot’s channel permissions for future transitions.
Move or remove a watch
Changing the default alert channel affects new watches only. To move an existing address, note its watch ID, use /serverwatch remove with id, and add the address again after choosing the new destination. The new watch starts with a fresh baseline.
Managers can remove a watch even if its old channel was deleted or became inaccessible. Removing it stops future checks but leaves already-posted Discord alerts in place. For Bedrock whitelist setup, follow the separate guide below instead of trying a Bedrock address here.
Frequently asked questions
Is Server Watch available on Free?
No. Server Watch requires Pro access. It is off by default for each Discord server and must also be enabled in that server’s module settings.
Does this work with Minecraft Bedrock?
No. Server Watch uses the Java status endpoint. It does not provide Bedrock status, whitelist management, server restarts or game-chat relay.
Why did an offline server produce no alert when I added it?
The first successful check establishes a silent baseline. Alerts follow confirmed changes from that baseline, after two consecutive changed results.
Does a status-service error mean my server is offline?
No. Request and response failures are check errors, not offline observations. They reset pending confirmation; inspect /serverwatch list for the current check status.
Can I use this as an uptime history or crash report?
No. The module keeps watch state and check/delivery status, not a complete outage history or crash diagnosis. Periodic checks and offline gaps can miss short outages.
