Skip to content
Перейти к содержимому
Вернуться в блог
CommandWhitelist: Полный Контроль над Командами Сервера

CommandWhitelist: Полный Контроль над Командами Сервера

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
23 просмотров
TL;DR:CommandWhitelist - плагин для серверов Minecraft, дающий админам точный контроль над командами, видимыми и доступными для игроков. Идеален для ванильных серверов, модифицированных сетей и ролевых сообществ.
GitHub - Проект сообщества Minecraft

CommandWhitelist (YouHaveTrouble/CommandWhitelist)

Вы решаете, какие команды могут использовать игроки на вашем сервере!

Маркер на GitHub ↑
★ 261 звёзд📚 Java📜 GPL-2.0

Заводили ли вы когда-нибудь сервер Minecraft, где игроки обнаруживали команды, которые вы бы хотели скрыть? CommandWhitelist решает эту проблему. Плагин позволяет админам контролировать, какие команды видны и доступны игрокам, включая настройку сообщений "неизвестной команды". Простая идея, но мощный эффект.

Что делает этот плагин

CommandWhitelist - плагин для серверов Minecraft, действующий как "воротник" для команд. Вместо того, чтобы все команды были видны каждому игроку, вы определяете, что им доступно. Можно блокировать выполнение команд, скрывать их из автозаполнения или целевым образом обрабатывать подкоманды. Плагин работает на серверах, основанных на Bukkit (Spigot, Paper, Purpur и др.), прокси-серверах Waterfall и Velocity, что делает его универсальным для практически любых серверных конфигураций.

Ядро идеи простое, но мощное: не давайте игрокам знать о существовании команд, если они не предназначены для их использования. Если игроки не могут автозаполнить что-то вроде "op", они меньше склонны пытаться использовать это. Если команда "plugins" не появляется в их подсказках, они не будут копаться в настройках сервера или открывать установленные моды. Это безопасность через незнание, но для админов серверов это означает реальное спокойствие.


Почему админы серверов используют это

Сценарий один: вы управляете ванильным сервером для выживания с установленными админ-командами для улучшения качества игры. Вы не хотите, чтобы обычные игроки обнаружили `/give`, `/gamemode`, или `/tp`. CommandWhitelist сохраняет эти опасные инструменты невидимыми.

Сценарий два: у вас модифицированный сервер с 50+ командами плагинов, и вы хотите, чтобы игроки видели только те команды, которые действительно могут использовать. Вместо того, чтобы перегружать новых игроков `/admin`, `/debug`, `/dev` и ещё пятнадцать команд, которые они не могут использовать, вы показываете им только команды, предназначенные для игроков. Чисто. Профессионально.

Затем есть серверы, ориентированные на погружение. Руководите ролевой общиной? Скрывайте команды, нарушающие образ. Строите сервер с челленджем на выживание? Скрывайте команды, облегчающие выживание. Создаёте сервер с мини-играми? Показывайте только команды, актуальные для каждой игры. Если вы также проверяете список серверов Minecraft, чтобы ваш сервер был обнаружен, вы захотите, чтобы ваш сервер выглядел полированно, и CommandWhitelist помогает в этом.

Не упускайте из виду брендинговый аспект. Вместо стандартного "Незнанная команда. Введите '/help' для помощи" CommandWhitelist позволяет настраивать этот ответ. Добавьте имя вашего сервера, направьте игроков к вашему Discord, сделайте так, чтобы они чувствовали, что играют на реальном, предназначенном сервере, а не на стандартном экземпляре Spigot.


Установка и Конфигурация

Запуск CommandWhitelist занимает две минуты. Скачайте последний JAR с GitHub, положите его в папку плагинов и перезапустите:

bash
cd /path/to/server/plugins
wget https://github.com/YouHaveTrouble/CommandWhitelist/releases/download/v2.12.0/CommandWhitelist-2.12.0.jar
# Перезапустите сервер

При первом запуске CommandWhitelist автоматически генерирует файл конфигурации. По умолчанию ничего не блокируется - вам необходимо явно определить, что нужно скрыть. Конфигурация основана на YAML и проста в использовании после открытия файла.

Если вы также управляете белым списком игроков вашего сервера, инструмент Minecraft Whitelist Creator хорошо работает вместе с CommandWhitelist для отдельного управления традиционным белым списком имен игроков.


Ядревые Функции, Решающие Реальные Проблемы

Скрывание автозаполнения - выдающаяся функция. Когда игроки нажимают Tab после ввода `/`, CommandWhitelist контролирует, какие подсказки появляются. Это незаметно, но решает две проблемы: предотвращает обнаружение команд, которые не должны использоваться, и устраняет путаницу от видения команд, которые не работают.

Целевая обработка подкоманд отличает этот плагин от одномерных блокировщиков команд. Большинство плагинов работают на уровне команд - вы либо полностью разрешаете `/say`, либо блокируете его. CommandWhitelist идёт глубже. Вы можете заблокировать `/say message`, но разрешить `/say`. Большинство игроков могут блокировать `/give player_item_amount`, но разрешать другие подкоманды `/give`. Это важно, когда у вас сложная структура разрешений с опасными подкомандами.

Настройка сообщений "неизвестной команды" заменяет стандартный текст ошибки на что-то, что подходит вашему серверу. Вместо стандартной ошибки вы получаете что-то вроде: "Эта команда не доступна на этом сервере" или "Вопросы? Проверьте документацию сервера или спросите у сотрудника." Это небольшой штрих, делающий ваш сервер намеренным.

Встроенная интеграция с разрешениями. Если у игрока нет разрешения на использование команды, CommandWhitelist автоматически скрывает её из автозаполнения. В сочетании с плагином разрешений, таким как LuckPerms, это создаёт сплоченный опыт, где игроки видят только команды, которые им разрешены использовать.


Питфолы и Общие Проблемы

Самый большой подводный камень: CommandWhitelist использует опт-ин блокировку. Ничто не скрывается, пока вы не явно добавите это в конфиг. Если вы ожидаете, что всё будет скрыто по умолчанию, а разрешены только определённые команды, вы будете разочарованы. Вам необходимо активно настраивать, что блокируется.

Блокировка автозаполнения не предотвращает выполнение команд через другие средства. Если игрок уже знает о команде `/give`, он всё ещё может ввести её直接. CommandWhitelist может блокировать выполнение, но для полной секретности вам нужно предотвратить как автозаполнение, так и выполнение. Планируйте в соответствии с вашим случаем.

Совместимость стабильна с Minecraft 1.13, что покрывает практически все активные серверы. Последний релиз (v2.12.0) собран с Java 21 и обновлёнными зависимостями adventure. Если ваш сервер работает на 1.12 или ранее, CommandWhitelist не поможет - хотя на этот момент у вас будут более большие проблемы.

Одно критическое ограничение: CommandWhitelist работает на прокси-серверах Waterfall, но явно не поддерживает BungeeCord. Если вы используете BungeeCord, вам необходимо настраивать CommandWhitelist на каждом бэкенд-сервере индивидуально вместо центральной настройки на прокси. Пользователи Waterfall получают удобство центральной конфигурации.


Настройка Представления Вашего Сервера

CommandWhitelist хорошо сочетается с другими усилиями по настройке сервера. Если вы уже думаете о пользовательском опыте, управляя командами, то же самое мышление применяется к тому, чтобы позволить игрокам просматривать Minecraft Скины в вашей общине, настраивать кастомные спавны и создавать отличную идентичность сервера. Эти маленькие штрихи накапливаются в сервер, который feels профессиональным, а не скудным.


Альтернативы, Которым Стоит Знать

PermissionsEx, если вы уже используете его для разрешений, может обрабатывать некоторую блокировку команд. Он менее специализирован, чем CommandWhitelist, но может удовлетворить ваши потребности. LiteBans имеет встроенную скрытую команду, но это прежде всего система наказаний - лучше, если вам нужное полное управление банами, а не чистый контроль над командами.

Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy