Управление сервером через консоль

Материал из wiki.otstrel.ru.

Информация взята с cybermotion.ru

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

1. Путем использования программ удаленного администрирования типа: HLSW,Cod RconTools или ModernRcon – наличие rcon пароля необходимо.

2. Путем прямого ввода rcon команд через консоль непосредственно в игре (открывается кнопочкой ` или Shift+` ) подразумевает наличие rcon пароля от сервера.

3. Путем прямого ввода через консоль команд класса PB_rcon, подразумевает возможность управления сервером в отсутствии пароля rcon, но при наличии установленных администратором сервера Power_points для вашего гуида.

Содержание

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

Программы Rcon4Cod2, Cod2RconCommander и ModernRcon относятся к классу программ для “ленивых” все просто и интуитивно понятно ставишь галочки где надо и убираешь где не надо. Никого знания прямых 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 команды. Синтаксис устроен так что каждая rcon команда начинается как /rcon ……. Рассмотрим подробно rcon команды которые вам понадобятся.

num score ping guid name lastmsg address qport rate — —– —- —— ————— ——- ——————— —– —– 1 21 37 514524 dimon()rus^7 50 87.237.ххх.ххх:28960 2968 25000

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

  • mp_showdown
  • mp_bloc
  • mp_bog
  • mp_cargoship
  • mp_citystreets
  • mp_convoy
  • mp_countdown
  • mp_crash
  • mp_crossfire
  • mp_farm
  • mp_overgrown
  • mp_pipeline
  • mp_backlot
  • mp_strike
  • mp_vacant

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

1. невозможность просмотреть банлист без ftp дроступа.

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

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

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

Рекомендую проэксперементировать для начала, что бы потом не обламаться. Делается это командой

Читайте также:  Можно ли поставить диски с большим вылетом

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

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

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

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

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

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

Т.к. практически все знают или слышали ,что при помощи команд класса /Pb_rcon и системы PB Player Power можно управлять сервером в отсутствии rcon пароля.

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

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

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

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

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

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

Игрок имеющий 75 поинтов еще сможет менять пароль на сервере.

Ну а игрок имеющий 100 поинтов почти всемогущен при помощи полного доступа к командам класса pb_sv_

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

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

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

Синтаксис написания команд следующий:

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

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

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

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

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

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

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

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

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

Бинды

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

Не так давно, мне удалось поработать с новыми для меня серверами Supermicro удаленное управление которыми осуществляется с помощью интерфейса IPMI. В данной статье я постараюсь раскрыть основные моменты в настройки IPMI на серверах Supermciro, покажу основные пункты меню интерфейса IPMI, а также расскажу о дополнительных утилитах, командах и способах мониторинга сервера с помощью ipmi.

Первичная настройка IPMI консоли и знакомство с интерфейсом

Настройка IPMI начинается с настройки IP адреса интерфейса, который нужно указать в BIOS. Если сервер установлен в офисе, это может быть серый IP-адрес, если же ваше оборудование размещается в ДатаЦентре, то наверняка вы используете белый статический IP-адрес.

На серверах Supermicro в BIOS можно попасть, нажав кнопку “Del” при загрузке сервера, я не буду заострять на этом внимание и сразу перейду к интерфейсу самого BIOS.

Как видите на скриншоте, я вошел в пункт меню IPMI и активировал возможность конфигурации Lan для интерфейса (Update IPMI Lan Configuration=Yes, Configuration Address Source = Static), указал IP-адрес, маску подсети и основной шлюз.

Применить настройки можно нажав кнопку F4, после чего произойдет перезагрузка сервера.

Если вы все сделали правильно, то введя в браузере, указанный для интерфейса IPMI IP, у вас откроется авторизация:

Теперь пройдем по основным моментам.

При покупке нового сервера, в IPMI уже создан пользователь ADMIN с паролем ADMIN, именно с этими данными мы и авторизуемся. Я всегда рекомендую создавать нового пользователя, а стандартного удалять или менять у него пароль, так оставлять такой логин и пароль, крайне небезопасно. Создать нового пользователя или поменять пароли/привилегии у текущих, можно в меню Configuration -> Users.

Читайте также:  Звук отстает от видео pinnacle

Рестарт интерфейса IPMI можно сделать из меню Maintenance -> Unit Reset.

Монтирование iso образа ОС для установки на сервер выполняется в меню Virtual Media -> CD-ROM Image.

У меня iso образы ОС хранятся на сервере Samba в той же подсети что и интерфейсы IPMI серверов. Я указываю адрес сервера Samba, путь к образу установочному ISO с ОС, после чего монтирую ISO образ и приступаю к установке операционной системы.

Удаленную графическую Java консоль сервера (KVM-over-IP) можно открыть через Remote Control -> Console Redirection.

Консоль в целом удобная, но после установки ОС, для работы с сервером я обычно использую ssh клиенты. Иногда есть моменты когда, это невозможно, например если у вас не работает или еще не настроена сеть на сервере или же имеются какие-то проблемы с доступом. Именно тогда на помощь и приходит Remote Console.

