Hobby project

A Discord bot that tells you when your game server goes down

A live status board for World of Warcraft and Final Fantasy XIV realms, plus a Discord bot that alerts your channel the moment a server goes down or comes back. Free to install, and built serverless so it costs very little to run.

Type
Personal project, built end to end
My role
Product, backend, infrastructure and website
Status
Live, free to install
Games
World of Warcraft and Final Fantasy XIV
A short walkthrough: check a realm, subscribe a channel, then get the alert when it goes down.
See the install page
The problem

When a game server goes down, players find out by failing to log in. Official status pages and maintenance posts often arrive late, so people keep refreshing and asking in chat.

The fix is to push the news to where the community already is. When a server changes status, the channel they already watch gets one clear message.

What it does

Live status board

Pick World of Warcraft or Final Fantasy XIV, then a region, and see every realm as UP, DOWN or UNKNOWN without opening the official pages.

Alerts only when something changes

Quiet polls stay quiet. A channel is notified only when a server flips between UP and DOWN, so there is no spam.

Subscribe to one realm or all of them

Subscribe a channel to a single realm, a whole region, or every server, and optionally mention a role so the right people get the ping.

Two games, every region

World of Warcraft in the US, EU, KR and TW, and Final Fantasy XIV in NA, EU, JP and Oceania. Final Fantasy XIV falls back to a second source when its main feed fails.

Add it as a bot or a webhook

Install the Discord bot with slash commands, or add alerts through a webhook. Only people who can manage a channel can change its subscriptions.

Found by players who search

Plain pages on the status board, install steps and short posts such as "Is WoW down?" are written so search engines and AI tools can read and cite them.

How it is built

Everything runs as small serverless functions on AWS, so it costs little when it is quiet and scales when a popular realm goes down and many channels need telling at once.

Architecture of ServersUp: scheduled Go pollers read Battle.net and Final Fantasy XIV status and write it to DynamoDB; a stream triggers a job creator that reads subscriptions and queues one job per subscriber on SQS; guild notify functions post to Discord and jobs that keep failing go to a dead-letter queue; a bot API handles slash commands and a webhook API lets website visitors add a webhook; a scheduled aggregator handles subscribe-to-all using its own state table; shared config and secrets live in S3 and SSM; when pollers see a change they trigger a snapshot function that reads the current status from DynamoDB and writes status JSON to S3, served through CloudFront to the status site
Pollers check each game on a schedule. Only real changes trigger alerts, and a queue spreads the work when one popular realm has many subscribers.

Why a queue: subscribers cluster on popular realms. One status change can mean many alerts, so each becomes its own small job and several functions send them in parallel instead of one overloaded run.

When a message cannot be sent: permanent failures, such as a channel the bot may no longer post to, are dropped so they do not retry for days. Temporary ones, such as rate limits, are retried, and after several attempts they move to a dead-letter queue to be inspected.

A note on scale: this is deliberately over-engineered. For a bot this size, a single small server would do the job. I built it as queues, streams and separate functions on purpose, as a learning exercise in how serverless systems fit together, while keeping the bill minimal. It currently costs about $1 a month and serves 40+ Discord servers. A client project would get the simplest version that works, not this one.

The site
ServersUp live status board showing World of Warcraft US realms with their UP or DOWN status
The live board: pick a game and a region and see every realm at a glance.
ServersUp install page with an example Discord alert and the Add Discord bot and Add via webhook buttons
The install page shows what an alert looks like before you add the bot.
A ServersUp blog post titled Is WoW Down? Patch Day, Great Vault and Server Maintenance
Short posts answer the questions players actually search for.
ServersUp status board on a phone
The board on a phone.
Where it stands

It is live, free to install, and set up for discovery in the Discord App Directory. I built it for the fun of it and as a working example of a small, reliable alerting system. There are no usage figures to share yet.

Next: telling subscribers about planned maintenance before it starts, and saying plainly whether a downtime was expected.

Known limit: it relies on each game's published status feed, so it can only be as current as that source.

Why it matters to you: if your community or customers need to hear about a change the moment it happens, this is how I build it. Only real changes send a message, it runs on small pay-per-use services, and it is documented.

Need alerts or a bot for your community?

Book a free 30-minute call and we will work out the simplest version that does the job.