Как настроить выделенный сервер Brink. C комментариями.

18 мая, 2011 - 16:18  Автор: flugger

Не обнаружив в рунете информации на великом и могучем о том как завести свой сервер по недавно вышедшему Brink'y, решился написать небольшой мануальчик про это, весьма не сложное, но обделённое вниманием действо.

Ремарочка раз: Игра написана (ну если честно) на движке старой-доброй кваки. Конкретно то что мы видим, мы видели в четвёртом думе, вульфенштайне и остальных ку4. Соответственно имевшие счастье общаться с квачными серверами пустят слезу ностальгии и не увидят ничего нового.

Ремарочка два: Будет админский язык. Вся информация представленная здесь, есть в официальном мануале идущем с игрой.


Дела железные дела


Старый конь борозды не портит, поэтому серверная часть кушать много не хочет. Сервер на 16 человек (милости просим на SOBR Team BRINK Public 83.242.224.242) спокойно крутится на офисном баребоне имени Intel Atom 330 с гигабайтом памяти, где одновременно с этим крутятся фтп сервер, пара сайтов, несколько teamspeak серверов и прочие торенты. Пиковая загрузка процессора Brink'ом около 60%.
Господа сокланы, познакомьтесь в профиль со своим сервером, обеспечивающим ваше спокойствие =)


Где взять

Брать надо в Steam, на закладке Библиотека найти раздел Инструментов и скачать.
Не имея желания заморачиваться с установкой стима непосредственно на сервер, да и нельзя запускать стим на нескольких машинах сразу, дистрибутив безжалостно был выдран по адресу %SteamDirectory%/SteamApps/Common/Brink Dedicated Server и вся папка залита по фтп на постоянное место жительства и работы.


Порты

Как уважающая себя игра, Brink просит доступа всего по двум портам - 27015 и 27016. Так же, обязательно надо открыть порт 8766, через который происходит аутентификация пользователей в Steam. Естественно открывать TCP/UDP.


Важное замечание о процессоре

Поскольку игра знает что такое оптимизация использования многоядерных процессоров, её аппетиты могут быть чрезмерно высоки и процессор просто ляжет под нагрузкой.
Поэтому практически обязательный является использование переменной exec_maxThreads которая устанавливает реальное значение ядер. По умолчанию стоит 16.
Какое значение ставить - реальных или виртуальных ядер, я сам для себя не решил. Экспериментируйте. Может вы вообще заходите ограничить приложение двумя ядрами ибо нефиг.
При живом сервере переменная является неперезаписываемой, поэтому надо её добавлять в ярлык запуска в виде + set exec_maxThreads, но об этом позже.


Заводим агрегат

Запуск сервера до неприличия просто и не предполагает никакого шаманства.
В корневой директории нас интересуют три файла: Brink_ded1.bat Brink_ded2.bat и Brink_ded3.bat
Почему их три, а не два или десять, вопрос не важный. Для удобства.
Каждый батничек это набор инструкций и параметров для запускающегося сервера. Там пишется имя сервера, его порт и мастер порт.
Открываем блокнотом самый понравившийся и пододвигаемся к клавиатуре.
По умолчанию будет написано что-то вроде (разбил на строчки для удобства восприятия):

  • brink.exe
  • +set net_serverDedicated 1
  • +set si_name "Brink Dedicated Server 2"
  • +set net_serverPort 27017
  • +set net_serverPortMaster 27018


Особенных комментариев тут не надо. Первый параметр указывает экзешнику, что надо запуститься в виде сервера, а не игры. Второй параметр это имя сервера которое будет видно в браузере серверов игрокам. Третий и четвёртый это порты, которые можно не трогать.
В конец файла надо дописать две строчки
  • +set exec_maxThreads Х
  • +exec serv.cfg


Первое, это вышеупомянутое указание на количество ядер доступных для использования. Второй указывает на файл, где находятся прочие параметры сервера. Файл с параметрами (serv.cfg в этом примере) необходимо создать в папке %Brink serv%/base, иначе он не будет автоматически применяться при запуске.


На этом месте можно закрыть батничек, запустить его и убедившись, что появилось красивое окошко с консолью, пойти проверить с игрового компьютера, что сервер виден в игре.


Пишем свой конфиг сервера

В папке base лежат готовые конфиги для стандартных режимов, но настоящие джедаи так не делают, поэтому создаём свой файл с расширением cfg и блокнотом его, блокнотом...

Основные параметры такие:

//Максимальное количество игроков
si_maxPlayers 10


//Количество игроков необходимое для начала матча
si_minPlayers 4


//На случай игры с ботами, максимальное количество игроков людюй
si_maxPlayersHuman 10


//Максимальное количество игроков за команду
si_maxTeamSize 6


//Варианты режимов игры на сервере. Может быть:
//si_rules sdGameRulesObjective *Обычный мульплеер*
//si_rules sdGameRulesStopWatch *Вариант мультиплеера, где после первой половины команды меняются местами
// и стараются улучшить время прохождения*
//si_rules sdGameRulesChallenge *Испытания*
//si_rules sdGameRulesCampaign *Кампания*
si_rules sdGameRulesStopWatch


//Стандартные предустановки правил сервера (обязательный пункт)
//Standart
//Advanced
//Competition
//Old Skool
//Custom
applyServerConfig Competition


//Имя сервера
si_name "Mega-Super Server Name"


//Нужен ли пароль для входа на сервер (0=Да 1=Нет)
si_needpass 1


