PDA

Просмотр полной версии : Программистам


Виктор
05.11.2008, 21:30
Программистам Delphi, C++ просьба написать программу следующего содержания:

Программу - мониторинг работы серверов COD Community.
1. Программа совершает опрос по /rcon status протоколу в соответствии с заданными настройками подключения и пароля rcon каждые n минут
2. Программа определяет по rcon что сервер "повис" - не отвечает командам rcon (для продвинутых - процесс отвечает консольно "server is not running")
3. Программа завершает - "убивает" процесс Windows - cod2mp_s.exe, т.е. программа запускается и работает локально прямо на сервере
*убитый процесс автоматически возобновляется программой HLR и в итоге мы имеем бесперерывно работающие сервера

написавший программу попадет в доску почета и получит репутация +1

Виктор
05.11.2008, 23:24
<?php
$server_ip = "127.0.0.1"; //ip сервера
$port = 28960; //порт сервера
$count0 = 6; //кол-во опросов зависшего сервера - 1
$count = $count0;
$pause = 5; //пауза между опросами
$timeout0 = 20; //время ожидания ответа от сервера
$path = "c:\cod4\cod4restart.cmd"; //скрипт перезапуска сервера
while (true)
{
$t1 = time();
$fp = fsockopen('udp://'.$server_ip, $port);
socket_set_timeout($fp, $timeout0);
$data = chr (0xFF).chr (0xFF).chr (0xFF).chr (0xFF). chr (0x02) . "getstatus";
fwrite($fp, $data, strlen($data));
$output = fread($fp, 2048);
fclose($fp);
$t2 = time();
$timeout = $t2 - $t1;
if ($output == "")
{
$count --;
if (($count == 0)||($timeout >= $timeout0))
{
$count = $count0;
system ($path);
}
}
else {$count = $count0;}
sleep ($pause);
}
?>

нашел понятный скрипт, только это на PHP, чем компилировать в EXE проще всего? Посоветуйте

MitRAMdiR
06.11.2008, 09:53
Решение найдено, тема закрыта.

Виктор
06.11.2008, 10:06
наконец-то имеем бесперерывно работающие сервера! Да здраствует Ленинград! )