Свои скины на Minecraft сервере: SkinsRestorer и custom skin
Как настроить скины на пиратском Minecraft-сервере 2026: SkinsRestorer, MineSkin API, custom skin server, команды /skin set, /skinurl, интеграция с EssentialsX.
Кратко: На cracked-серверах (online-mode=false) скины Mojang не работают. Решение - плагин SkinsRestorer: положите JAR в plugins/, и игроки смогут менять скины командой /skin set Notch (любой ник Mojang) или /skinurl https://… (свой PNG через MineSkin). Поддержка Paper 1.8.8-1.21.x, BungeeCord, Velocity.
Свои скины на Minecraft сервере: SkinsRestorer и custom skin
SkinsRestorer - плагин, который возвращает работающие скины игрокам на серверах с online-mode=false. На 2026-й это де-факто стандарт для пиратских и mixed-серверов: установлен на более чем 350 000 серверов по статистике bStats. В этой статье - полная настройка SkinsRestorer, работа с MineSkin API, кастомные скины из PNG, интеграция с EssentialsX и AuthMe, и альтернативы вроде Ely.by.
Pterohost - игровой хостинг с DDoS-защитой L4+L7, NVMe SSD и 24/7 поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг
Почему скины не работают на пиратском сервере
На лицензионных серверах (online-mode=true) клиент Minecraft и сервер проверяют игрока через Mojang Authentication. Сервер запрашивает у Mojang Session API подписанную текстуру (skin) и кейп игрока, клиент отображает их.
На cracked-серверах (online-mode=false) этот механизм отключён: сервер принимает любых игроков по нику без проверки. UUID офлайн-игрока генерируется детерминированно из ника алгоритмом UUID.nameUUIDFromBytes(("OfflinePlayer:" + name).getBytes()). Mojang не знает этот UUID и не отдаёт по нему скин - в итоге игроки получают стандартного Steve или Alex.
SkinsRestorer обходит ограничение: плагин запрашивает у Mojang Session Server скин по нику другого (лицензионного) игрока и применяет его к локальному офлайн-аккаунту. Mojang-подпись остаётся валидной, и клиент отображает скин корректно.
Установка SkinsRestorer
Скачайте последний JAR с github.com/SkinsRestorer/SkinsRestorer/releases. Файлы:
SkinsRestorer.jar- для Paper, Spigot, Bukkit, Folia 1.8.8-1.21.x.SkinsRestorer-Bungee.jar- для BungeeCord и форков (Waterfall).SkinsRestorer-Velocity.jar- для Velocity.
Положите файл в plugins/ и перезапустите сервер. В логе должно появиться:
[INFO] [SkinsRestorer] Enabling SkinsRestorer v15.X.X
[INFO] [SkinsRestorer] Detected server platform: Paper 1.21.4
[INFO] [SkinsRestorer] Loaded storage: file (storage/players/)
[INFO] [SkinsRestorer] Successfully enabled. (took 320ms)
После старта в plugins/SkinsRestorer/ появятся:
config.yml- основная конфигурация.locales/- языки сообщений (русский:messages_ru_RU.yml).storage/players/- локальная база скинов (если используется file-storage).
Минимальная проверка - выполните в игре:
/skin set Notch
Если выходит сообщение Skin updated, плагин работает. Если ошибка Couldn't generate skin data - проблема с интернет-доступом из контейнера или блок Mojang API.
Основные команды SkinsRestorer
| Команда | Действие |
|---|---|
/skin set <ник> | Установить скин с аккаунта Mojang |
/skinurl <url> [steve|slim] | Установить скин из PNG-файла по URL |
/skin clear | Сбросить скин на стандартный |
/skin update | Обновить скин из Mojang (если оригинал поменялся) |
/skins | Открыть GUI выбора из default-скинов |
/skin search <запрос> | Поиск по локальной базе скинов |
/sr applyskin <ник> <ник2> | (admin) Применить скин одного игрока другому |
/sr setskin <ник> <skin> | (admin) Принудительно установить скин |
/sr reload | Перезагрузить config.yml |
/sr drop player <ник> | Удалить привязку скина у игрока |
Пермишены LuckPerms:
/lp group default permission set skinsrestorer.command true
/lp group default permission set skinsrestorer.command.set true
/lp group default permission set skinsrestorer.command.url true
/lp group default permission set skinsrestorer.command.clear true
Кастомные скины через URL и MineSkin
Команда /skinurl принимает прямую ссылку на PNG-файл скина 64x64 или 64x32. Пример:
/skinurl https://i.imgur.com/abc123.png
/skinurl https://i.imgur.com/abc123.png slim
Второй параметр - модель: steve (классическая, 4-пиксельные руки) или slim/alex (тонкие, 3-пиксельные руки).
Как работает под капотом: SkinsRestorer берёт URL, отправляет PNG на сервис MineSkin (api.mineskin.org), MineSkin загружает PNG на тестовый Mojang-аккаунт, получает подписанную текстуру и возвращает её в SkinsRestorer. Подпись валидна, и клиент отображает скин.
Ограничения MineSkin (бесплатный тариф):
- 30 секунд между генерациями на один IP.
- 50 запросов в сутки без API-ключа.
- PNG только 64x64 или 64x32, до 1 MB.
Для коммерческих серверов получите API-ключ на mineskin.org и пропишите его в config.yml:
mineskin-api-key: 'ваш_ключ_здесь'
С ключом - до 1000 генераций в день, лимиты на запросы существенно выше.
Default-скины и случайный скин для новых игроков
В config.yml можно задать набор скинов, которые автоматически выдаются новым игрокам:
default-skins:
enabled: true
apply-for-premium: false
skins:
- "Notch"
- "Herobrine"
- "Dinnerbone"
- "https://i.imgur.com/abc123.png"
При первом входе новичка плагин выберет случайный скин из списка. Опция apply-for-premium: false означает - не трогать скины лицензионных игроков.
Опция disabled-skins: запрещает использовать определённые скины (если их выбрали - принудительно ставится случайный из default).
UUID и привязка скинов
SkinsRestorer хранит привязку UUID игрока -> ID скина. На cracked-сервере UUID генерируется из ника, поэтому если игрок сменит ник - привязка пропадёт. На сервере с AuthMe и привязкой ника к аккаунту проблема решается на стороне AuthMe.
Посмотреть текущий скин игрока:
/sr playerinfo <ник>
В выводе - UUID, текущий skin-id, источник (Mojang/MineSkin/Custom).
Интеграция с EssentialsX
EssentialsX имеет встроенный essentials.changedisplayname и команды /nick. SkinsRestorer работает независимо: смена ника через /nick не меняет скин (если не привязан хук).
Для синхронизации в config.yml SkinsRestorer:
essentials-hook:
enabled: true
change-skin-on-nick-change: false
change-skin-on-nick-change: true - при смене ника через /nick плагин попытается загрузить скин с этого ника.
Хранение скинов: file / SQLite / MySQL
По умолчанию SkinsRestorer хранит данные в storage/players/<UUID>.yml и storage/skins/<имя>.yml. Для серверов с тысячами игроков переключитесь на SQLite или MySQL:
storage:
type: mysql
mysql:
host: 127.0.0.1
port: 3306
database: skinsrestorer
username: sruser
password: 'СильныйПароль2026'
table-prefix: 'sr_'
ssl: false
Создайте базу:
CREATE DATABASE skinsrestorer CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'sruser'@'localhost' IDENTIFIED BY 'СильныйПароль2026';
GRANT ALL PRIVILEGES ON skinsrestorer.* TO 'sruser'@'localhost';
FLUSH PRIVILEGES;
Перенос данных - команда /sr storage migrate.
Custom skin server: Ely.by и CustomSkinLoader
Альтернативы SkinsRestorer:
- Ely.by - российский сервис скинов и кейпов с собственным authlib-injector. Игроки регистрируются на ely.by, ставят клиентский java-агент, скины подгружаются с серверов Ely. Подходит для бесплатных лаунчеров. Минус - нужны изменения на клиенте.
- CustomSkinLoader - клиентский Forge/Fabric-мод. Сервер ничего не делает, мод подгружает скины с произвольного URL (skinsystem.ely.by, namemc.com, свой эндпоинт). Минус - игрокам нужно ставить мод.
- AuthlibInjector - подмена Mojang authlib на стороне клиента или сервера. Используется на крупных российских пиратках. Сложная настройка.
Для 95% серверов SkinsRestorer + MineSkin достаточно. Custom skin server имеет смысл только если у вас уже есть свой лаунчер.
Производительность и нагрузка
SkinsRestorer кэширует скины в памяти и на диске. Запрос к Mojang/MineSkin происходит только при /skin set или раз в default-skin-update-interval (по умолчанию 7 дней). Нагрузка на сервер минимальная - доли миллисекунд.
Сетевые требования: исходящий доступ к sessionserver.mojang.com, api.mojang.com, api.mineskin.org. На хостингах с фаерволом - откройте outbound 443/tcp на эти домены. На Pterohost доступ открыт по умолчанию.
Типичные проблемы и решения
Couldn't generate skin data при /skin set. Mojang временно недоступен или IP сервера попал в rate-limit. Подождите 5-10 минут, повторите. Проверьте логи: tail -f logs/latest.log | grep SkinsRestorer.
Skin not found при /skin set Notch. Mojang Session API временно глючит или ник не существует. Проверьте через https://api.mojang.com/users/profiles/minecraft/Notch в браузере - если возвращает JSON, проблема в плагине.
Скин применился, но другие игроки видят Steve. Игроку нужно перезайти на сервер - текстура передаётся клиенту только при подключении.
После рестарта скины пропали. Используется file-storage и записи не сохранились (например, kill -9). Переходите на SQLite или MySQL.
/skinurl не работает с imgur.com. Imgur иногда возвращает HTML вместо PNG. Используйте прямые ссылки: i.imgur.com/abc123.png, не imgur.com/abc123. Альтернатива - залить PNG на mineskin.org и взять прямую ссылку оттуда.
Готовая конфигурация для русского сервера
plugins/SkinsRestorer/config.yml для пиратского сервера:
storage:
type: file
default-skins:
enabled: true
apply-for-premium: false
skins:
- "MHF_Steve"
- "MHF_Alex"
- "Notch"
skin-update-interval: 7
commands:
per-skin-permissions: false
disabled-skins-enabled: true
disabled-skins:
- "Herobrine"
- "_Hitler_"
messages-language: ru_RU
Связанные материалы
После настройки скинов добавьте команды EssentialsX для управления игроками, WorldGuard и приваты для регионов и топовые плагины для пиратки.
Заключение
SkinsRestorer на 2026 - это plug-and-play решение для скинов на пиратском сервере. Установка занимает 5 минут, базовая команда /skin set <ник> работает из коробки, кастомные скины через /skinurl и MineSkin покрывают потребности 99% игроков. Custom skin server и Ely.by нужны только если есть свой лаунчер и инфраструктура.
Pterohost - игровой хостинг с DDoS-защитой L4+L7, NVMe SSD и 24/7 поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг