Глава 9.9: Контроль доступа
Краткое содержание: Настройка того, кто может подключаться к вашему DayZ-серверу, как работают баны, как включить удалённое администрирование и как проверка подписей модов не допускает неавторизованный контент. Эта глава охватывает все механизмы контроля доступа, доступные оператору сервера.
Содержание
- Доступ администратора через serverDZ.cfg
- ban.txt
- whitelist.txt
- Античит BattlEye
- RCON (Удалённая консоль)
- Проверка подписей
- Каталог keys/
- Внутриигровые инструменты администратора
- Распространённые ошибки
Доступ администратора через serverDZ.cfg
Параметр passwordAdmin в serverDZ.cfg задаёт пароль администратора для вашего сервера:
passwordAdmin = "YourSecretPassword";Вы используете этот пароль двумя способами:
- В игре -- откройте чат и введите
#login YourSecretPassword, чтобы получить привилегии администратора на текущую сессию. - RCON -- подключитесь с помощью клиента BattlEye RCON, используя этот пароль (см. раздел RCON ниже).
Держите пароль администратора длинным и уникальным. Любой, кто его знает, имеет полный контроль над работающим сервером.
ban.txt
Файл ban.txt находится в корневом каталоге вашего сервера. Он содержит по одному UID игрока на строку:
kBmDmSc4S3uVuKAJsBZTrh-jLWNJ3eX0_VsT2eXyV1Y=
DCV63zXcS_oWzPfED-PWAJVnJ3wOQ4_jE4WnZdfBkW8=- Каждая строка -- это 44-символьный UID игрока DayZ -- не 17-значный SteamID64. UID игрока можно найти в логах
*.ADMи*.RPT. - Вы можете добавить комментарий после ID, используя префикс
//на той же строке, или на отдельной закомментированной строке. - Игрокам, чей UID указан в этом файле, отказывается подключение при попытке входа.
- Использование ban.txt можно переключить параметром
disableBanlistв serverDZ.cfg (по умолчаниюfalse). - Вы можете редактировать файл при работающем сервере; изменения вступают в силу при следующей попытке подключения.
whitelist.txt
Файл whitelist.txt находится в том же корневом каталоге сервера. При включении белого списка (enableWhitelist = 1 в serverDZ.cfg) подключаться могут только игроки, чей UID указан в этом файле:
kBmDmSc4S3uVuKAJsBZTrh-jLWNJ3eX0_VsT2eXyV1Y=
DCV63zXcS_oWzPfED-PWAJVnJ3wOQ4_jE4WnZdfBkW8=Формат идентичен ban.txt -- один 44-символьный UID игрока на строку, с необязательными комментариями //.
Белый список полезен для приватных сообществ, тестовых серверов или мероприятий, где нужен контролируемый список игроков.
Античит BattlEye
BattlEye -- это система античита, интегрированная в DayZ. Её файлы находятся в папке BattlEye/ внутри каталога вашего сервера:
| Файл | Назначение |
|---|---|
| BEServer_x64.dll | Двоичный файл движка античита BattlEye |
| beserver_x64.cfg | Конфигурационный файл (порт RCON, пароль RCON) |
| bans.txt | Баны BattlEye (на основе GUID, не SteamID) |
BattlEye включён по умолчанию. Вы запускаете сервер с помощью DayZServer_x64.exe, и BattlEye загружается автоматически. Для явного отключения (не рекомендуется для продакшена) установите BattlEye = 0; в serverDZ.cfg.
Файл bans.txt в папке BattlEye/ использует GUID BattlEye, которые отличаются от SteamID64. Баны, выданные через RCON или команды BattlEye, записываются в этот файл автоматически.
RCON (Удалённая консоль)
BattlEye RCON позволяет администрировать сервер удалённо без входа в игру. Настройте его в BattlEye/beserver_x64.cfg:
RConPassword yourpassword
RConPort 2305BattlEye не использует фиксированный порт RCON по умолчанию -- если вы опустите RConPort, он будет слушать случайный порт. Задайте его явно. Рекомендуемое значение -- ваш игровой порт плюс 3, то есть 2305 для сервера, работающего на порту 2302. Он не должен совпадать с игровым портом или портом запросов Steam.
Доступные команды RCON
| Команда | Действие |
|---|---|
kick <player> [reason] | Кикнуть игрока с сервера |
ban <player> [minutes] [reason] | Забанить игрока (записывается в BattlEye bans.txt) |
say -1 <message> | Отправить сообщение всем игрокам |
#shutdown | Штатное завершение работы сервера |
#lock | Заблокировать сервер (нет новых подключений) |
#unlock | Разблокировать сервер |
players | Список подключённых игроков |
Вы подключаетесь к RCON с помощью клиента BattlEye RCON (существует несколько бесплатных инструментов). Для подключения требуется IP, порт RCON и пароль из beserver_x64.cfg.
Проверка подписей
Параметр verifySignatures в serverDZ.cfg контролирует, проверяет ли сервер подписи модов:
verifySignatures = 2;| Значение | Поведение |
|---|---|
0 | Отключено -- любой может подключиться с любыми модами, без проверки подписей |
2 | Полная проверка -- клиенты должны иметь валидные подписи для всех загруженных модов (по умолчанию) |
Всегда используйте verifySignatures = 2 на продакшен-серверах. Установка в 0 позволяет игрокам подключаться с модифицированными или неподписанными модами, что является серьёзным риском безопасности.
Каталог keys/
Каталог keys/ в корне вашего сервера содержит файлы .bikey. Каждый .bikey соответствует моду и сообщает серверу "подписи этого мода доверены."
Когда verifySignatures = 2:
- Сервер проверяет каждый мод, загруженный подключающимся клиентом.
- Для каждого мода сервер ищет соответствующий
.bikeyвkeys/. - Если подходящий ключ отсутствует, игрок кикается.
Каждый мод, который вы устанавливаете на сервере, поставляется с файлом .bikey (обычно в подпапке Keys/ или Key/ мода). Вы копируете этот файл в каталог keys/ вашего сервера.
DayZServer/
├── keys/
│ ├── dayz.bikey <- ванильный (всегда присутствует)
│ ├── MyMod.bikey <- скопирован из @MyMod/Keys/
│ └── AnotherMod.bikey <- скопирован из @AnotherMod/Keys/Если вы добавляете новый мод и забываете скопировать его .bikey, каждый игрок с этим модом будет кикнут при подключении.
Внутриигровые инструменты администратора
После входа с помощью #login <password> в чате вы получаете доступ к инструментам администратора:
- Список игроков -- просмотр всех подключённых игроков с их SteamID.
- Кик/бан -- удаление или бан игроков напрямую из списка.
- Телепортация -- использование карты администратора для телепортации в любую позицию.
- Лог администратора -- серверный лог действий игроков (убийства, подключения, отключения), записываемый в файлы
*.ADMв каталоге профиля. - Свободная камера -- отсоединение от вашего персонажа и полёт по карте.
Эти инструменты встроены в ванильную игру. Сторонние моды (такие как Community Online Tools) значительно расширяют возможности администрирования.
Распространённые ошибки
Это проблемы, с которыми операторы серверов сталкиваются чаще всего:
| Ошибка | Симптом | Решение |
|---|---|---|
Отсутствие .bikey в keys/ | Игроки кикаются при подключении с ошибкой подписи | Скопируйте файл .bikey мода в каталог keys/ вашего сервера |
| Использование SteamID64 вместо UID игрока в ban.txt | Баны не работают | Используйте 44-символьный UID игрока, по одному на строку (комментарии после // разрешены) |
| Конфликт порта RCON | RCON-клиент не может подключиться | Убедитесь, что порт RCON не используется другим сервисом; проверьте правила файрвола |
verifySignatures = 0 в продакшене | Любой может подключиться с изменёнными модами | Установите в 2 на любом публичном сервере |
| Забыли открыть порт RCON в файрволе | RCON-клиент получает таймаут | Откройте UDP-порт RCON (тот, что вы задали параметром RConPort, например 2305) в вашем файрволе |
Редактирование bans.txt в BattlEye/ с UID игроков | Баны не работают | BattlEye bans.txt использует GUID, а не UID; используйте ban.txt в корне сервера для банов по UID |
