How to Set a Custom Minecraft MOTD

PistonMOTD – omówienie konfiguracji (Velocity) PistonMOTD Configuration Explained (Velocity)

Przewodnik po pliku PistonMOTD/Velocity: co robi każda sekcja, bezpieczne domyślne ustawienia i szybkie przykłady kolorowego MOTD z ikoną i podpowiedzią po najechaniu.

This guide walks through the PistonMOTD config on Velocity—what each section does, safe defaults, and quick examples for a modern colorful MOTD with icon and hover text.

PistonMOTD – konfiguracja na Velocity PistonMOTD config on Velocity
Uwaga Część funkcji zależy od silnika. W tekście zaznaczyłem, gdzie wsparcie różni się między Spigot/Paper/Sponge. Po edycji YAML zawsze zrestartuj proxy i sprawdź konsolę.

Gdzie jest konfiguracja?

Po instalacji i pierwszym uruchomieniu znajdziesz plik tutaj: /plugins/PistonMOTD/config.yml

Przydatne linki Kolory & kody: minecraft.tools/en/color-code · MiniMessage (gradienty, tęcza, podkreślenia, pogrubienia…): docs.adventure.kyori.net/minimessage

1) description — treść MOTD

Najczęściej 2 linie: odważny tytuł + linia informacyjna. Obsługuje kolory &, HEX (&#FFFFFF lub <#FFFFFF>) i MiniMessage (gradienty/tęcza).

description:
  activated: true
  text:
    - "<center><yellow><bold>TWÓJ SERWER</bold></yellow><newline>&7play.example.com &8• &a1.20.x"
    - "<#800080>Gracze: <online>/<max>"

Przydatne znaczniki: <online>, <max>, <newline>, <tps> (Paper), <center> (musi być na początku linii).


2) version — tekst przy niedopasowanej wersji

name wyświetla się, gdy protokół klienta ≠ serwera. protocol może „podszyć” numer protokołu — używaj ostrożnie.

version:
  name:
    activated: true
    text: "&11.20.x Network"
  protocol:
    activated: false # spoofing może wprowadzać graczy w błąd
    value: 763
Ostrzeżenie Spoofing protokołu może pokazywać klientom błędną wersję. Zwykle wystarczy ustawić tylko name.

3) players — licznik i hover

Możesz nadpisać pokazywane liczby, ukryć je oraz ustawić własne linie hover (sample).

players:
  online: { activated: false, value: 0 }
  max: { activated: false, value: 100 }
  hide: false
  sample:
    vanilla: { activated: false }
    activated: true
    text:
      - "&7Discord: &bdiscord.gg/twojlink"
      - "&7Sklep: &bstore.example.com"
Wsparcie silników Nadpisywanie/ukrywanie/sample nie działa na „gołym” Spigocie; Paper działa.

4) favicon — ikona serwera

Umieść pliki PNG 64×64 w /plugins/PistonMOTD/favicons. Tryb SINGLE (jedna ikona) lub RANDOM (losowanie z folderu).

favicon:
  activated: true
  mode: SINGLE
  single: logo.png

5) extensions — vanish i prefiksy

Ukrywaj „vanishowanych” graczy z licznika/hover i opcjonalnie używaj prefixów LuckPerms.

extensions:
  vanish: { vanishApi: false, hideSample: true, hideCount: false }
  prefix: { luckperms: false }

6) advanced — protokoły i status per domena

Zablokuj obsługiwane numery protokołów lub zdefiniuj inny status dla konkretnej domeny (np. inne MOTD/ikona dla eu.example.com vs na.example.com).

advanced:
  supportedProtocol:
    activated: false
    unsupportedNumber: -1
    numbers: [ 763, 762 ]
  perDomainStatus:
    activated: false
    domains:
      example: { domain: example.com, description: { activated: true, text: [ "&3Witaj domeno 1!" ] } }

7) Sprawdzanie aktualizacji

Na Sponge plugin może sprawdzać aktualizacje przy starcie:

updateChecking: true

Minimalny start

Skopiuj, aby mieć czyste 2-linijkowe MOTD z hover i jedną ikoną:

description:
  activated: true
  text:
    - "<center><bold><yellow>TWÓJ SERWER</yellow></bold><newline>&7play.example.com &8• &a1.20.x"
    - "<#9b59b6>Gracze: <online>/<max>"

players:
  sample: { activated: true, text: [ "&7Discord: &bdc.example.com", "&7Sklep: &bstore.example.com" ] }

favicon: { activated: true, mode: SINGLE, single: logo.png }
Pułapki YAML Używaj spacji (nie tabów). Cudzysłów dla ciągów z &, <#hex> lub tagami MiniMessage. Po edycji zrób pełny restart proxy.

Domyślna konfiguracja (referencja)

Pokaż pełny stock config PistonMOTD
# Kody kolorów: https://minecraft.tools/en/color-code.php
# MiniMessage: https://docs.adventure.kyori.net/minimessage.html#template
# HEX: &#FFFFFF lub <#FFFFFF> (tylko MOTD)
description: { activated: true, text: [ "Hello! <newline>World!", "&c<underlined>color <bold><yellow>codes!", "&ka &rFormatting &nworks&r too! &ka", "<#800080>Players: <online>/<max>", "<rainbow>RAINBOW COLOR SUPPORT! :D</rainbow>", "<center><yellow><bold>Centered text!<bold></yellow><newline>Second line!" ] }

version: { name: { activated: true, text: "&1My custom version name!" }, protocol: { activated: false, value: 1 } }

players: { online: { activated: false, value: 0 }, max: { activated: false, value: 10 }, hide: false, sample: { vanilla: { activated: false, hidden: [ "Notch" ] }, activated: true, text: [ "&3Hello world!", "&eNewline!", "&6 spaces!", "&d&lCombined", "&1Players: <online>/<max>" ] } }

favicon: { activated: false, mode: RANDOM, single: example.png }

extensions: { vanish: { vanishApi: false, hideSample: true, hideCount: false }, prefix: { luckperms: false } }

advanced: { supportedProtocol: { activated: false, unsupportedNumber: -1, numbers: [ 757, 756 ] }, perDomainStatus: { activated: false, domains: { example: { domain: example.com, description: { activated: true, text: [ "&3Hello domain 1!" ] }, favicon: { activated: false, mode: SINGLE, single: example.png } } } } }

updateChecking: true

Heads up Some features vary by engine. Notes highlight where Spigot/Paper/Sponge differ. After editing YAML, always restart the proxy and watch the console for errors.

Where is the config?

After installing and starting once, open: /plugins/PistonMOTD/config.yml

Helpful tools Colors & legacy codes: minecraft.tools/en/color-code · MiniMessage docs: docs.adventure.kyori.net/minimessage

1) description — the MOTD text

Two lines are common: a bold title + an info line. Supports legacy & colors, HEX (&#FFFFFF or <#FFFFFF>), and MiniMessage (gradients/rainbow).

description:
  activated: true
  text:
    - "<center><yellow><bold>YOUR SERVER</bold></yellow><newline>&7play.example.com &8• &a1.20.x"
    - "<#800080>Players: <online>/<max>"

Placeholders: <online>, <max>, <newline>, <tps> (Paper), <center> (must be at the start of a line).


2) version — text for mismatched clients

name shows when client protocol ≠ server protocol. protocol can spoof a protocol number—use with caution.

version:
  name: { activated: true, text: "&11.20.x Network" }
  protocol: { activated: false, value: 763 }
Warning Protocol spoofing can display a wrong version to clients. Prefer customizing only the name.

3) players — shown/hovered player counts

Override displayed numbers, hide them, and customize hover (sample) lines.

players:
  online: { activated: false, value: 0 }
  max: { activated: false, value: 100 }
  hide: false
  sample: { vanilla: { activated: false }, activated: true, text: [ "&7Discord: &bdiscord.gg/yourinvite", "&7Store: &bstore.example.com" ] }
Engine support The players override/hide/sample features are not supported on raw Spigot; Paper works.

4) favicon — the server icon

Put 64×64 PNGs in /plugins/PistonMOTD/favicons. Use SINGLE (one icon) or RANDOM (rotate across a folder).

favicon: { activated: true, mode: SINGLE, single: logo.png }

5) extensions — vanish & prefixes

Hide vanished players from counts/sample and optionally use LuckPerms prefixes.

extensions: { vanish: { vanishApi: false, hideSample: true, hideCount: false }, prefix: { luckperms: false } }

6) advanced — protocol & per-domain status

Lock supported protocol numbers, or define different status per domain (e.g., distinct MOTDs/icons for eu.example.com vs na.example.com).

advanced: { supportedProtocol: { activated: false, unsupportedNumber: -1, numbers: [ 763, 762 ] }, perDomainStatus: { activated: false, domains: { example: { domain: example.com, description: { activated: true, text: [ "&3Hello domain 1!" ] } } } } }

7) Update checking

On Sponge, PistonMOTD can check updates at startup:

updateChecking: true

Quick starter template

Copy this minimal config for a clean two-line MOTD with hover text and a single icon:

description: { activated: true, text: [ "<center><bold><yellow>YOUR SERVER</yellow></bold><newline>&7play.example.com &8• &a1.20.x", "<#9b59b6>Players: <online>/<max>" ] }
players: { sample: { activated: true, text: [ "&7Discord: &bdc.example.com", "&7Store: &bstore.example.com" ] } }
favicon: { activated: true, mode: SINGLE, single: logo.png }
YAML gotchas Use spaces (not tabs). Quote strings containing &, <#hex>, or MiniMessage tags. After edits, perform a full restart of the proxy.

Full default config (reference)

Show the full stock PistonMOTD config
# Color codes: https://minecraft.tools/en/color-code.php
# MiniMessage: https://docs.adventure.kyori.net/minimessage.html#template
# HEX: &#FFFFFF or <#FFFFFF> (MOTD only)
description: { activated: true, text: [ "Hello! <newline>World!", "Use &c<underlined>color <bold><yellow>codes!", "&ka &rFormatting &nworks&r too! &ka", "<#800080>Players: <online>/<max>", "<rainbow>RAINBOW COLOR SUPPORT! :D</rainbow>", "<center><yellow><bold>Centered text!<bold></yellow><newline>Second line!" ] }

version: { name: { activated: true, text: "&1My custom version name!" }, protocol: { activated: false, value: 1 } }

players: { online: { activated: false, value: 0 }, max: { activated: false, value: 10 }, hide: false, sample: { vanilla: { activated: false, hidden: [ "Notch" ] }, activated: true, text: [ "&3Hello world!", "&eNewline!", "&6 spaces!", "&d&lCombined", "&1Players: <online>/<max>" ] } }

favicon: { activated: false, mode: RANDOM, single: example.png }

extensions: { vanish: { vanishApi: false, hideSample: true, hideCount: false }, prefix: { luckperms: false } }

advanced: { supportedProtocol: { activated: false, unsupportedNumber: -1, numbers: [ 757, 756 ] }, perDomainStatus: { activated: false, domains: { example: { domain: example.com, description: { activated: true, text: [ "&3Hello domain 1!" ] }, favicon: { activated: false, mode: SINGLE, single: example.png } } } } }

updateChecking: true