К статье
Практический материал

Другое · 12 мин

Как выдать временный бан в Minecraft на сервере

Инструкция по выдаче бана на время в Minecraft Java и Bedrock. Разбор команд /ban, /tempban, плагинов и настройки banlist.json.

В стандартной версии Minecraft (Java Edition) без установки дополнительного программного обеспечения отсутствует встроенная функция выдачи бана на определенный срок. Базовая команда `/ban` блокирует игрока навсегда, и администратору придется вручную редактировать файлы конфигурации или использовать сторонние плагины для автоматического снятия наказания. Понимание этого ограничения критически важно перед началом настройки сервера, так как попытки ввести несуществующие аргументы в ванильную консоль приведут к ошибке синтаксиса.

Для реализации временной блокировки чаще всего используются серверные ядра, такие как Spigot, Paper или Purpur, в связке с плагинами модерации. Наиболее популярным решением является плагин AdvancedBan или EssentialsX, которые перехватывают команду бана и добавляют к ней параметр длительности. В случае использования Bedrock Edition (GeyserMC или нативный сервер) логика может отличаться, но принцип расширения функционала через аддоны остается тем же.

Если вы управляете сервером, важно различать понятия «кик» (выбрасывание с сервера) и «бан» (запрет на подключение). Временный бан эффективен только тогда, когда у вас есть инструмент для автоматического снятия блокировки. В противном случае вы рискуете забыть о наказании или потерять файл списка забаненных, что потребует восстановления резервной копии. Ниже рассмотрены методы настройки временных блокировок для разных типов серверов.

Настройка временного бана через плагины

Самый надежный и распространенный способ организовать систему наказаний на сервере Java Edition — это установка специализированных плагинов. Они не только добавляют команду для временного бана, но и ведут логи, отправляют уведомления игрокам и автоматически разбаняют их по истечении срока.

Наиболее универсальным решением считается плагин AdvancedBan. Он полностью заменяет стандартную систему банов и предоставляет гибкий синтаксис. После установки плагина и перезагрузки сервера, команда для выдачи временного бана выглядит как `/tempban <ник> <время> <причина>`. Время можно указывать в различных форматах: `1d` (один день), `2h` (два часа), `30m` (тридцать минут) или даже `1mo` (один месяц).

bash
/tempban Notch 2d Гриферство построек

Другой популярный вариант — плагин LiteBans, который часто используется на крупных проектах благодаря поддержке баз данных (MySQL). Это позволяет синхронизировать баны между несколькими серверами сети. Синтаксис в LiteBans схож: `/tempban <игрок> <длительность> <причина>`. Плагин автоматически записывает дату истечения наказания в базу данных и проверяет её при каждой попытке входа игрока.

Для небольших серверов, где не требуется сложная интеграция с базами данных, подойдет плагин EssentialsX. Хотя его основная функция — предоставление базовых команд, модуль защиты включает возможности управления банами. Однако функционал временных банов в Essentials может быть ограничен по сравнению со специализированными решениями, поэтому внимательно изучите документацию конкретной версии плагина.

Ручное редактирование banlist.json в ванильном сервере

Если вы не хотите или не можете устанавливать плагины (например, на очень слабом хостинге или при использовании специфических версий ядра), единственный способ выдать временный бан — ручное редактирование файла списка блокировок. Этот метод требует осторожности, так как ошибка в формате JSON может привести к тому, что сервер не запустится или список банов перестанет работать.

Файл `banlist.json` находится в корневой папке сервера. Он хранит информацию о всех заблокированных игроках. Стандартная запись выглядит как массив объектов, где каждый объект содержит UUID игрока, дату создания бана и источник. Чтобы сделать бан временным, необходимо добавить поле `expires`, указав дату и время разблокировки в формате ISO 8601.

Пример правильной структуры для временного бана:

```json

[

{

"uuid": "8667ba71-b85a-4004-af54-457a9734eed7",

"name": "PlayerName",

"created": "-10-25T14:30:00.000Z",

"source": "Server",

"expires": "-10-26T14:30:00.000Z",

"reason": "Нарушение правил"

}

]

```

