Рано или поздно на сервер приходит человек, которому там быть не должно. Как забанить игрока в Rust — вопрос на пять секунд, если под рукой есть SteamID и доступ к консоли, и вопрос на полчаса, если человек уже вышел, ник у него сменился, а вы не знаете, где сервер хранит бан-лист. Ниже — рабочий набор команд и то, что стоит знать про их поведение.
Кик: когда бан избыточен
Кик просто выкидывает игрока с сервера, вернуться он может сразу же:
kick "Nickname" "Причина"Полезен в двух случаях: снять зависшего игрока (иногда клиент виснет в мире и тело стоит столбом) и как предупреждение на грани. Причина показывается игроку на экране отключения, так что пишите её осмысленно.
Выкинуть всех сразу — например, перед незапланированным рестартом:
kickall "Технические работы, вернёмся через 10 минут"Как забанить игрока в Rust по нику и по SteamID
Ванильный Rust умеет и то и другое:
ban "Nickname" "Причина"
banid 76561198000000000 "Nickname" "Причина"ban работает только по игроку, которого сервер видит прямо сейчас, — он берёт SteamID из активного соединения. banid работает всегда, даже если человек последний раз заходил месяц назад. На практике почти всегда используется banid: SteamID не меняется, ник меняется за секунду.
Где взять SteamID вышедшего игрока: в логах консоли (строки подключения содержат и ник, и ID), в player.identities.*.db, либо через плагины статистики. Если игрок ещё онлайн, проще всего вывести список:
players
statusРазбан:
unban 76561198000000000Посмотреть текущий бан-лист:
banlist
banlistexbanlistex показывает расширенную версию — с причинами и SteamID, её и стоит использовать.
Где хранятся баны
Ванильные баны пишутся в файл:
server/ИмяИдентити/cfg/bans.cfgЭто обычный текстовый файл со строками banid .... Его можно править вручную при остановленном сервере, можно перенести целиком на новый сервер — так удобно переезжать, не теряя накопленный бан-лист. Рядом лежит users.cfg — там ownerid и moderatorid, то есть админка.
Оба файла должны попадать в бэкапы; про то, что ещё стоит сохранять, написано в заметке о настройке бэкапов сервера Rust.
Важный нюанс: если сервер запущен, а вы отредактировали bans.cfg через файловый менеджер, изменения затрёт при следующем сохранении. Правьте либо командами, либо на остановленном сервере.
Если серверов несколько, общий бан-лист можно вынести на свой веб-сервер: Rust умеет проверять игроков по внешнему API через конвар server.bansServerEndpoint. Формат запросов описан в вики Facepunch о централизованных банах.
Мьюты
Заглушить игрока в чате и голосовом:
mute 76561198000000000
unmute 76561198000000000Ванильный мьют бессрочный и живёт до ручного снятия. Временных мьютов «на час» в базовой игре нет — для этого ставят плагин, чаще всего BetterChatMute, который добавляет /mute Ник 1h причина и сам снимает ограничение по таймеру. Он же умеет глобальный мьют всего чата — иногда нужен, когда на сервере разгорелся конфликт, а модератор один.
Плагины: почему на живом сервере ими удобнее
Ванильные команды нормально работают, пока вы админ-одиночка. Как только появляется команда модераторов, всплывают проблемы: нет истории, нет сроков, нет привязки к доказательствам.
Что обычно ставят на Oxide:
- PlayerAdministration — админ-меню по команде
/padmс поиском игрока, баном, киком, мьютом и просмотром инвентаря. Модератору не нужна консоль вообще - Discord-интеграции — баны дублируются сообщением в канал, видно, кто и за что выдал
- Плагины временных банов — ванильный
banidбессрочный, а «бан на 3 дня» руками потом никто не снимет
Права на эти плагины удобно раздавать группой, чтобы не выдавать модератору полную админку: как это делается, разобрано в заметке про права и группы Oxide. Про установку самих плагинов — ручная установка плагинов Oxide.
Читеры и глобальные баны
EAC банит глобально — такой игрок физически не зайдёт ни на один защищённый сервер, вам делать ничего не нужно. Проблема в другом: EAC ловит не всё и не сразу, поэтому серверные баны за читы никуда не деваются.
Практика, которая экономит нервы:
- Не банить по одному репорту в чате. Смотрите демку или логи урона
- При бане писать причину в формате «дата + что было», через месяц вы не вспомните
- Хранить скриншоты и записи отдельно — апелляции приходят и через полгода
- Не разбаниваться «по просьбе», если правило нарушено дважды
Про то, какие инструменты помогают отлавливать читеров до жалоб, есть отдельный материал — защита от читеров на Rust-сервере.
Частые вопросы
Почему забаненный игрок зашёл снова?
Скорее всего, бан ушёл по нику через ban, и человек просто сменил ник, или зашёл со второго аккаунта. Первое лечится banid по SteamID, второе — только связкой с VPN/IP-фильтрацией на уровне плагинов, полностью проблему альтов ванильный сервер не решает.
Слетают ли баны после вайпа?
Вайп карты сам по себе баны не трогает — они в cfg/bans.cfg, а не в сейве. А вот если при вайпе почистили всю папку идентити целиком, вместе с ней уехал и бан-лист. Порядок безопасной очистки описан в заметке про вайп сервера.
Можно ли банить прямо из игры?
Да, если у вас есть админка: F1-консоль принимает те же команды. Модераторам обычно ставят админ-меню, чтобы не давать доступ к серверной консоли целиком.
Коротко
Рабочий минимум: banid по SteamID с внятной причиной, kick для мелочей, mute при бессрочной блокировке чата, banlistex для проверки. Как только модераторов становится больше одного — ставьте админ-плагин с историей действий, иначе через месяц никто не вспомнит, за что забанен половина списка. Нужен сервер, где панель и файловый доступ уже настроены, — тарифы под Rust здесь.