//Пароль для входа на сервер (предыдущий пункт обязательно должен быть 1)
g_password "password"


//RCON пароль
net_serverRemoteConsolePassword "rconpwdhere"


//Режим игры
//si_playmode 0 = Одиночный
//si_playmode 1 = Совместный
//si_playmode 2 = Друг против друга
si_playmode 2


//Если сервер простаивает без игроков, можно разрешить его использование
//в качестве сервера для проходящих кампанию и испытания
net_allowServerHijacking 0


//Кто может присоединяться к вашему серверу
// 0 = Один одиночки
// 1 = Только по приглашениям
// 2 = Друзья и по приглашениям
// 3 = Все подряд
si_onlineMode 3


//Урон своим (0 = выключен, 1 = включен)
si_teamDamage 1


//Включение наблюдателей (1 = могут быть)
si_spectrators 1


//Время раунда
si_timelimit 5


//Могут ли входящие игроки присоединяться к команде с численным перевесом (0 = Да 1 = Нет)
si_teamForceBalance 0


//Включение-отключение голосования
si_disableVoting 0


//Уровень ботов
//-1 = Все подряд
// 0 = Лёгкие
// 1= Нормальные
// 2= Сложные
si_botDifficulty -1


//Скольк процентов людей должно нажать Готов для начала матча
si_readyPercent 100


//Разрешить высадку на карту во время подготовки к матчу
si_warmupSpawn 1


//Подсветка врагов
si_enemyTintEnabled 0


//Включить ограничения по рангу игроков
si_rankRestricted 1


//Запрещённый уровень ранга (0 = игроки только первого ранга, 4 = без ограничений)
si_maxRank 4


Отдельное внимание на вариант смены карт - фиксированный или по голосованию!!! Должен быть только один
//Фиксированный список ротации
g_mapRotationFixed
"список карт"



//Ротация карт по голосованию
g_mapRotationVote
"список карт разрешённых для голосования"


//Обязательный парамерт, указывающий серверу с какой карты начинать работать
spawnServer mp/reactor


В каком формате писать список карт и какие карты есть в игре, толково написано в файлике server_map_rotation_examples.cfg в папке base


Сохраняем наш файлик, пробуем запустить сервер. Заходим в игру, подклюаемся на сервер и проверяем что всё здорово. Зовите друзей и будет вам счастье.


На этом пока всё...

serialtut говорит:

Из вероятностной шкалы можно извлечь все дискретные шкалы истинностных смыслов, в том количестве многозначной и двузначной логики. Но, как мы замечали, экой чистенько формальный подход наталкивается на трудности; истинностные значения в разных многозначных и двузначной логике истолковываются по-разному. С экой места зрения вероятность, равновеликую единице, можно находить утилитарной достоверностью, а равновеликую нолю – неосуществимостью. В связи с этим аналогия между неевклидовой геометрией и евклидовой, с одной сторонки, и вероятностной логикой и доклассической двузначной, с второй, на какую указывает Рейхенбах, выглядит не сильно доказательно ( 3, p.

teon00 говорит:

Книги о любви, как стать успешной "стервой", деловая женщина.
Психология когнитивных стилей, исследование в психологии, индивидуальные различия в психологии.
Коммерческие банки, современные деньги, ипотечное кредитование.
seropol3

best_qoute говорит:

Займ - всегдашний способ ведения бизнеса. Умеет ли недостаток вогнать к экономическому краху? Многие крупнейшие и рентабельные корпорации перманентно владеют непогашенный долг.

12 960 руб. . налог на пользу. ((180 000 руб... 100 000 руб... (100 000 руб. x 26%);

Санаторная, проявлены ротовирусы, вирус гепатита А и их антитела. Существенную роль в выносе илистых множеств доигрывает безграмотная пахота скосов в бассейне водосбора губ, отсутствие дернового покрова вдоль шоссе, в областях свежего освоения и в большинстве населенных пунктов по берегам залива. Циклическое закрытие городских пляжей и официальные запретности посещать побережные области роздыха давным-давно прекратились дивить народонаселение Владивостока. Во целых пробах, отфильтрованных работниками лаборатории морских пейзажей ТИГ ДВО Ранок в братстве с краевым эпицентром санитарно - эпидемиологического присмотра из гидробионтов побережного мелководья Амурского залива от Токаревской кисы до ст.

brnk говорит:

М. 125). Занятие тута не только в том, что ценностные ориентации людей, как отмечалось выше, умеют и должны быть объектом беспристрастного научного рассмотрения, какое сопоставляет их дружочек с другом не в приисканиях «абсолютной истины», а в мишенях установления их личной логики, практической целесообразности, т. е. реальных возможностей и масштабов адаптивного эффекта и пр. В действительности ученый — и тем более преподаватель — имеет полное право исповедовать ту или иную систему ценностных приоритетов и отнюдь не обязан скрывать ее от своих слушателей. 32 С особой упертостью это положение подчеркивал М. Вебер — автор прекрасно описанного принципа «свободы науки от аксиологич. Следует лишь помнить о принципе «интеллектуальной честности», о каком складывал Вебер, замечавший прямой долг учителя «в том, чтобы в каждом отдель ( Вебер М. Смысл «свободы от оценки» в социологической и экономической науке // Вебер М. Избранные создания.

nucmusc1970 говорит:

Я считаю, что тема недостаточно раскрыта. Предлагаю обсуждение.