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
| Element | Where it comes from |
|---|---|
| Icon | server-icon.png, 64×64, in the server folder. Without it the client shows the grey default pack.png |
| Name | The 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 maximum | Current players and max-players |
| Names on hovering the count | The player list; turned off with hide-online-players |
| Ping | The player's connection latency to the server |
The MOTD in 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§lgives bold gold text and§l§6plain gold. - The `§` sign can be written as
\u00A7: the file is read by Java Properties rules, so\uXXXXescapes 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
\uXXXXescapes. - 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.
| Code | Colour | Code | Colour |
|---|---|---|---|
§0 | black | §8 | dark gray |
§1 | dark blue | §9 | blue |
§2 | dark green | §a | green |
§3 | dark aqua | §b | aqua |
§4 | dark red | §c | red |
§5 | dark purple | §d | light purple |
§6 | gold | §e | yellow |
§7 | gray | §f | white |
§l bold, §o italic, §n underlined, §m strikethrough, §k obfuscated, §r reset. From the Minecraft Wiki: Formatting codesThe server-icon.png icon
- 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
Name it server-icon.png
Exactly that name, in lower case. The server doesn't create this file itself.
- 3
Put it in the server folder
In the server's working directory — where server.properties and the server jar live, not in
pluginsor the world folder. - 4
Restart and check
After the restart, refresh the server list in the client.
Player count, the name list and an "invisible" server
| Key | Default | What it does |
|---|---|---|
max-players | 20 | The player cap: shown in the list and enforced on join |
hide-online-players | false | true — don't send the list of names in status replies |
enable-status | true | false — the server looks offline in the list, but players can still join by address |
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.
motds=[
{
icon=random
line1="<gradient:#f5a623:#f8e71c><bold>MyCraft</bold></gradient> <gray>| survival"
line2="<green>A new season is open"
}
]line1andline2are the two description lines; with several entries in the list, a random one is chosen on each refresh.icon=randompicks a random image from the plugin'siconsfolder; 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.
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
- Minecraft Wiki: server.properties (motd, hide-online-players, enable-status)
- Minecraft Wiki: Formatting codes
- Minecraft Wiki: Server list
- Minecraft Wiki: server files (server-icon.png)
- Java: Properties.load (\uXXXX escapes)
- MiniMOTD on Modrinth
- MiniMOTD: configuration
- MiniMessage: tag format
- Velocity: velocity.toml settings (motd, show-max-players)
- Velocity: loading server-icon.png (source code)
- DGuard, the best anticheat for a modern Minecraft server: checks compared with GrimAC, Vulcan, Polar, Intave and Matrix
- DGuard: installation, requirements and troubleshooting
- DGuard: supported Paper and Leaf versions