DGuard

Скины на пиратском сервере: SkinsRestorer — установка, команды и прокси

На сервере с online-mode=false игроки бегают в стандартных скинах: сервер не получает от Mojang подписанные текстуры. Плагин SkinsRestorer возвращает скины лицензионных ников и даёт всем команду /skin. Разбираем установку на один сервер и за Velocity или BungeeCord, команды, права и настройки — по документации SkinsRestorer 15.12.6.

Команда DGuard9 мин

Коротко: положите SkinsRestorer.jar в plugins/ и перезапустите сервер — один и тот же jar работает на Paper, Spigot, Velocity и BungeeCord. Игрок без выбранного скина получает скин аккаунта Mojang с тем же ником, а поменять его можно командой /skin set <ник> или /skin url "<ссылка на PNG>". Обычным игрокам выдайте право skinsrestorer.player. В сети SkinsRestorer ставят на прокси и на каждый игровой сервер, а база MySQL нужна только плагинам, которые обращаются к его API.

Почему на пиратском сервере нет скинов

Скин в Java Edition — это ссылка на текстуру в профиле игрока, подписанная сервисами Mojang. Клиент проверяет подпись, поэтому подсунуть свою картинку нельзя. Сервер с online-mode=false аккаунт через Mojang не проверяет и подписанного профиля не получает — Minecraft Wiki прямо называет отсутствие скинов побочным эффектом оффлайн-режима. Клиенты видят такого игрока в одном из девяти стандартных скинов. Что ещё меняет этот режим и как защитить ники паролем, — в статьях сервер для пиратки и плагины авторизации.

SkinsRestorer сам запрашивает подписанные текстуры у Mojang (или у сервиса MineSkin для своих картинок) и подставляет их в профиль игрока. Какой скин получит игрок при входе на пиратский сервер, плагин решает по порядку:

СитуацияКакой скин увидят другие
Игрок выбрал скин командой /skinВыбранный — выбор сохраняется между входами
Выбора нет, на Mojang есть аккаунт с таким никомСкин этого аккаунта: лицензионный игрок на пиратском сервере снова в своём скине
Выбора нет, аккаунта нет, включены скины по умолчаниюСлучайный из списка storage.defaultSkins.list
Игрок Bedrock через FloodgateSkinsRestorer скин Java не ищет — скин Bedrock показывает Floodgate
Ничего из перечисленногоСтандартный скин игры
По исходному коду SkinsRestorer 15.12.6 (PlayerStorageImpl). Скины по умолчанию выключены (storage.defaultSkins.enabled: false); с applyForPremium: true их получают и ники с аккаунтом Mojang

Установка на один сервер

  1. 1

    Скачайте плагин

    Берите SkinsRestorer.jar с Modrinth, Hangar или GitHub. Выпуск 15.12.6 вышел 20 сентября 2026 года, на Modrinth у плагина отмечены версии от 1.8 до 26.3. Лицензия — GPL-3.0, плагин бесплатный.

  2. 2

    Остановите сервер и положите jar в plugins/

    Старые jar SkinsRestorer удалите, папку с данными оставьте. Не устанавливайте плагины через /reload — документация SkinsRestorer прямо это запрещает. Общий порядок — в статье как установить плагин.

  3. 3

    Запустите и прочитайте консоль

    Плагин создаст plugins/SkinsRestorer/config.yml. Для первой проверки настройки по умолчанию подходят.

  4. 4

    Выдайте права

    Право skinsrestorer.player открывает игрокам обычные команды и меню скинов. Через LuckPerms — командой ниже, подробно о группах — в статье LuckPerms.

  5. 5

    Проверьте

    Зайдите обычным аккаунтом без OP, выполните /skin set xknat и попросите другого игрока посмотреть на вас. Затем перезайдите: скин должен остаться. Свой клиент может ненадолго показывать старый скин — проверяйте глазами другого игрока.

права для всех игроков через LuckPerms
lp group default permission set skinsrestorer.player true

Команды /skin и права

КомандаЧто делаетПраво
/skin set <ник> или /skin <ник>Скин аккаунта с этим никомskinsrestorer.command.set
/skin url "<ссылка>" [classic|slim]Скин из PNG по ссылке; slim — модель с тонкими рукамиskinsrestorer.command.set.url
/skin clearУбрать выбор: вернётся скин аккаунта или скин по умолчаниюskinsrestorer.command.clear
/skin updateПодтянуть свежую версию скопированного скинаskinsrestorer.command.update
/skin undo, /skin historyВернуть прошлый скин, показать историюskinsrestorer.command.undo
/skins или /skin menuМеню скинов в инвентареskinsrestorer.command.gui
/skin set <ник> <игрок>Сменить скин другому игрокуskinsrestorer.command.set.other
/sr createcustom <имя> <ник или ссылка>Именной скин сервера, например для менюskinsrestorer.admincommand.createcustom
/sr statusПроверить связь с сервисами аккаунтов Mojangskinsrestorer.admincommand.status
/sr reloadПеречитать config.ymlskinsrestorer.admincommand.reload
По странице Commands and permissions документации SkinsRestorer
  • Свой PNG без лицензии. Страница Upload на сайте SkinsRestorer принимает PNG до 5 МБ и выдаёт готовую команду /skin url — игроку остаётся вставить её в чат. Шаблон скина — стандартный 64 × 64.
  • Задержка. Между сменами скина по умолчанию 30 секунд (commands.skinChangeCooldown), после ошибки — 5 секунд. Обходит задержку право skinsrestorer.bypasscooldown.
  • Права персонала. skinsrestorer.admin включает команды игрока и действия над другими игроками, но не reload, dump и purgeolddata — их выдают отдельно.
  • Проверяйте не под OP. Оператор или широкий шаблон прав скрывают ошибки в группах: документация советует проверять доступ обычным аккаунтом.

SkinsRestorer за Velocity и BungeeCord

В сети прокси принимает игроков, хранит выбранные скины и выполняет команды /skin, а игровые серверы получают готовый профиль. Поэтому SkinsRestorer ставят и на прокси, и на каждый игровой сервер — один и тот же выпуск.

  1. 1

    Настройте передачу данных игрока

    Velocity: player-info-forwarding-mode = "modern" в velocity.toml, на каждом Paper — proxies.velocity.enabled: true и тот же секрет в config/paper-global.yml, online-mode=false в server.properties. BungeeCord: ip_forward: true на прокси и settings.bungeecord: true в spigot.yml серверов. Пошагово — в статье настройка Velocity.

  2. 2

    Поставьте jar на прокси и все серверы

    Один выпуск везде. На серверах оставьте server.proxyMode.detection: AUTO: при правильной передаче данных плагин сам поймёт, что он за прокси.

  3. 3

    Выдайте права на прокси

    Команды выполняет прокси, поэтому skinsrestorer.player нужно выдать в плагине прав прокси — например, LuckPerms для Velocity. Право, выданное только на игровом сервере, команду не откроет.

  4. 4

    Проверьте переход между серверами

    Зайдите через адрес прокси, смените скин, перейдите на другой сервер. Если скин есть только на одном — сравните его настройки передачи с рабочим сервером.

Когда нужна MySQL

По умолчанию данные хранятся в файлах (database.type: FILE), и для обычных скинов в сети этого достаточно: документация отдельно пишет, что несколько серверов — не повод заводить базу. MySQL или PostgreSQL нужны, когда плагин на игровом сервере обращается к API SkinsRestorer — тогда прокси и такие серверы подключают к одной базе с одинаковым префиксом таблиц. Подробнее о базах для плагинов — в статье MySQL для плагинов.

plugins/SkinsRestorer/config.yml — фрагмент, затем перезапуск
database:
  type: MYSQL
  host: "127.0.0.1"
  port: 3306
  database: "skinsrestorer"
  username: "skinsrestorer"
  password: "пароль-базы"
  tablePrefix: "sr_"
  • Смена database.type не переносит старые записи из файлов в базу — перенос планируют отдельно, а перед ним делают резервную копию.
  • Тип базы, подключение и обнаружение прокси применяются только после перезапуска, а не /sr reload.
  • Если API на игровых серверах не нужен, на них можно поставить server.proxyMode.api: false — скины от прокси будут работать как прежде.

Полезные настройки

КлючПо умолчаниюЗачем менять
storage.defaultSkins.enabledfalseВключить свои скины по умолчанию для ников без аккаунта Mojang
commands.disabledSkins.enabledfalseЗапретить выбор скинов из списка commands.disabledSkins.list — например, ников вашей команды
commands.restrictSkinUrls.enabledfalseРазрешить /skin url только для ссылок из белого списка
commands.skinChangeCooldown30Секунды между сменами скина; 0 — без задержки
api.elyByEnabledfalseБрать скины аккаунтов Ely.by вместо Mojang
messages.localeenЯзык сообщений; с messages.perIssuerLocale: true игрок видит язык своего клиента, если перевод есть
Ключи и значения — из справочника конфигурации SkinsRestorer 15.12.6