Обратите внимание на поле `expires`. Если оно отсутствует или установлено в далекое будущее, бан считается вечным. Дата должна быть в будущем относительно текущего времени сервера. После сохранения файла необходимо выполнить команду `/banlist reload` в консоли или внутри игры, чтобы изменения вступили в силу без перезапуска всего сервера.

Недостаток этого метода — отсутствие автоматического удаления записи после истечения срока. Игрок сможет зайти, но его запись останется в файле, пока вы не удалите её вручную командой `/pardon` или редактированием файла. Это может засорять список со временем.

Использование консоли и RCON для удаленного управления

Для администраторов, управляющих сервером удаленно, критически важно знание работы с консолью и протоколом RCON. Прямой ввод команд в консоль хостинг-панели или через SSH часто быстрее и надежнее, чем использование игрового чата, особенно при массовых нарушениях.

При использовании плагинов команды временного бана работают из консоли так же, как и из игры, но без указания слэша в начале (в зависимости от оболочки консоли). Например, в Linux-консоли команда будет выглядеть как `tempban User 1h Spamm`. Это позволяет скриптовать процессы модерации или использовать внешние панели управления.

Порядок действий через консоль
  1. 1
    Подключитесь к консоли сервера через панель хостинга или SSH
  2. 2
    Введите команду бана с указанием времени (например: tempban Nick 30m Нарушение)
  3. 3
    Нажмите Enter и проверьте сообщение об успехе выполнения
  4. 4
    Убедитесь, что игрок был отключен от сервера

Если вы используете RCON (Remote Console), убедитесь, что в файле `server.properties` включена опция `enable-rcon=true` и установлен надежный пароль `rcon.password`. Это позволит отправлять команды бана из внешнего приложения или бота Discord. Многие современные боты для дискорда имеют интеграцию с Minecraft именно через RCON, позволяя выдавать временные баны прямо из чата сообщества.

Если игрок пытается обойти бан через смену ника (что возможно при использовании пиратского режима `online-mode=false`), консоль позволяет забанить по IP-адресу. Команда `/ban-ip <адрес>` также может быть модифицирована плагинами для временной блокировки адреса, что эффективно против обходов.

Особенности бана в Bedrock Edition и кроссплатформенных серверах

Серверы Minecraft Bedrock Edition (ранее PE, Win10, Console) работают на другом ядре и имеют отличную структуру файлов. Нативный сервер Bedrock Dedicated Server также не поддерживает временные баны «из коробки» в базовой команде `/ban`. Здесь администраторы сталкиваются с необходимостью использования аддонов или скриптов.

