Глава 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 находится в каталоге профиля вашего сервера (путь, заданный параметром -profiles=). Он содержит по одному SteamID64 на строку:
76561198012345678
76561198087654321- Каждая строка -- это простой 17-значный SteamID64 -- без имён, без комментариев, без паролей.
- Игрокам, чей SteamID указан в этом файле, отказывается подключение при попытке входа.
- Вы можете редактировать файл при работающем сервере; изменения вступают в силу при следующей попытке подключения.
whitelist.txt
Файл whitelist.txt находится в том же каталоге профиля. При включении белого списка подключаться могут только SteamID, указанные в этом файле:
76561198012345678
76561198087654321Формат идентичен ban.txt -- один SteamID64 на строку, ничего больше.
Белый список полезен для приватных сообществ, тестовых серверов или мероприятий, где нужен контролируемый список игроков.
Античит BattlEye
BattlEye -- это система античита, интегрированная в DayZ. Её файлы находятся в папке BattlEye/ внутри каталога вашего сервера:
| Файл | Назначение |
|---|---|
| BEServer_x64.dll | Двоичный файл движка античита BattlEye |
| beserver_x64.cfg | Конфигурационный файл (порт RCON, пароль RCON) |
| bans.txt | Баны BattlEye (на основе GUID, не SteamID) |
BattlEye включён по умолчанию. Вы запускаете сервер с помощью DayZServer_x64.exe, и BattlEye загружается автоматически. Для явного отключения (не рекомендуется для продакшена) используйте параметр запуска -noBE.
Файл bans.txt в папке BattlEye/ использует GUID BattlEye, которые отличаются от SteamID64. Баны, выданные через RCON или команды BattlEye, записываются в этот файл автоматически.
RCON (Удалённая консоль)
BattlEye RCON позволяет администрировать сервер удалённо без входа в игру. Настройте его в BattlEye/beserver_x64.cfg:
RConPassword yourpassword
RConPort 2306Порт RCON по умолчанию -- ваш игровой порт плюс 4. Если ваш сервер работает на порту 2302, RCON по умолчанию использует 2306.
Доступные команды 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/ вашего сервера |
| Добавление имён или паролей в ban.txt | Баны не работают; случайные ошибки | Используйте только чистые значения SteamID64, по одному на строку |
| Конфликт порта RCON | RCON-клиент не может подключиться | Убедитесь, что порт RCON не используется другим сервисом; проверьте правила файрвола |
verifySignatures = 0 в продакшене | Любой может подключиться с изменёнными модами | Установите в 2 на любом публичном сервере |
| Забыли открыть порт RCON в файрволе | RCON-клиент получает таймаут | Откройте UDP-порт RCON (по умолчанию 2306) в вашем файрволе |
Редактирование bans.txt в BattlEye/ с SteamID | Баны не работают | BattlEye bans.txt использует GUID, а не SteamID; используйте ban.txt в каталоге профиля для банов по SteamID |
Главная | << Назад: Настройка производительности | Далее: Управление модами >>
