Зарезервированные слоты на сервере Killing Floor. (Перевод)

В данной статье я расскажу как сделать зарезервированные слоты в killingfloor (да и в целом для игр на движке UT2004). Для этого нам потребуется скачать и установить серверную модификацию ServerExt, которую разработал Майкл (El_Muerte) Хендркс.

Эта модификация позволит добавить зарезервированные слоты на сервер KF.  Данная модификация рассчитана на вариант с одним админом и вариант со множеством админов сервера, с одним НО. Она не работает с модами, заменяющими модуль AccessControl движка.

Установка
Если вы используете вариант одного админа, то вам следует изменить следующую настройку:

[Engine.GameInfo]
AccessControlClass=ServerExt.ReservedSlots

Для варианта нескольких админов:

[Engine.GameInfo]
AccessControlClass=ServerExt.ReservedSlotsIni

Настройка

[ServerExt.ReservedSlots]
bSilentAdmin=false
SlotManagerClasses=ServerExt.SlotManager

bSilentAdmin
Когда true вход админа остаётся незамеченным (сервер не сообщает об этом игрокам)
SlotManagerClasses
Управляющий слотами класс. Оставьте эту настройку по умолчанию, пока не узнаете за что она отвечает. (ориг.)

Если вы используете ReservedSlotsIni, то вам следует создать секцию [ServerExt.ReservedSlotsIni].

Зарезервированные слоты могут быть сконфигурированы через WebAdmin’а. Новая ссылка будет добавлена в главное меню, позволяющая задавать вам резервные слоты. Прочие параметры будут доступны через страницу настроек по-умолчанию. Так же вы можете изменять настройки напрямую через UT2004.ini файл (в нашем случае Killingfloor.ini)

Пример:

[ServerExt.SlotManager]
AbsoluteMaxPlayers=0
AbsoluteMaxSpectators=0
bProtectAdmins=true
Slots=(Data=»12345678901234567890123456789012″,Type=ST_Hash,specOnly=False,Method=SOM_Expand)
Slots=(Data=»192.168.*»,Type=ST_IP,specOnly=False,Method=SOM_KickRandom)

AbsoluteMaxPlayers
Эта настройка — абсолютное количество игроков на сервере, количество игроков никогда не превысит это значение. Если значение настройки 0, или ниже нуля — то ограничения по количеству нет.

AbsoluteMaxSpectators
Тоже самое, но для наблюдателей.

bProtectAdmins
Вошедшие админы не могут быть выкинуты с сервера, чтобы освободить место.

Slots
Это список зарезервированных слотов, их количество не ограничено. Каждый элемент списка должен содержать поля data содержит информацию для проверки, формат которой зависит от типа (type). Вы можете задавать символы-маски * — заменяет 0 или более символов, ? — заменяет один символ.
type
Тип слота, указывает что именно находится в поле data
ST_IP — IP адрес
ST_Hash — CDKey hash
ST_Nick — Ник игрока
ST_Password — Пароль, заданный в запросе-подключения (?password=[somepassword])
ST_Options — Совпадения из запроса-подключения. Например поле data содержит «*MySecret=URLOption*», если игрок заходит на сервер по ссылке: ip.to.server?name=MyNick?MySecret=URLOption (или подобной этой), то сервер сочтёт это совпадением.
specOnly
Если установить значение True, то слот рассчитан только на зрителей.
method
Метод, который даёт место на сервере
SOM_Expand — Увеличивается максимально разрешённое количество игроков на сервере (рекомендуемый метод для UT, но для KF он не подходит, если только не убрано ограничение в 6 игроков)
SOM_KickRandom — Выкидывает случайного игрока
SOM_KickWorst — Выкидывает игрока с наименьшим количеством фрагов/худшим соотношением фрагов и смертей.
SOM_KickBest — Выкидывает игрока с наибольшим количеством фрагов/наилучшим соотношением фрагов и смертей.
SOM_KickWorstSPM — Выкидывает игрока с наименьшим количеством убийств в минуту
SOM_KickBestSPM — Выкидывает игрока с наибольшим количеством убийств в минуту
SOM_KickOldest — Выкидывает игрока, который играет дольше всех
SOM_KickNewest — Выкидывает игрока, который зашёл последним.

По умолчанию установлен только один SlotManager (ServerExt.SlotManager).Возможно запрограммировать дополнительные SlotManager’ы(моды, управляющие слотами прим.автора). Для установки мода управляющего слотами внесите следующие изменения:

[ServerExt.ReservedSlots]
SlotManagerClasses=ServerExt.SlotManager
SlotManagerClasses=MyExtentions.MySlotManager

Если вы установили ReservedSlotsIni как AccessControl это должно быть отражено в секции [ServerExt.ReservedSlotsIni] информацию, которую пишет SlotManager можно найти в исходном коде модуля ServerExt. (в Unreal Engine SDK прим. авт)

Альтернативный конфигурационный файл:
Изменить конфигурационный файл, который будут использовать модули ReservedSlots, ReservedSlotsIni и SlotManager можно через командную строку, например: -class=myini.ini. Пример для модуля ReservedSlots:

ucc server dm-mymap?game=xgame.xteamgame?…. ini=server.ini log=server.log -ReservedSlots=MyPolicies.ini


ReservedSlots и ReservedSlotsIni будут хранить IP и CDKey Hash Policies так же в новом конфигурационном файле.
Для изменения конфигурационного файла для зарезервированных слотов добавьте в вашу командную строку (сервера прим. авт.): -SlotManager=MyPolicies.ini.

Оригинал статьи: http://wiki.unrealadmin.org/ServerExt#Reserved_slots, перевёл Александр 3ekc Елистратов.

0
Авторизация
*
*
Генерация пароля