Платные скины. Если включить commands.perSkinPermissions, каждый скин потребует право skinsrestorer.skin.<имя>. Плагин включит режим, только если в perSkinPermissionsConsent вписано согласие с правилами: нельзя брать деньги за собственный скин игрока и подменять его скин стандартным, чтобы вынудить заплатить; продавать можно свои, сделанные для сервера скины. Как продавать привилегии, не нарушая правила Mojang, — в статье монетизация и EULA.

Скины и античит

Скин — только текстура. Хитбокс стоящего игрока в Java Edition — 0,6 × 1,8 блока, какой бы скин или модель рук он ни выбрал: «тонкий» скин Alex не делает игрока меньше, а увеличить зону попадания может только чит Hitbox. DGuard — лучший античит для современного сервера Minecraft — проверяет поведение и пакеты, а не аккаунт и не внешность, поэтому на пиратском сервере работает так же, как на лицензионном: новый ник или чужой скин не делают читера невидимым.

DGuard — плагин для Paper и Leaf 1.21–26.3, он работает за Velocity и BungeeCord и делает исключения для игроков Bedrock, заходящих через Floodgate, — та же схема сети, что у SkinsRestorer. До 30 игроков онлайн DGuard бесплатен, с той же защитой, что на платных тарифах.

Частые вопросы

Как сделать скины на пиратском сервере Minecraft?

Поставьте плагин SkinsRestorer: SkinsRestorer.jar в plugins/ и перезапуск. Игроки с ником лицензионного аккаунта получат его скин автоматически, остальные выбирают скин командой /skin set <ник> или /skin url "<ссылка>".

Как поменять скин на сервере через SkinsRestorer?

Командой /skin set <ник> — скин аккаунта с этим ником, или /skin url "<ссылка на PNG>" slim — свой PNG с тонкими руками. Вернуть прежний поможет /skin undo, убрать выбор — /skin clear.

Почему SkinsRestorer не меняет скин?

Если команда отклонена — у игрока нет права skinsrestorer.player или нужного узла, а в сети права выданы не на прокси. Если команда прошла, но скин не виден, попросите посмотреть другого игрока: лаунчер или мод скинов может подменять скин только на одном клиенте. В сети проверьте передачу данных игрока и SkinsRestorer на каждом сервере.

Нужна ли MySQL для SkinsRestorer в сети с Velocity?

Для обычных скинов — нет: прокси хранит выбор в файлах и сам передаёт скины серверам. MySQL или PostgreSQL нужны, только если плагины на игровых серверах обращаются к API SkinsRestorer.

Работает ли SkinsRestorer на лицензионном сервере?

Да, плагин поддерживает и online-mode=true, и online-mode=false. Выключать проверку лицензии ради скинов не нужно: на лицензионном сервере SkinsRestorer просто даёт игрокам менять скин командами.

Источники

Все разделы
Создание сервера6 минСервер для пиратки (online-mode=false): риски и защитаС online-mode=false сервер не проверяет аккаунт игрока через Mojang: зайти можно под любым ником, в том числе под ником администратора. Держать такой сервер можно, но только с плагином авторизации, правами без OP и защитой от ботов. Разбираем, что именно меняется и что настроить.ЧитатьПлагины8 минПлагины авторизации Minecraft: AuthMe, nLogin и другиеПлагин авторизации нужен серверу с online-mode=false: без него любой может зайти под чужим ником. Сравниваем AuthMe Reloaded, nLogin, LibreLogin и LimboAuth по фактам с их страниц — где работают, как хранят пароли, умеют ли пускать лицензию без пароля и двухфакторный вход — и разбираем настройки, которые закрывают подбор паролей.ЧитатьПрокси и сети7 минКак настроить Velocity: сеть серверов с лоббиСобираем сеть из прокси Velocity, лобби и режима выживания: velocity.toml, безопасная передача данных игроков, конфиги Paper на серверах и файрвол — без него в сеть можно зайти под чужим ником.Читать

Поставьте лучший античит для современного Minecraft

DGuard ловит все 47 видов читов из нашего сравнения — у ближайшего соперника, Intave, 27. Полная защита на любом тарифе, до 30 игроков онлайн — бесплатно.