server-icon.png: точні вимоги та API керування, яким ніхто не користується
64x64, PNG, у корені сервера — помиліться в чомусь із трьох, і піктограма просто не з'явиться. А також API керування JSON-RPC, що замінило парсинг консолі.
Піктограма сервера — найвибагливіша дрібна функція в Minecraft, адже будь-яка помилка виглядає однаково: немає піктограми, немає помилки.
Три вимоги, усі обов'язкові
- Рівно 64×64 пікселі. Не 63, не 128. Сервер не змінює розмір.
- Формат PNG. Справжній PNG, а не перейменований JPG.
- З назвою
server-icon.png, in the server root — поруч ізserver.properties, not
всередині теки світу.
Помиліться бодай у чомусь, і сервер запуститься як зазвичай, показуючи типову піктограму. За стандартного рівня журналювання нічого не фіксується.
Що ще може завадити
- Черезрядковий PNG. Деякі редактори зберігають черезрядковий формат типово; зчитувач Minecraft відхиляє
його. Експортуйте заново без черезрядковості.
- 16-бітна глибина кольору. Зберігайте як 8 біт на канал.
- Профілі кольору. Вбудований профіль ICC іноді ламає парсер. Видаліть
метадані під час експорту.
- Прозорість підтримується і коректно відображається у списку серверів.
Клієнт кешує її
Щойно клієнт побачив ваш сервер, він зберігає піктограму. Зміна на боці сервера не оновлює наявні записи — гравцеві потрібно видалити й знову додати сервер або дочекатися закінчення терміну дії кешу. Перевірка зміни піктограми з власного клієнта змусить вас подумати, що вона не спрацювала, хоча це не так.
API керування
Нещодавні версії сервера надають доступ до JSON-RPC інтерфейсу керування, який є офіційною заміною парсингу виводу консолі чи підключенню плагінів.
Увімкніть його в server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Потім надсилайте запити JSON-RPC через цей порт:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Методи охоплюють список гравців, стан сервера, allowlist та список заблокованих, gamerules, налаштування, а також команди save/stop. Кожен повертає структурований JSON замість рядка тексту, який потрібно розбирати регулярними виразами.
Прив'яжіть його до localhost
Типово він localhost and it should stay there. The interface is не призначений для прямого доступу з інтернету — будь-хто, хто дістанеться до нього, може зупинити ваш сервер. Якщо вам потрібен віддалений доступ, відкривайте його через тунель SSH або зворотний проксі з автентифікацією, але в жодному разі не змінюючи хост на 0.0.0.0.
Чому це важливо
Панелі керування, боти Discord і монітори аптайму історично працювали через читання журналу консолі або використання RCON — обидва способи ненадійні. Типізований API гарантує, що віджет кількості гравців не зламається через зміну формату рядка в журналі.
Перетворіть будь-яке зображення на сумісний server-icon.png and browse the JSON-RPC methods in the Інструменти для піктограми та API сервера.