Widgets
Minecraft widget guide
Java server: nothing to open. Add it, prove it, embed the card, pin it in Discord.
Minecraft Java servers are the easiest game to get onto a website: Dispresso asks your server the same status question the game's own server list does, so there is no query port and no plugin. This guide is for Java Edition. Bedrock servers are not covered.
What you need#
- A Java server that answers on the internet, on the address players type in Multiplayer.
- Manage Server in a Discord that has Dispresso (for the Discord path), or a Dispresso login (for the site path).
- Access to
server.properties, only to add a one time ownership code.
1. Get the server ready#
Nothing to switch on. Server status is on by default (enable-status=true in server.properties). Do not confuse it with enable-query: Dispresso does not use the UDP query, so leave that alone. Behind a proxy such as BungeeCord or Velocity, list the proxy's address, because that is what players connect to.
Ports and settings at a glance#
| Setting | Where it lives | What to use |
|---|---|---|
| Game and status port | server-port in server.properties | 25565 by default. Leave the port off the address if yours is 25565. |
| Address | What players type | play.example.com or play.example.com:25566 |
| Query port and RCON | Not needed | Do not open them for Dispresso |
Firewall and host: Allow TCP on your server port (25565 unless you changed it). On a Linux box that is sudo ufw allow 25565/tcp. On a game host, the port is already open, check that the address on the panel is the public one. A LAN address like 192.168.x.x can never be reached.
2. Add it to Dispresso#
Easiest is Discord. In a server where Dispresso is, with Manage Server:
- 1Run
/gameserver setup. - 2Pick Minecraft from the list.
- 3Type the address players use:
play.example.comorplay.example.com:25565. - 4Copy the code Dispresso gives you (step 3 below) and press Check when it is in place.
play.example.com
play.example.com:25566Prefer the site? Sign in, open /dashboard/servers/games, pick the Minecraft chip, search for your server and press Claim. If it is genuinely missing, use the collapsed option "Server not on the list? Add it" underneath.
3. Prove it is yours#
Dispresso gives you a code that looks like DISPRESSO-K7M2QX. Put it in your MOTD (motd= in server.properties), save, restart the server or run your host's reload, then press Check within ten minutes. Take the code back out afterwards. Full detail is in Add a Minecraft server.
4. Put the widget on your website#
The widget needs your listing id. Open your server's page on /servers/games and look at the address bar:
https://dispresso.co/servers/games/GAME/12345The number on the end (12345 here) is the id. That is the value for data-server. You can also pin a live card in Discord, which finds the server by name or address for you (last step below).
<!-- One server: replace YOUR_LISTING_ID with the number from your listing's address -->
<div data-dispresso-game-server data-server="YOUR_LISTING_ID"></div>
<!-- Or the busiest minecraft servers, top 5 -->
<div data-dispresso-game-server data-game="minecraft" data-limit="5"></div>
<script src="https://dispresso.co/widgets/game-server.js?v=3" async></script>Paste it where the card should appear. It shows the name, the map when the server has one, players out of the maximum, an Online or Offline pill and when it was last checked. It follows the visitor's light or dark theme; add data-theme="dark" or "light" to force one. How to paste it into WordPress, Wix, Squarespace, Carrd and plain HTML is in Put a widget on any website.
5. Show it in Discord too#
Want the same live numbers in a channel? In the Discord where Dispresso is, with Manage Server, run:
/gameserver pin server:Your Server channel:#server-statusSearch by the Minecraft server's name, its IP, IP:port or the listing id. Dispresso posts one card with players, map, status, address and a Join button, and keeps it up to date on its own, even after the bot restarts. /gameserver create does the same thing, /gameserver list shows the cards this server has and /gameserver remove takes one down. The message version works too: !gameserver pin. The card is only for a server that is already listed, so finish the steps above first.
Troubleshooting#
| What you see | Usually because | Fix |
|---|---|---|
| Offline while the server is up | The address on the listing is not the one players use, or the port is wrong | Edit the address to match Multiplayer exactly, add :port if it is not 25565. |
| Unknown and 0 players | A LAN or private address, or the host blocks status pings | Use the public hostname. Ask your host whether status pings are allowed. |
| Name looks odd or has extra spaces | The name is your MOTD, and MOTDs are often padded to center them | Set a display name on the listing. The widget trims stray spaces but keeps what you wrote. |
| The widget says the server is not listed right now | The id is wrong, the listing is still Pending review, it was removed, or it is marked 18+ | Open the listing page and copy the number from its address. Approved and not 18+ is the rule for every public widget. |
| Players never change and it says Checked hours ago | The status query cannot get through, so the last numbers are kept instead of blanked | Fix the query port or the firewall below. The card catches up on the next refresh. |
Still stuck? Open your listing on the site and look at the card there. The widget shows exactly what that page shows, so if the page says Offline or Unknown the problem is the listing, not the embed.
Questions people ask#
Does it work for Bedrock?#
No. Only Java servers are read. A Bedrock host can be listed under Other, but it has no live status.
Does the widget show who is online?#
No, only how many. Player names are never published.
My server is on a modpack or Forge. Does that matter?#
No. As long as the normal server list ping works, Dispresso can read it.
How often does the count update?#
The listing is refreshed on a schedule and the widget reads the latest numbers each time a visitor loads the page. It shows how long ago it was checked.