Свой сервер

Администраторы с разными правами на сервере Killing Floor (xAdmin, группы и пользователи)

Владельцу сервера Killing Floor нужны люди, которые следят за порядком: кикают нарушителей, меняют карту, добивают застрявших мобов. Если раздать всем один общий пароль администратора, каждый получит полные права, включая настройки сервера. Расширенное администрирование позволяет завести отдельные логины и выдать каждому только то, что ему нужно. Статья основана на руководстве Proton (Proton Net), опубликованном на форуме killingfloor.ru в 2011 году.

Простой вариант: один пароль на всех

В KillingFloor.ini, секция [Engine.AccessControl]:

AdminPassword=yourpass

Администратор открывает консоль (~) и вводит adminlogin yourpass, выходит командой adminlogout. С тем же паролем он заходит в WebAdmin по адресу http://IP-сервера:порт/ServerAdmin/. Удобно, но такой человек может менять любые параметры, поэтому пароль можно давать только тем, кому вы полностью доверяете.

Включаем группы и пользователей

  1. Остановите сервер и откройте KillingFloor.ini.
  2. В секции [Engine.GameInfo] замените строку:
AccessControlClass=Engine.AccessControl

на

AccessControlClass=xAdmin.AccessControlIni
  1. Запустите сервер. В верхнем меню WebAdmin (Current — Defaults — Admins & Groups) станет активным пункт Admins & Groups. Пользователи и группы хранятся в xAdmin.ini в папке System.
  2. Войдите в WebAdmin под стандартной учётной записью: логин Admin, пароль Admin.

Главный администратор

Стандартного пользователя Admin/Admin знают все, поэтому первым делом заведите своего:

  1. Add Groups: создайте группу, например MainAdmin, отметьте все права и нажмите Add Group.
  2. Add Users: создайте пользователя со своим логином и паролем (например MAdmin / MPass) и выберите для него группу MainAdmin в поле Initial Group, затем Add Admin.
  3. Browse Users: удалите пользователя Admin.

Теперь полные права есть только у вашего пользователя. Вход в игре меняется: нужен и логин, и пароль:

adminlogin MAdmin MPass

Модераторы с ограниченными правами

Пример: двум людям нужны разные права.

  • Модератор А может только кикать. Создайте группу Group1, отметьте в ней одно право Kick Players (раздел Kick/Ban), затем пользователя Moder1 с этой группой.
  • Модератор Б может кикать на сессию, банить, менять карту, убивать застрявших мобов и т.д. Создайте вторую группу с нужным набором галочек и пользователя для неё.

Модератор А входит в игре командой adminlogin Moder1 Password1, а в WebAdmin видит только Player List: при попытке открыть другой раздел WebAdmin сообщит, что прав недостаточно. Групп и пользователей может быть сколько угодно. В игре такой администратор выполняет только те команды, на которые у его группы есть права.

Вход одной клавишей

Вводить логин и пароль после каждой смены карты неудобно. В System\User.ini, секция [Engine.Input]:

F7=adminlogin Moder1 Password1
F8=adminlogout

F7 включает права администратора, F8 их снимает.

Коды привилегий в xAdmin.ini

Если WebAdmin не сохраняет отдельные галочки (например, только Kick Players без всей группы Kick/Ban), права можно прописать вручную в xAdmin.ini. Пользователь там выглядит так:

AdminUsers=(AdminName="boom",Password="134625",Privileges="Kp|Kb",Groups=("Admins"),ManagedGroups=("Admins"))

Одна буква означает всю группу прав, буква с уточнением — отдельное право. Несколько прав разделяются знаком |.

ГруппаКод всей группыОтдельные права
Kick/BanKKp Kick Players, Kb Ban Players, Ko Kick Bots
Maps/Game SettingsMMr Restart Map, Mt Change Game Type, Mm Change Map, Ml Manages Map Rotation, Ms Game Settings, Mu Select Mutators, Mb Add/Remove Bots, Ma Game Status
Users & GroupsA, GAl List Admins, Aa Add/Remove Admins, Ae Edit Admins, Ag Assign Groups, Am Make Managers, Gl List Groups, Ga Add/Remove Groups, Ge Edit Groups
MiscellaneousXXb Set Bot Skill, Xc Use Console, Xp Player List, Xs Change Webadmin Skin, Xi Manage Access Policies, Xv Voice Chat Management, Xm Match Setup

Примеры: Privileges="Kp|Kb|Ko" — кик и бан игроков и кик ботов; Privileges="Kp|Kb|Mm|G" — кик и бан, смена карты и редактирование групп в WebAdmin. Источник: форум killingfloor.ru, тема «Не сохраняются права на WebAdmin».

Частые проблемы

ПроблемаРешение
Пункт Admins & Groups так и не стал активнымПроверьте, что строка изменена именно в [Engine.GameInfo] и сервер полностью перезапущен
После смены класса не пускает со старым паролемЭто нормально: теперь вход Admin/Admin (WebAdmin) и adminlogin Admin Admin (игра), пока вы не создали своих пользователей
Нужны команды вроде «выдать всем оружие»Стандартная админка этого не умеет; нужен мутатор вроде AdminPlus
Русский текст в консоли WebAdmin показывается кракозябрамиПереключите кодировку страницы в браузере на Windows-1251