JoinGG

The MOTD and the server icon: what Minecraft's list shows first

What a server sends to Minecraft's multiplayer list: a 64x64 server-icon.png, two lines of MOTD and a player sample, and how to set each one.

SweetMask · 5 min read

Owners tend to picture their server's name at the top of its entry in the multiplayer list. That line shows whatever the player typed into Add Server, and "Minecraft Server" if they typed nothing. Everything under it comes from your server: a 64 by 64 icon, two lines of MOTD, the player count, and the handful of names that appear when someone hovers over that count.

What the server sends back

When the multiplayer screen opens, the client pings every saved server using the Server List Ping, and each one replies with a short JSON document. It holds version (a name and a protocol number), players (the maximum, the number online and an optional sample of names), description, which is the MOTD, and favicon, the icon as a base64-encoded PNG. The list has nothing else to go on. Set enable-status=false in server.properties and the server stops replying, so the entry looks offline to everyone.

Directories read the same reply. JoinGG pings every Minecraft server it lists every 15 minutes: the icon becomes the picture at the top of the server's page, and the MOTD, with its colour codes stripped, is read together with the server's name when the site decides whether it belongs under skyblock, survival or another mode. There's a packet-level walk through what happens during the ping elsewhere.

server-icon.png

The icon is a PNG named exactly server-icon.png, 64 by 64 pixels, in the server's root folder next to server.properties. Transparency is supported. The server loads it at start-up, so a new icon needs a restart, and an image of any other size won't be used. On Linux the name is case-sensitive: Server-Icon.PNG is a different file as far as the server is concerned.

The list draws the icon small beside the text, so design it like a browser tab icon: one strong shape or letter on a plain background, with enough contrast for the dark list and a light web page. A spawn screenshot scaled down to 64 pixels becomes a smudge, and JoinGG shows the same file larger on your server page. The thinking is the same as for the screenshots players judge you by.

The motd line in server.properties

The MOTD lives in the motd key, which defaults to A Minecraft Server. A two-line example:

motd=\u00A76\u00A7lSurvival SMP \u00A77| \u00A7f26.3, Java and Bedrock\n\u00A77Land claims, weekly events, same map since launch

The \n starts the second line. Each code is the section sign, §, plus one character: 0 to 9 and a to f are the sixteen colours (§6 gold, §7 grey, §f white), §l is bold, §o italic, §n underline, §m strikethrough, §k the scrambling effect and §r a reset. Order matters in Java. A colour code cancels any formatting before it, so §6§l gives bold gold and §l§6 gives plain gold.

The section sign is the usual trip-up. Current servers read server.properties as UTF-8 first and fall back to ISO-8859-1, so a § typed straight into a UTF-8 file works. The escape \u00A7 works in every version whatever encoding your editor uses, which is why most examples use it. The file is read at start-up, so restart after every edit. The other server.properties settings that change play follow the same rules.

Two lines, measured in pixels

The list gives the MOTD two lines and measures them in pixels of the game's font rather than in characters. Text that doesn't fit on the first line wraps to the second, and whatever doesn't fit on the second isn't drawn. Capitals and wide letters eat the space faster than i and l, and bold is wider again. A line that looks short in a text editor can lose its last word in the game.

server.properties only carries the old § codes, because the vanilla server can't send a full text component in its reply. Hex colours and gradients need a proxy or a plugin. Velocity's motd setting is written in MiniMessage, and the MiniMOTD plugin brings the same format to Paper, Fabric and the proxies; both say RGB only shows on 1.16 and newer clients. Behind Velocity the proxy answers the ping itself, so players see the MOTD in velocity.toml unless ping-passthrough forwards the backend's description. Since 26.1, components in a status message nested more than 16 deep are discarded and replaced with an ellipsis, which only matters for generated MOTDs with deep nesting.

What to put on each line

The first line should say what the server is, in words a stranger understands: the mode and the versions it accepts, plus a note if Bedrock players can join. The second is for something that changes, such as the current season or whether applications are open. Leave out claims nobody can check ("best", "no lag") and long runs of symbols, and skip §k entirely, since its whole job is making text unreadable. Use colour to separate the parts of a line; a new colour on every word just makes it harder to read.

The words outlast the colours. JoinGG strips the codes and keeps the text, and it files Minecraft servers by the modes named in their name and MOTD, so "Skyblock" spelled out does more than a coloured island symbol. The habits that help a description earn the click apply here in miniature, and since players type your name into Add Server themselves, a name that's easy to repeat matters more than it seems.

The names under the player count

Hovering over the player count shows a sample of who is online. A vanilla server sends a small random handful of names, and the client adds a line such as "... and 31 more ..." when more people are on. Players who have turned off Allow Server Listings in their Online settings appear as Anonymous Player, and hide-online-players=true in server.properties sends no names at all. Plugins can replace the sample with lines of text, and how often that turns into Discord links and invented names is covered elsewhere. JoinGG records the count and ignores the names.

Checking it the way a player will see it

Restart the server, open an ordinary client and add the server by the public address your players use, so the test goes through the same DNS and port they do. Check whether the last word of each MOTD line survived, and hover the count while someone is online. If the icon is missing, check its size first and its file name second. If you accept older versions, look from an old client too, because hex colours fall back there. After the next poll your icon appears at the top of your JoinGG listing, and the words of the MOTD help decide which mode your server is filed under in the Minecraft server list.

Tags
minecraftmotdserver list
Share

SweetMask

Published · 5 min read

All articles

Keep reading