DGuard

MOTD and icon: how your server looks in the server list

In the server list a player sees three things about you: a 64×64 icon, the description — the MOTD — and the player count. All of it takes five minutes: the motd key in server.properties, a server-icon.png file in the server folder, and a plugin for gradients and rotating descriptions.

The DGuard team7 min read

In short: put your description in motd in server.properties — the second line starts after \n, and colours come from § codes (which you can write as \u00A7 in the file). Drop a 64×64 PNG named server-icon.png into the server folder next to server.properties and restart. For RGB colours and gradients, install a plugin such as MiniMOTD; on a Velocity network the proxy sets the description and icon.

What a player sees in the server list

ElementWhere it comes from
Iconserver-icon.png, 64×64, in the server folder. Without it the client shows the grey default pack.png
NameThe player types it when adding the server — the server has no say
Description (MOTD)The motd key in server.properties, or a plugin
Online and maximumCurrent players and max-players
Names on hovering the countThe player list; turned off with hide-online-players
PingThe player's connection latency to the server
From the Minecraft Wiki: Server list

The MOTD in server.properties

server.properties
motd=§6§lMyCraft §r§7| survival 1.21.11\n§aA new season is open
  • Second line — after \n.
  • Colour and style — the § sign plus a code from the table below. Put the colour first, then the style: a colour after a style code cancels the style, so §6§l gives bold gold text and §l§6 plain gold.
  • The `§` sign can be written as \u00A7: the file is read by Java Properties rules, so \uXXXX escapes always work.
  • Non-English text. Since 1.20 the server reads server.properties as UTF-8 (falling back to ISO-8859-1) and writes it as UTF-8. If the list shows garbled characters, save the file as UTF-8 or write the text with \uXXXX escapes.
  • Keep it short. The Minecraft Wiki warns that a MOTD over 59 characters may cause a communication error in the server list.
  • Restart. server.properties is only read at startup.

To build a coloured line without picking codes by hand, use the MOTD editor: type with & codes, see the result as it looks in the server list, and copy a ready motd= line with special characters already escaped so the server reads them correctly.

CodeColourCodeColour
§0black§8dark gray
§1dark blue§9blue
§2dark green§agreen
§3dark aqua§baqua
§4dark red§cred
§5dark purple§dlight purple
§6gold§eyellow
§7gray§fwhite
Styles: §l bold, §o italic, §n underlined, §m strikethrough, §k obfuscated, §r reset. From the Minecraft Wiki: Formatting codes

The server-icon.png icon

  1. 1

    Prepare the image

    PNG format, 64×64 pixels. A JPG renamed to .png is still a JPG: re-save it as PNG in an image editor.

  2. 2

    Name it server-icon.png

    Exactly that name, in lower case. The server doesn't create this file itself.

  3. 3

    Put it in the server folder

    In the server's working directory — where server.properties and the server jar live, not in plugins or the world folder.

  4. 4

    Restart and check

    After the restart, refresh the server list in the client.

Player count, the name list and an "invisible" server

KeyDefaultWhat it does
max-players20The player cap: shown in the list and enforced on join
hide-online-playersfalsetrue — don't send the list of names in status replies
enable-statustruefalse — the server looks offline in the list, but players can still join by address
Values from the Minecraft Wiki: server.properties

enable-status=false suits a private server for friends: port scanners see it as offline. A public server shouldn't do this — players will assume you've shut down. Other keys of the file are in server.properties.

Gradients and rotating MOTDs: MiniMOTD

The vanilla motd only knows the 16 colours from the table. RGB, gradients and a random pick from several descriptions come from plugins. MiniMOTD is a free, open-source (MIT) plugin for Paper, Folia, Velocity, Waterfall, Fabric, NeoForge and Sponge. You write text in MiniMessage format, and the plugin downsamples RGB colours for outdated clients automatically.

MiniMOTD: main.conf (excerpt)
motds=[
    {
        icon=random
        line1="<gradient:#f5a623:#f8e71c><bold>MyCraft</bold></gradient> <gray>| survival"
        line2="<green>A new season is open"
    }
]
  • line1 and line2 are the two description lines; with several entries in the list, a random one is chosen on each refresh.
  • icon=random picks a random image from the plugin's icons folder; you can also name a file without .png.
  • MiniMessage tags: named (<gray>) and hex (<#09add3>) colours, <bold>, <italic>, <gradient:colour:colour>, <rainbow>. The gradient generator helps build a gradient.

MiniMOTD also has a fake player count (fake-players), off by default. Leave it off: a player who joins, opens the player list and sees they were misled won't trust your server more.

A Velocity network: the proxy sets the description

Players ping the proxy, not the game servers, so the list shows what Velocity is configured with: motd in velocity.toml (MiniMessage format only, <#09add3>A Velocity Server by default) and server-icon.png from the proxy folder. show-max-players sets the maximum shown. The MOTDs of the game servers behind the proxy aren't shown unless you turn on ping-passthrough (by default the proxy forwards nothing). MiniMOTD on Velocity can show different descriptions for different domains. Building the network is covered in setting up Velocity.

velocity.toml
motd = "<gold><bold>MyCraft</bold></gold> <gray>| lobby, survival, arena"

What to write in the MOTD

  • Game mode and version: "Survival 1.21.11", "Anarchy 26.3" — the player knows at once whether this is the right place.
  • What's new: a wipe, a new season, an event — see server wipe.
  • One honest selling point. Don't promise "no lag" or "no cheaters" unless you can deliver: players will check within minutes.

The same text works for your listing on server-list sites — where to list the server and how to avoid fake votes is in Minecraft server lists.

Fair play as a selling point

Players leave servers where people fly and hit through walls with impunity, so "fair play" is a selling point that works — if it's true. DGuard — the best anticheat for a modern Minecraft server — checks combat, movement, packets, inventory, building and world actions. If it's installed, "Protected by DGuard" in the MOTD or the server description is honest; if it isn't, don't write it.

Put together rules for your website and Discord in the free rules generator: its "We run DGuard" option is off by default — turn it on only if you really installed the anticheat.

FAQ

How do I make a two-line server MOTD?

Separate the lines with \n in the motd key of server.properties and restart the server.

How do I make a coloured MOTD?

With § codes followed by a digit or letter: §6 gold, §a green, §l bold. In server.properties you can write the sign as \u00A7. RGB and gradients need a plugin such as MiniMOTD.

Why doesn't my server icon show up?

Check that the file is named server-icon.png, is a real 64×64 PNG and sits in the server folder next to server.properties, then restart. On a Velocity network the icon belongs in the proxy folder.

Why is my MOTD text garbled?

The file isn't saved as UTF-8. Re-save server.properties as UTF-8 or write the text with \uXXXX escapes.

Why does the server list show my server as offline when it's running?

Perhaps server.properties has enable-status=false: the server doesn't answer the server list, but players can join by address. If that key is fine, check the port and address — see server IP and port.

Sources

All sections

Run the best anticheat for modern Minecraft

DGuard catches all 47 kinds of cheats in our comparison — the closest rival, Intave, has 27. Full protection on every plan, free up to 30 players online.