QStat - программа для мониторинга игровых серверов.
Ознакомившись с qstatdoc.html, видим, что QStat поддерживает большинство популярных игровых серверов:
| Option | Type String | Default Port | Game Server
|
|---|
| -qs | qs | 26000 | Quake
| | -h2s | h2s | 26900 | Hexen II
| | -qws | qws | 27500 | QuakeWorld
| | -hws | hws | 26950 | HexenWorld
| | -q2s | q2s | 27910 | Quake II
| | -uns | uns | 7777 | Unreal
| | -ut2s | ut2s | 7777 | Unreal Tournament 2003
| | -ut2004m | ut2004m | 28902 | Unreal Tournament 2004 Master requires CD Key
| | -hls | hls | 27015 | Half-Life
| | -sns | sns | 22450 | Sin
| | -sgs | sgs | 27888 | Shogo: Mobile Armor Division
| | -tbs | tbs | 28001 | Starsiege: Tribes
| | -t2s | t2s | 28000 | Tribes 2
| | -qwm | qwm | 27000 | QuakeWorld master
| | -q2m | q2m | 27900 | Quake II master
| | -hlm | hlm | 27010 | Half-Life master
| | -stm | stm | 27010 | Half-Life master (Steam)
| | -tbm | tbm | 28000 | Tribes master
| | -t2m | t2m | 28002 | Tribes 2 master
| | -q3s | q3s | 27960 | Quake III
| | -q3s | q3s | 28960 | Call of Duty 2
| | -q3m | q3m | 27950 | Quake III master
| | -dm3s | dm3s | 27666 | Doom 3
| | -dm3m | dm3m | 27650 | Doom 3 master
| | -bfs | bfs | 44001 | BFRIS
| | -kps | kps | 31510 | Kingpin
| | -hrs | hrs | 28910 | Heretic II
| | -sfs | sfs | 28910 | Soldier of Fortune
| | -gsm | gsm | 28900 | Gamespy master
| | -gps | gps | - | Game using "Gamespy style" protocol
| | -gps | gs2 | - | Game using "Gamespy2 style" protocol
| | -d3m | d3m | 3445 | Descent 3 PXO master
| | -d3p | d3p | 2092 | Descent 3, PXO server
| | -d3s | d3s | 2092 | Descent 3, LAN server
| | -d3g | d3g | 20142 | Descent 3, Gamespy protocol
| | -rws | rws | 27960 | Return to Castle Wolfestein
| | -rwm | rwm | 27950 | Return to Castle Wolfestein master
| | -efs | efs | 27960 | Star Trek: Elite Force
| | -efm | efm | 27953 | Star Trek: Elite Force master
| | -efs | efs | 29070 | Jedi Knight: Jedi Academy
| | -efm | efm | 29060 | Jedi Knight: Jedi Academy master
| | -grs | grs | 2346 | Ghost Recon
| | -ts2 | ts2 | 8767 | TeamSpeak
|
Для начала создадим файл server.lst, где будет находиться список серверов, которые будем мониторить:
qws games.utech.ru:27500
q3s games.utech.ru:27960
q4s games.utech.ru:28004
a2s games.utech.ru:27016
q3s games.utech.ru:28960
ts2,port=8767 voice.teamspeak.org:51234
Обратите внимание на параметры для сервера TeamSpeak.
Теперь создадим запускной файл qstat.bat, в который надо занести
qstat.exe -f server.lst -Ts brocTs.inc -Th brocTh.inc -Tt brocTt.inc -of qservers.php -sort l -f server.lst это имя файла со списком серверов
-of qservers.php имя конечного файла, который собирается из шаблонов
-sort l означает сортировку по списку (можно по фрагам, ип адресу, пингу - подробнее в qstatdoc.html)
| Сервер | -Ts | Шаблон с параметрами для каждого сервера | | Игрок | -Tp | Шаблон с параметрами для каждого игрока Используется с ключом -P. | | Правила | -Tr | Шаблон с параметрами настроек сервера | | Заголовок | -Th | Содержимое шаблона будет в начале конечного файла | | Конец | -Tt | Содержимое шаблона будет в конце конечного файла |
Теперь достаточно запустить этот bat′ник для формирования конечного файла.
Для циклического запуска скриптов через определенный интервал времени можно использовать crontab.
Примеры PHP шаблонов
brocTs.inc$h_host[]="$HOSTNAME";
$(IF:UP) $h_players[]="$(IFNOT:QWMASTER)$PLAYERS$(ENDIF)"; $(ENDIF)
$(IF:DOWN) $h_players[]="<font color=#934900>down</font>"; $(ENDIF)
$(IF:TIMEOUT) $h_players[]="<font color=#CC0000>off</font>"; $(ENDIF)
$h_max[]="$(IFNOT:QWMASTER)$MAXPLAYERS$(ENDIF)";
В итоге получаем необходимые массивы и переменные для вставки мониторинга серверов на сайт.
Для создания более расширяемых шаблонов описание содержится в файле qstatdoc.html (на английском).
Присоединенные файлы (вирусов нет):
|