Никаких отдельных настроек в самой консоли делать не нужно, хочу лишь добавить, что она имеет встроенную клавиатуру, которую можно вызывать из меню Virtual Media -> Virtual Keyboard.

grubby –args "nomodeset" –update-kernel /boot/vmlinuz-`uname -r`

После этого, Remote Console работает исправно.

Управление сервером через утилиту IPMICFG от SuperMicro

Для управления серверами через IPMI компания SuperMicro разрабатывает собственную утилиту IPMICFG.

Скачать файл IPMICFG можно с помощью команды:

На момент публикации файл был с таким названием, я рекомендую заходить на репозиторий SuperMicro по ссылке ftp://ftp.supermicro.com/utility/IPMICFG/ и копировать url актуального файла.

Распакуем скачанный файл в директорию которой находимся:

Далее создаем символическую ссылку для удобства запуска утилиты:

ln -s /root/IPMI*/Linux/64bit/IPMICFG-Linux.x86_64 /usr/local/sbin/ipmicfg

Теперь мы можем запускать утилиту с помощью команды ipmicfg (символической ссылки). Рассмотрим базовые возможности утилиты ipmicfg.

Если выполнить команду ipmicfg -help мы получим список всех возможных параметров утилиты.

Разберем основные команды:

  • ipmicfg -help – полная справка по утилите;
  • ipmicfg -m – просмотр текущего IP и mac-адреса для IPMI;
  • ipmicfg -k — просмотр маски подсети;
  • ipmicfg -g – просмотр заданного шлюза;
  • ipmicfg -fd — сброс IPMI к заводским настройкам;
  • ipmicfg -user list – просмотр созданных пользователей и их привилегий.

Вы можете изменить IP адрес, маску и шлюз интерфейса IPMI:

  • ipmicfg -m 192.168.1.200
  • ipmicfg -k 255.255.255.0
  • ipmicfg -g 192.168.1.1

Создать нового пользователя IPMI и его пароль:

ipmicfg -user add

С помощью утилиты делаем следующее:

ipmicfg -user add 6 test 123456 4

Тем самым мы создали пользователя test с паролем 123456 и привилегиями администратора.

Список пользователей IPMI и их привилегии в системе можно вывести командами:

  • ipmicfg -user list
  • ipmicfg -user help

Как уже видите на скриншоте, пользователь test создан.

Чтобы изменит (сбросить) пароль пользователя IPMI, исползайте команду:

ipmicfg -user setpwd

И приведу еще пару примеров использование данной утилиты:

  • ipmicfg -hostname [value] — задать hostname для ipmi интерфейса;
  • ipmicfg -r — перезагрузка IPMI.

Мониторинг железа на сервере SuperMicro через IPMI и утилиту IPMICFG

Мониторинг сервера SuperMicro через IPMI

Через IPMI мониторить температуру и работу железа сервера SuperMicro довольно просто. Полная информация о железе сервера содержится в пункте System -> Hardware Information.

Информацию по состоянию процессора, оперативной памяти и вентиляторах, можно посмотреть перейдя во вкладку Server Health -> Sensor Readings.

Для удобства просмотра, можно менять категории отображения датчиков, например, температуры:

Или датчики напряжения:

Так как в данный момент на нашем сервере нет проблем, ни с температурой, ни с напряжением, все датчики находятся в зеленой зоне. Если на сервере поднимается температура или есть проблемы с напряжением, зеленые прямоугольники будут окрашиваться в красный цвет, что послужит сигналом для проверки вашего сервера.

Мониторинг с помощью утилиты ipmicfg

Проверка состояния блоков питания:

Посмотреть температуру процессора можно командой:

ipmicfg -nm oemgettemp

Так же можно проверить в каком режиме работают вентиляторы и изменить режим, если это необходимо.

Проверка состояния и конфигурации вентилятора

Изменение режима работы кулера: ipmicfg -fan Например, ipmicfg -fan 3

Информация о версии и прошивке IPMI:

]# ipmicfg -nm deviceid

И посмотреть все сенсоры можно командой ipmicfg -sdr

При выводе мы видим, что есть дополнительные столбцы, в которых отображена информация о лимитах нижнего и верхнего пределов.

Так же существует еще не малое количество утилит, которые можно использовать для мониторинга и автоматизировать этот процесс, например, с nagios. В данный момент заострять на этом внимание мы не будем, так как цель статьи рассказать основные моменты в работе с IPMI. Если вас заинтересует тема мониторинга, вы можете оставить свои пожелания и возможно в дальнейшем мы осветим и эту тему. Надеюсь, данная статья окажется для вас полезной!

Давно собирался написать на Хабре, но все как-то откладывал. Но вот недавно прочитал пару статей (раз, два) и понял, что надо взять себя в руки. Это мой первый пост на Хабре, надеюсь, что он будет удачный.

Начало

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

Читайте также:  Cancelautoplay server exe что это

Проба пера

Как только количество серверов перевалило за критическую отметку, у меня возник вопрос: как всем этим управлять и не тратить много времени на это. Понятно, что заходить на сервера по RDPSSH и выполнять там одинаковые команды — это не по фэншую.

Беглый анализ показал, что для управления Windows серверами лучше всего подходит Powershell. Это стало поводом для его изучения. Для начала был написан простой скрипт, который позволял подключаться к Windows серверам и выполнять там скрипты и команды. В достаточно короткий промежуток времени этот скрипт был модернизирован и стал более-менее пригоден для выполнения повседневных задач. Это позволило значительно упростить работу. Однако наряду с этим возникали и трудности: приходилось каждый раз редактировать текстовый файл со списком серверов, чтобы выполнять команды только на нужных серверах. Так же было неудобно хранить готовые скрипты для выполнения. Кроме этого, хотелось сделать что-то универсальное и легкое в использовании. Тут пригодился небольшой опыт программирования на PHP. Идея была проста — прикрутить скрипт к WEB интерфейсу и сделать его рабочим для себя и коллег. Был поднят Denwer на рабочем компьютере и работа закипела.

Через небольшое время появился первый прототип. Теперь можно было вводить команды непосредственно в браузере и перечислять сервера «через запятую». Результат выполнения так же отображался в браузере. Спустя небольшой промежуток времени появились отдельные функции по управлению процессами и службами. Сайтом начали пользоваться коллеги, стали поступать новые идеи.

Версия 2

Как вы понимаете, речи о дизайне и «юзабилити» не шло. Это был просто набор линков, окошек ввода и вывода результата. Минимальная обработка ошибок. Кроме всего, я достаточно быстро понял, что сайт является не только удобством, но и несет в себе угрозу – не было никакого контроля за выполнением команд через сайт, не велось никаких логов (логи Apache не берем в расчет). Любой, кто знал адрес, мог легко подключится и выполнить любые команды, вплоть до выключения серверов и удаления с них данных. Авторизации на сайте не было. При этом не надо было знать ни логинов, ни паролей от серверов. Достаточно было ввести имя сервера(ов) и команду, остальное сайт делал сам. Справедливости ради надо сказать, что сайт находился на моем рабочем компе и доступа извне не было, но это не особо грело душу.

В таком состоянии сайт проработал недолго и было принято решение его немного переделать. Так появилась вторая версия сайта. Была добавлена авторизация через «.htaccess», меню, появился список «часто используемых скриптов», появился первый вариант «движка». Так же стали появляться узкоспециализированные функции, связанные со спецификой работы компании. Сайт «переехал» на сервер, под нормальную связку ApachePHPMySQL. Ниже скрины от второй версии.


1. Работа со службами


2. Часто используемые скрипты


3. Выполнить скрипт

Версия 3

На следующем этапе возникла необходимость разграничить доступ пользователям на разные сервера. Для простоты решения была поднята копия сайта с другим набором серверов. На тот момент этого было достаточно. Так появилась идея сделать нормальную авторизацию с разграничением прав.
Это послужило толчком для разработки третьей версии. При ее написании были учтены все проблемы и пожелания, имеющиеся на тот момент. В результате был модернизирован движок, написана своя авторизация, появился раздел админки (управления пользователями и доступными серверами), добавились недостающие разделы. На данный момент сайт работает на этой версии более года и обладает следующими возможностями:

  • Работа со службами
  • Работа с процессами
  • Удаленная командная строка (возможность сохранения скриптов)
  • Информация: о железе, списки DB, правила Firewall
  • База знаний
  • Ведения логов
  • Узкоспециализированные функции


4. Работа со службами


5. База знаний


6. Выполнить скрипт

Самый главный недостаток сайта – это работа только с Windows серверами. Это обусловлено тем, что подавляющее число серверов, используемых в нашей компании, это Windows сервера. В последнее время количество серверов под управлением Linux стало расти, и встал вопрос о том, как адаптировать работу сайта под них. Чтобы добавить поддержку Linux надо было очень много переписывать код и «ломать» идеологию сайта, чего делать не хотелось. Кроме этого, предпринималось много попыток найти способы выполнять команды Linux из-под Windows в консоли и как-то это прикрутить к скриптовым языкам. Через несколько месяцев решение было найдено.

Проект

Год назад я начал изучать фреймворки и в голове засела окончательная мысль – сделать проект. Проект получил имя: SSC Panel – Smart Server Control Panel. На данный момент заложена основа работы сайта. Есть реализация работы как с Windows, так и с Linux серверами. Реализована админка, удаленная командная строка, есть возможность сохранять скрипты, ведение логов. Пока немного, но, со временем, я надеюсь, их будет больше. Сайт использует движок Kohana 3.3.2, коммерческая тема «SmartAdmin» (не очень хорошо, думаю, что надо менять), для работы с Windows используется Powershell v3 (необходима на сервере, у клиента может быть v2), для работы с Linux используется библиотека Posh-SSH. Как говорится, лучше один раз увидеть:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector