Свой сервер

KF Max Players. Мутатор максимум игроков

KFMaxPlayers.uc

Отряд в противогазах держит угол, к нему идёт Блоат с ордой Отряд держит угол, пока Блоат ведёт к нему орду.

Class KFMaxPlayers extends Info
    Config(KFMaxPlayers);
var() globalconfig int ForcedMaxPlayers;
function Tick( float Delta )
{
    Log("Forcing server max players from"@Level.Game.MaxPlayers@"to"@ForcedMaxPlayers,Class.Outer.Name);
    Level.Game.MaxPlayers = ForcedMaxPlayers;
    Destroy();
}
defaultproperties
{
     ForcedMaxPlayers=16
}
ServerActors=KFMaxPlayers.KFMaxPlayers

Если больше 6 игроков всё равно не пускает

  • Куда вписывать строку. В теме «Проблема с установкой максимального колличества игроков» (форум killingfloor.ru, 2012) сервер показывал лимит 16, но когда к нему подключалось 6 игроков, писал, что сервер переполнен. Помогло найти в KillingFloor.ini строку ServerActors=UWeb.WebServer и дописать сразу под ней ServerActors=KFMaxPlayers.KFMaxPlayers (совет Сени).
  • Конфликт с ботами. В теме «Ошибка добавления мутаторов на сервере» (2012) KFMaxPlayers не поднимал лимит выше 6, пока на сервере стоял мутатор KFBots. Flame пояснил, что KFBots не обращает внимания на KFMaxPlayers и спавнит столько ботов, сколько прописано в его ini, а держать сразу KFFakedPlayers, KFMaxPlayers и KFBots - сомнительная затея. После отключения ботов лимит заработал.

Без мутатора: через консоль WebAdmin

В инструкции по выделенному серверу с форума killingfloor.ru (тема «Создание выделенного сервера для Windows», 2011) предлагали поднимать лимит без мутатора — командой в консоли WebAdmin, открыв в браузере адрес:

http://IP_СЕРВЕРА:8075/ServerAdmin/current_console?SendText=set Engine.GameInfo MaxPlayers 12

В теме «Изменение кол-ва игроков на выделенном сервере» (форум killingfloor.ru) alexgreen отправлял ту же команду по кругу через curl из батника (timeout 10 - пауза между повторами в секундах; советуют 30-40):

:curl
curl -d "SendText=set Engine.GameInfo MaxPlayers 20" http://логин:пароль@IP_сервера:8075/ServerAdmin/current_console > nul
timeout 10
goto curl

Позже в той же теме сообщили, что команду set Engine.GameInfo MaxPlayers пофиксили и она больше не работает, так что надёжнее мутатор выше.