PDA

Просмотр полной версии : Управление серверами Call of Duty


Kick
18.05.2009, 13:12
Управлять игровым сервером можно 3 основными способами:

1. Путем использования программ удаленного администрирования типа Rcon4Cod2, HLSW,Cod2RconCommander, наличие rcon пароля необходимо.
2. Путем прямого ввода rcon команд через консоль непосредственно в игре (открывается кнопочкой ` или Shift+` ) подразумевает наличие rcon пароля от сервера.
3. Путем прямого ввода через консоль команд класса PB_rcon, подразумевает возможность управления сервером в отсутствии пароля rcon, но при наличии установленных администратором сервера Power_points для вашего гуида.

Рассмотрим более подробно каждый из случаев.


Использования программ удаленного администрирования

Программы Rcon4Cod2 и Cod2RconCommander относятся к классу программ для “ленивых” все просто и интуитивно понятно ставишь галочки где надо и убираешь где не надо. Никого знания прямых rcon команд не надо.

Программу HLSW отличает то, что она только предоставляет пользователю удаленный доступ к серверу.
Все команды админ вводит сам.
Практически это таже игровая консоль только без запущенной игры, что упрощает администрирование одновременно нескольких серверов.
И еще не надо префикс /rcon набирать перед каждой командой.

Для настройки HLSW под тот или иной сервер сначала нужно выбрать сервер, затем выбираем вкладку Rcon Config, вводим rcon пароль в окошко Rcon Password, ставим галочку в окошко Save (запомнить Rcon), нажимаем Test, если ввели правильный пароль, в строчке status загорается OK.
Все можно вводить rcon команды.
Переходим на вкладку Console и забиваем необходимую нам команду в окошко (префикс /rcon данном случае набивать не надо), затем нажимаем Send.
Наслаждаемся результатом. Если нажать кнопочку Complete, с пустой командной строчкой, получаем список из 53 доступных rcon команд.
Их мы рассмотрим ниже, но сразу скажу, что реально пользоваться вы будете от силы десятком команд.

У всех этих программ есть один существенный недостаток невозможность управления сервером непосредственно из игры.

Т.е. если вы админите чью-то игру надо будет постоянно нажимать Alt+Tab для временного выхода из игры и ввода нужной команды, тем самым теряя контроль над происходящим на сервере, ну и я не говорю о том что будет если при подобных манипуляциях игра просто повиснет (а это бывает частенько), плюс потеря времени и т.п.
Поэтому мой Вам искренний совет если хотите продвинутся в администрировании и быть нормальным админом не вызывающим нареканий у игроков (народа очень язвительного и нервного на этот счет) учитесь пользоватся rcon командами из консоли находясь непосредственно в игре.

Прямое управление сервером через консоль в игре

Очень многие знают как вызвать игровую консоль находясь непосредственно на игровом сервере, делается это кнопочкой ` (тильда), можно раскрыть расширенную консоль нажав Shift+`.
Управление сервером производится набором rcon команд вводимыми последовательно в консоль.
Для доступа к управлению сервером вы должны иметь rcon пароль, который прописывается в основном конфиг-файле сервера при его настройке командой
Set rcon_password "…" где в кавычках указывается непосредственно пароль.
Для активации вас как администратора необходимо сначала пройти процедуру активации rcon пароля, делается это один раз в начале каждого сеанса вашей работы на сервере.
После коннекта находясь в игре вызываем консоль нажав ` и пишем
/rcon login … пароль вводится без кавычек, нажимаем enter.
Если пароль введен правильно, вы можете вводить rcon команды. Синтаксис устроен так что каждая rcon команда начинается как /rcon …….
Рассмотрим подробно rcon команды которые вам понадобятся.

/rcon g_password пароль устанавливает пароль для доступа на сервер
Если вы хотите снять пароль, укажите просто пустую строчку, /rcon g_password “”
Кавычки именно в этом случае обязательны.

/rcon status показывает список играющих на сервере что-то типа

num score ping guid name lastmsg address qport rate
--- ----- ---- ------ --------------- ------- --------------------- ----- -----
2 11 374 652659 ^2ZzZzZ^7 0 85.195.ххх.хх:28960 2148 25000
3 49 45 458524 Yr^9aze^7 0 89.ххх.1.ххх:28960 2922 25000
4 13 25 912259 il^7 50 89.ххх.32.ххх:28960 2393 25000
5 21 37 514524 dimon()rus^7 50 87.237.ххх.ххх:28960 2968 25000

В принципе все понятно номер игрока, счет, гуид, имя, адрес, порт, рэйт.
В данном случае мы имеем “игровые” гуиды игроков, которые отличаются от PB guid (гуид присвоенный панкбастером).

/rcon say траблабалалала
выводит строчку в игре типа сonsole: траблабалалала и все играющие понимают что вещает админ :)

/rcon g_gametype sd(или dm,tdm,hq,ctf) выбираем режим игры, после выбора режима надо либо перезапустить текущую карту, либо загрузить другую, только после этого происходит смена режима.

/rcon map имя карты загружает на сервере выбранную карту
mp_toujane тужан
mp_matmata матмата
mp_burgundy бургундия
mp_trainstation Каен (Caen)
mp_dawnville Даунвилль (St. Mere Eglise)
mp_downtown Москва
mp_railyard Сталинград
mp_farmhouse Белтот (Beltot)
mp_brecourt Брекур
mp_harbor Ростов
mp_leningrad Ленинград
mp_carentan Карентан
mp_rhine Валлендар (Wallendar)
mp_breakout Бокадж (Villers-Bocage)
mp_decoy Эль Аламейн (el Alamein)

/rcon map_rotate загружает следующую в ротации карту, ротация прописывается в конфиг-файле сервера командой sv_maprotate.

/rcon map_restart перезагружает текущую карту на сервере

/rcon fast_restart перезапускает карты без перезагрузки (просто обнуляется счетчик очков) наиболее часто встречающаяся команда на кланварах. :)

Далее описываются команды для бана и кика предоставляемые rcon сервисом самой игры, я не рекомендую вам их использовать по двум причинам

1. невозможность просмотреть банлист без ftp дроступа.
2. бан происходит по игровому гуиду, который изменить для знающего человека не составит особого труда.

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

В общеобразовательном плане:

/rcon onlykick имя кикает игрока с указанным именем, коды цветов, если ник цветной при этом указывать не надо.
/rcon kick имя кикает игрока, с указанным именем. Коды цветов указывать надо.
/rcon kick all кикает всех игроков.
/rcon onlykick all аналогично.
/rcon clientkick номер кикает игрока, играющего под указанным номером (узнать можно командой /rcon status см. выше).
/rcon banUser имя банит игрока с указанным именем. Гуид заносится в ban.txt
/rcon banClient номер банит игрока под указанным номером (узнать можно командой /rcon status см. выше). Гуид заносится в ban.txt
/rcon tempBanUser имя кикает и временно банит игрока с указанным именем на время указанное в переменной sv_kickbantime.Гуид никуда при этом не записывается. Так сказать легкая карательная мера.
/rcon tempBanClient номер кикает и временно банит игрока с указанным номером на время указанное в переменной .Гуид никуда при этом не записывается. Так сказать легкая карательная мера.
/rcon unbanuser имя разбанивает игрока с указанным именем.

Так же с помощью rcon команд можно изменять любые dvar переменные прописанные в конфиг файле сервера, но если настройки самого провайдера который предоставил вам игровой сервер не позволяют перезаписывать без ftp доступа файлы находящиеся в игровой директории, все эти изменения коснутся только текущего сеанса игры, и в случае падения сервера или его перезапуска все вернется на круги своя т.е. к config.cfg который запускается при загрузке самой игры.
Рекомендую проэксперементировать для начала, что бы потом не обламаться. Делается это командой
/rcon writeconfig имя конфигфайла.



Управление сервером через Панкбастер

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

/rcon pb_sv_plist результат очень похож на результат команды /rcon status

player List:
[Slot #] [GUID] [Address] [Status] [Power] [Auth Rate] [Recent SS] [O/S] [Name]
3 e69e05b2*****3abb7e8f40*****(VALID) 87.240.15.5:28960 OK 0 3.2 1 (W)
4 111b5e469*****68b91761499a*****(VALID) 195.230.70.226:28960 OK 0 3.1 1 (W)
5 b14f09f*******2809b628e59*****VALID) 91.76.105.6:28960 OK 0 3.3 1 (W)
6 46df1bff*******0a696089560a***** (VALID) 85.140.51.96:28960 OK 0 3.1 1 (W)

Только в данном случае мы имеем номер слота (не совпадает с номером id, команды /rcon status), PB guid (не путать с гуидом выдаваемым /rcon status), ip адрес, отчет по произведенным скриншотам, имя ну и т.п.

/rcon pb_sv_ver выводит текущую версию панкбастера (иногда бывает полезно знать)

/rcon pb_sv_GuidRelax значение (0-7) определяет поведение пакбастера при неопознанных гуидах

0 кикает за все
1 не кикает за неопознанный или неверный гуид
2 не кикает за неверный или неправильный ip адрес
3 = 1 и 2 вместе
4 не кикает за dublicate guid
5 =4 и 1 вместе
6 =2 и 4 вместе
7 = 4 и 3 и 1 вместе

/rcon pb_sv_ban имя (или номер слота) “пояснение 1” | “пояснение 2“
Банит игрока с указанным именем или с указанным номером слота выводимым с помощью /rcon pb_sv_plist, записывает его в файл pbbans.dat находящегося в директории pb, пояснение 1 выводится на экран игроку после того как его кикает с сервака, можно написать что угодно типа “hvatit 4iterit yblydok”, пояснение 2 записывается в файл pbbans.dat после данных (имя, pb_guid) игрока.

/rcon pb_sv_banguid гуид ip “имя” “пояснение”
записывает в файл pbbans.dat данные об игроке причем не важно находится ли в данный момент игрок на сервере или нет.

/rcon pb_sv_banload имяфайла
загружает в оперативную память банлист с указанным именем, если имя пустое загружается файл pbbans.dat

/rcon pb_sv_banlist текст поиска
выводит в консоль содержание файла pbbans.dat если указать текст будет выводить только строчки содержащие данный текст.

/rcon pb_sv_unban номер
выводит из банлиста игрока с указанным номером (номера показывает команда /rcon pb_sv_banlist) после этого необходимо воспользоваться командой /rcon pb_sv_updbanfile что бы изменения прописались в файл pbbans.dat

/rcon pb_sv_unbanguid гуид
команда аналогична предыдущей только указывается pb_guid после этого необходимо воспользоваться командой /rcon pb_sv_updbanfile что бы изменения прописались в файл pbbans.dat

/rcon pb_sv_reban номер
возвращает игрока с указанным номером в банлист ошибочно удаленного из него командой /rcon pb_sv_unban после этого необходимо воспользоваться командой /rcon pb_sv_updbanfile что бы изменения прописались в файл pbbans.dat

/rcon pb_sv_updbanfile
обновляет файл pbbans.dat записывая в него последние изменения после команд Reban и Unban

/rcon pb_sv_autoupdban 1 или 0
эта переменная устанавливает соответствие на автоматическое изменение файла pbbans.dat при любых изменениях банлиста находящегося в памяти панкбастера во время работы сервера (что бы каждый раз не писать /rcon pb_sv_updbanfile)

/rcon pb_sv_kick имя кол-воминут “пояснение 1” | “пояснение 2”
кикает с сервера игрока с указанным именем на указанное кол-во времени (если не указать время игрок будет забанен до рестарта сервера), информация не записывается в файл pbbans.dat, но ее можно просмотреть по команде /rcon pb_sv_banlist

Управление сервером в отсутствии rcon пароля или что такое PowerPoints и с чем это едят.

Я конечно не открою Америки для большинства админов т.к. практически все знают или слышали что при помощи команд класса /Pb_rcon и системы PB Player Power можно управлять сервером в отсутствии rcon пароля.
Но мне хотелось бы остановится более подробно на этой теме для того чтобы наиболее полно раскрыть ее для новичков.

Для этого необходимо чтобы администратор имеющий ftp доступ к серверу или rcon пароль проделал следующие манипуляции:

1. определил rcon команды и кол-во поинтов необходимых игроку для доступа к ним при помощи команд:

/pb_sv_rlist
выводит в консоль разрешенные pb_rcon префиксы, с указанием необходимого кол-во поинтов, для использования той или иной команды.

/pb_sv_rcon кол-вопоинтов префикс
добавляет новую команду в pb_rcon лист и устанавливает необходимое кол-во поинтов для ее использования

Данные команды и префиксы записываются в файл pbrcon.dat находящийся в директории pb на сервере и который в принципе можно редактировать вручную .



Давайте например попробуем прописать наиболее необходимые rcon команды, я бы сделал это так

/pb_sv_rcon 25 status
/pb_sv_rcon 25 pb_sv_plist
/pb_sv_rcon 25 map_rotate
/pb_sv_rcon 50 g_gametype
/pb_sv_rcon 50 map_restart
/pb_sv_rcon 50 fast_restart
/pb_sv_rcon 50 sv_pam
/pb_sv_rcon 50 pam_mode
/pb_sv_rcon 75 g_password
/pb_sv_rcon 100 pb_sv_

Теперь игрок имеющий 25 поинтов сможет как минимум сделать скриншоты гуидов играющих и поменять карту в ротации.

Игрок имеющий 50 поинтов сможет сделать тоже что и игрок с 25 поинтами но еще сможет менять режимы игры, карты, делать рестарты и изменять режимы пам мода.

Игрок имеющий 75 поинтов еще сможет менять пароль на сервере.
Ну а игрок имеющий 100 поинтов почти всемогущен при помощи полного доступа к командам класса pb_sv_

2. После того как мы прописали команды и поинты необходимые для их использования назначим игроков и раздадим им поинты в соответствии с их правами.

/pb_sv_powerguid гуид кол-вопоинтов имяигрок (необязательно)
с помощью этой команды администратор сервера может добавить игрока в базу сервера PB Player Power на управление посредством pb_rcon без непосредственного подсоединения игрока к серверу (т.е. в отсутствии игрока на сервере) присвоив ему необходимое кол-во поинтов

/pb_sv_power номер кол-вопоинтов
добавляет игрока с указанным номером находящегося на сервере в базу игроков PB Player Power допущенных к команде /pb_rcon и устанавливает определенное кол-во поинтов.

/pb_sv_powerlist
выводит в консоль перечень игроков занесенных в PB Player Power базу с указанием текущего кол-ва поинтов и номеров.

Игроки которым мы назначили права будут записаны в файл pbpower.dat находящийся в директории pb сервера и который при желании можно отредактировать вручную.

Как управлять сервером при помощи Power Points

Синтаксис написания команд следующий:
/pb_rcon рконкомандазарегестрированнаявrlist

Ну т.е. при смене карты пишем
/pb_rcon map mp_toujane

Смена режима игры
/pb_rcon g_gametype dm
/pb_rcon fast_restart

И далее в том же духе.

Console при этом будет писать, что типа игрок такой-то при помощи команды
Pb_rcon изменил тип игры (или карту, или кикнул кого-то).
Вообщем все официально, народ видит кто им жизнь портит. :)

У системы PB Player Power есть еще одна интересная особенность своеобразная альтернатива голосованию на удаление игрока из игры. Действует это примерно следующим образом:

/pb_sv_powerkicklen минуты
указывает кол-во минут (по умолчанию 5) на которые игрок может быть кикнут при помощи команды pb_kick

/pb_sv_powerdef кол-вопоинтов
устанавливает какое кол-во поинтов будут иметь игроки не входящие в базу PB Player Power

/pb_sv_powermin кол-вопоинтов
устанавливает кол-во поинтов (по умолчанию 99) при наборе которых игрок будет выкинут с сервера.

Например, у нас на сервере выставлены следующие значения.

/pb_sv_powerdef 1
/pb_sv_powermin 10

Игрок даже не занесенный в базу PB Player Power и набирающий в консоли
/pb_power
увидит следующее (пример)

[09.10.2006 01:28:11] Power Kicking Enabled: [Slot #] [Power] [Points Against] [GUID] [Name]<
1 1 0/10 xxxxxxxx(-) Kirka
2 1 0/10 xxxxxxxx(-) CoolBananas
3 1 0/10 xxxxxxxx(-) ESLIOTE
4 1 0/10 xxxxxxxx(-) DevenTERROR_NL
5 1 0/10 xxxxxxxx(-) mick
6 1 0/10 xxxxxxxx(-) Jack
7 1 0/10 xxxxxxxx(-) =KERPO= $3oiwa
8 1 0/10 xxxxxxxx(-) Chellow
9 1 0/10 xxxxxxxx(-) =$1KERPO= $1Haba
10 1 0/10 xxxxxxxx(-) Kansa
13 1 0/10 xxxxxxxx(-) Crusader D.P.W.W.
15 1 0/10xxxxxxxx(-) *KiLLa_CH*
End of Power List (12 Players)

Например мы хотим кикнуть игрока 6 Jack.
Любой из игроков ну например Kirka набирает у себя в консоле
/pb_kick 6 и видит следующее

[09.10.2006 01:29:35] Kick Vote (1 point) against slot #6 (Jack) from Kirka

Предположим еще 3 игрока также проголосуют за кик #6

[09.10.2005 01:29:54] Kick Vote (1 point) against slot #6 (Jack) from CoolBananas
[09.10.2005 01:30:10] Kick Vote (1 point) against slot #6 (Jack) from =KERPO= oiwa
[09.10.2005 01:30:36] Kick Vote (1 point) against slot #6 (Jack) from =KERPO= Haba

Добавив тем самым еще 3 поинта.
Теперь если мы наберем в консоле /pb_power мы увидим примерно следующее

09.10.2005 01:32:05] Power Kicking Enabled: [Slot #] [Power] [Points Against] [GUID] [Name]
1 1 0/10 xxxxxxxx(-) Kirka
2 1 0/10 xxxxxxxx(-) CoolBananas
3 1 0/10 xxxxxxxx(-) ESLIOTE
4 1 0/10 xxxxxxxx(-) DevenTERROR_NL
5 1 0/10 xxxxxxxx(-) mick
6 1 4/10 xxxxxxxx(-) Jack
7 1 0/10 xxxxxxxx(-) =KERPO= oiwa
9 1 0/10 xxxxxxxx(-) =KERPO= Haba
10 1 0/10 xxxxxxxx(-) Kansa
11 1 0/10 xxxxxxxx(-) LGB Steffpouye
12 1 0/10 xxxxxxxx(-) Crusader D.P.W.W.
15 1 0/10 xxxxxxxx(-) *KiLLa_CH*
End of Power List (12 Players)

Таким образом Мр. Jack набрал 4 поинта из 10 возможных как только он наберет 10 его кикнет с сервера на 5 минут.

Бинды

Очень надоедает набивать одно и тоже в консоле по многу раз.
Тем более что команды в основном однотипные.
На помощь как всегда в таких случаях приходят бинды.
Забиндить можно в своем конфиге любую rcon команду или последовательность таковых.
Ну например кусочек моего конфига:

bind Y "rcon login ******"
bind U "rcon fast_restart"
bind I "rcon g_gametype tdm;wait 150;rcon fast_restart"
bind O "rcon g_gametype dm;wait 150;rcon fast_restart"
bind P "rcon g_gametype sd;wait 150;rcon fast_restart"
bind H "rcon map aim_buddha2"
bind K "rcon map mp_hawkeyeaim"
bind L "rcon map wawa_3daim"
bind G "rcon sv_pam 0;wait 150;rcon pam_mode cb;wait 150;rcon sv_pam 1;wait 150;rcon fast_restart"
bind ' "rcon scr_killcam 1"
bind N "rcon status"
bind M "rcon pb_sv_plist"
bind , "condump konsole.txt"


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