Новое предложение: игры

Started by Anth0ny, January 12, 2009, 09:41:57 AM

Previous topic - Next topic

Anth0ny

Я не вполне уверен что данный вопрос не поднимался уже ранее, однако поиск ничего не дал...

Предложение: я предлагаю ввести в NXMS наряду с возможностью мониторинга базовых служебных протоколов типа telnet, smtp, http, etc также и возможность мониторинга игровых серверов.

Суть: требуется уметь только одну вещь - стандартно как и для других протоколов (например, определение доступности веб или telnet-серверов) определять, жив ли игровой сервер.

Всё что для это нужно - уметь запрашивать сервер по заданному порту и разбираться, откликается ли сервер. Идеальный вариант - использование технологии, аналогичной определению живости веб-сервера (и наличия на полученной запрошенной странице нужных или нежелательных слов) и простого сравнения получаемого результата с эталоном.

Попытаюсь привести пример: (к сожалению, тут только поверхностный)

Игровой движок- Valve "Source"

инфо: http://developer.valvesoftware.com/wiki/Main_Page
SDK: http://developer.valvesoftware.com/wiki/SDK_Docs

Сервер (игра)- Team Fortress 2 (но данное решение подойдёт и для любой другой игры на данном движке)

DCI может выглядеть так:

Origin: NetXMS Agent
Data type: String

Data Parameter: в целом, как мне кажется, можно использовать схожую с HTTP но несколько видоизменённую схему

было: (ServiceCheck.HTTP(server_ip_address,port,uri,host_header,response))
стало: (ServiceCheck.SRCDS(server_ip_address,port,server_variable))
новый запрос: ServiceCheck.SRCDS(10.100.0.1,27015,hostname)

SRCDS - Source Dedicated Server
10.100.0.1,27015 - адрес и порт сервера
hostname - мы хотим получить от сервера содержание его переменной "hostname" (название сервера)

Соответственно, если сервер возвращает содержание переменной (нужно использовать трэшолды, содержащие имя сервера)- он жив и здоров.

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

ПС: ровно такой же подход можно практиковать при мониторинге абсолютно любого игрового сервера. Я ещё не видел на рынке систем мониторинга ВАШЕГО уровня таких систем, которые бы предоставляли возможность мониторинга игровых серверов "из коробки". Не хотите стать первыми?  :)

Готов предоставить информацию, разъяснения, полигон и всё прочее, нужное для тестов (www.megatron.ws).

Victor Kirhenshtein

Идея хорошая. Мы собираемся переделывать PORTCHECK субагента, чтобы можно было проще добавлять новые сервисы, можно будет сразу добавить и предложенную проверку игровых серверов. Я буду обращаться за дополнительной информацией когда до этого дойдем.

Anth0ny

Премного благодарен =)
Буду помогать чем смогу.

Могу предоставить исходник нашего мониторинга, возможно это будет полезно в плане реализации нового протокола.