Для реализации временных ограничений в Bedrock часто используются скриптовые движки, такие как LiteLoaderBDS или плагины для PocketMine-MP. В PocketMine-MP, который является популярным ядром для Bedrock, команда временного бана встроена или доступна через простые плагины. Синтаксис обычно выглядит как `/tempban

Сравнение вариантов бана

Java Edition + Плагины

Максимальная гибкость, богатый функционал, автоматический разбан. Требует установки Spigot/Paper.

Bedrock (PocketMine)

Встроенная поддержка или простые плагины. Подходит для мобильных и консольных игроков.

Ванильный сервер (любой)

Только ручное редактирование файлов. Высокий риск ошибки, нет автоматизации.

При использовании прокси-серверов типа GeyserMC, которые позволяют игрокам Bedrock заходить на Java серверы, система банов полностью зависит от Java-стороны. То есть, если на Java сервере стоит AdvancedBan, игрок с телефона получит тот же временный бан и увидит то же сообщение при попытке входа. Это упрощает модерацию на кроссплатформенных проектах.

Следует учитывать, что в Bedrock Edition игроки чаще меняют свои Xbox Live теги (ники), чем Java-игроки меняют никнеймы. Поэтому бан по имени в Bedrock менее эффективен в долгосрочной перспективе. Рекомендуется использовать бан по XUID (уникальный идентификатор учетной записи Xbox), который не меняется при смене ника. Плагины для Bedrock обычно поддерживают команду `/tempbanxuid` или аналогичную.

Анализ причин и сроков блокировки

Правильная настройка длительности бана — это искусство балансировки между наказанием и шансом на исправление. Слишком короткий бан за серьезное нарушение (например, использование читов) не остановит нарушителя, а слишком длинный бан за случайную оплошность демотивирует игрока.

Спам в чате10 минут – 1 час

Первое предупреждение должно быть мягким.

Гриферство (мелкое)1 день – 3 дня

Достаточно, чтобы игрок осознал потерю прогресса.

Использование читов7 дней – Навсегда

Читеры редко исправляются, лучше удалить аккаунт.

Оскорбления1 час – 24 часа

Зависит от токсичности сообщества.

При выдаче бана всегда указывайте причину. В плагинах это делается через аргумент команды, в ваниле — через поле `reason` в JSON. Игрок, который понимает, за что он наказан, с меньшей вероятностью будет создавать тикеты в поддержку с вопросами «за что меня забанили?». Прозрачность системы наказаний повышает лояльность сообщества.

Также стоит учитывать часовой пояс сервера. При ручном редактировании `banlist.json` дата указывается в формате UTC. Если вы пишете дату локального времени, бан может сняться раньше или позже ожидаемого. Плагины обычно автоматически конвертируют время, вводимое в формате `1d`, в корректное время сервера, что снижает риск ошибки.

Частые ошибки при модерации и их последствия

Даже опытные администраторы допускают ошибки при выдаче наказаний. Самая распространенная проблема — опечатка в никнейме при ручном вводе команды или редактировании файла. Если вы случайно забаните не того игрока (например, `Notchh` вместо `Notch`), настоящий нарушитель останется на свободе, а невиновный получит блокировку.

Другая ошибка — использование временного бана для игроков, которые используют запрещенное ПО (читы). Временная мера здесь не работает, так как цель читера — получить преимущество. После истечения срока бана он вернется с тем же софтом. Для таких случаев лучше предусмотреть перманентный бан с возможностью апелляции через Discord или форум.

При работе с файлом `banlist.json` частой ошибкой является нарушение синтаксиса JSON. Например, отсутствие запятой между объектами в массиве или использование одинарных кавычек вместо двойных. Сервер Minecraft очень строг к формату JSON. Всегда проверяйте файл через онлайн-валидатор JSON перед загрузкой его на сервер.

FAQ: Вопросы и ответы по временным банам

Можно ли выдать временный бан без установки плагинов на Java сервер?

Да, но только путем ручного редактирования файла banlist.json. Вам нужно добавить поле "expires" с датой разблокировки в формате ISO 8601 для соответствующего игрока. Автоматического снятия бана в ваниле не произойдет, запись нужно будет удалить вручную или командой /pardon после истечения срока.

Почему команда /tempban пишет "Unknown command"?

Это означает, что на вашем сервере не установлен плагин, поддерживающий эту функцию. В чистой версии Minecraft (Vanilla) такой команды не существует. Установите плагины вроде AdvancedBan, EssentialsX или LiteBans для добавления этого функционала.

Как забанить игрока, который постоянно меняет ники?

На лицензионных серверах бан привязывается к UUID аккаунта, который не меняется при смене ника. На пиратских серверах (online-mode=false) эффективен только бан по IP-адресу (/ban-ip). Для временного IP-бана также потребуются плагины, так как ванильная команда банит по IP навсегда.

Где хранится список забаненных игроков?

В Java Edition список находится в файле banlist.json в корневой папке сервера. В Bedrock Edition аналогичный файл называется allowlist.json (для белого списка) или permissions.json / banlist.json в зависимости от версии ядра. Плагины могут хранить данные в своих папках или в базе данных MySQL.

Увидит ли игрок причину бана и время его окончания?

Да, если вы используете современные плагины (AdvancedBan, LiteBans), они автоматически формируют красивое сообщение при попытке входа, где указано время разбана и причина. В ванильной версии игрок увидит стандартное сообщение "You are banned from this server", и чтобы он увидел причину и дату, их нужно прописать в поле reason и expires, но отображение будет зависеть от клиента.

Можно ли сократить срок бана досрочно?

Да. В плагинах это делается командой /unban или /pardon <ник>. При ручном управлении нужно удалить соответствующую запись из файла banlist.json и выполнить перезагрузку списка банов. Игрок сможет подключиться немедленно.