Автор |
Сообщение |
geniusiru Карма: 1 |
Добавлено: 22:53 5 сентября 2010 | |
|
Актуально: может кто сталкивался с opensource панелями под Windows для игр на cs1.6 и cs:source?
Перелопатил тонны сайтов. Уже нервы сдают...
|
Light Карма: 0 |
Добавлено: 03:46 6 сентября 2010 | |
|
Нет таких, по крайней мере в паблике.
Найми фрилансера за доширак, там работы-то: rcon через udp и куча кнопок.
|
geniusiru Карма: 1 |
Добавлено: 09:39 6 сентября 2010 | |
|
есть панели на самом деле.
просто хотелось узнать: есть ли ещё - чтобы было из чего выбирать.
а одним рконом не обойтись: ситуация - сервер повис - процесс висит. что делать? поэтому нужна ещё кнопка-программа "убивалка" процесса.
|
Admin Карма: 9 |
Добавлено: 10:23 6 сентября 2010 | |
|
Автор: Light Цитата:
Нет таких, по крайней мере в паблике.
Найми фрилансера за доширак, там работы-то: rcon через udp и куча кнопок.
rcon'а не достаточно. нужна возможность запускать и убивать зависший сервер
|
Light Карма: 0 |
Добавлено: 15:26 6 сентября 2010 | Исправлялось: 2 раз (06-09-10 15:29, Light) | |
|
Ну, как бы:
$fp = fsockopen('udp://'.$ip, $port, $errno, $errstr);
@fwrite($fp, "xffxffxffxffdetails");
$return = @fread($fp, 4);
if($return != "xffxffxffxff")
restart();
И в крон, например.
А стартер пишется на баше(вин) - у меня 1-й строкой, и ватник под винду - тоже одна строка.
Можно и на перле оформить, кстати, если линь стоит.
Под виндой проще на php - две библиотеки, конфиг и php.exe + менеджер задач.
P.S. админ, умный парсер режет кучу "недопустимых" символов, зачем?
|
geniusiru Карма: 1 |
Добавлено: 15:46 6 сентября 2010 | |
|
Лайт - говоришь красиво и вроде как по делу))
Так как я в этом деле полный трололо - м.б. покажешь на деле и дашь готовое?
|
Belfegor Карма: 3 |
Добавлено: 19:22 6 сентября 2010 | |
|
Что вы подразумеваете под паелями Windows?
|
geniusiru Карма: 1 |
Добавлено: 20:08 6 сентября 2010 | |
|
веб-панель управления серверами CS 1.6 и CS:Source на платформе ОС Windows
|
Belfegor Карма: 3 |
Добавлено: 22:49 6 сентября 2010 | Исправлялось: 1 раз (06-09-10 22:50, Belfegor) | |
|
<?
$ip = "cs.proarena.ru"; //ИП сервера
$port = "27015"; //Порт сервера
$rcon = "пасс"; //Rcon пароль
function communicate($buffer,$sock)
{
if($buffer != "")
fputs($sock, $buffer, strlen($buffer));
$result = fread ($sock, 1);
$status = socket_get_status($sock);
$result .= fread($sock, $status["unread_bytes"]);
return $result;
}
if($_POST['command'] != ""){
$sock = @fsockopen('udp://'.$ip, $port, $errno, $errstr);
if (!$sock)
{
echo("$errno($errstr)");
die();
}
else
{
$challenge = "xffxffxffxffchallenge rconn";
$buffer = communicate($challenge,$sock);
$buffer = explode(" ", $buffer);
$challenge_number = trim($buffer[2]);
$buffer = "xffxffxffxffrcon $challenge_number "".$rcon."" ".$_POST['command']."n";
$result = communicate($buffer,$sock);
echo $result;
}
}
вот код набросанный за минут 5. Это Ркон обращение к серверу и выполнение на сервере любой команды. Далее к нему привязываем выполнение через exec() запуска сервера по запросу и остальной функционал. Пишется всё легко.
ПС в конце ещё закрытие кода ПХП, форум не пропускает его. И в начале HTML код, его тоже сервер не пропускает. так что не знаю как его выложить, там форма с полем по имени command
|
Light Карма: 0 |
Добавлено: 22:54 6 сентября 2010 | |
|
Автор: geniusiru Цитата:
Лайт - говоришь красиво и вроде как по делу))
Так как я в этом деле полный трололо - м.б. покажешь на деле и дашь готовое?
Готовых нет, я остановил разработку из-за более приоритетных задач.
Как и говорил выше - найди фрилансера и за 1000-3000р он напишет тебе хорошую панель.
|
geniusiru Карма: 1 |
Добавлено: 23:28 6 сентября 2010 | |
|
да у меня проект построен на энтузиазме))
и денег нет чтоб вкладывать))
===
Belfegor
спасибо - возьмем на заметку))
|
Belfegor Карма: 3 |
Добавлено: 23:37 6 сентября 2010 | |
|
Всегда пожалуйста, будут вопросы - спрашивайте.
|
Admin Карма: 9 |
Добавлено: 10:32 7 сентября 2010 | |
|
Автор: Light Цитата:
Под виндой проще на php - две библиотеки, конфиг и php.exe + менеджер задач.
Расскажешь как пыхом контролировать менеджер задач?
Как через ватник убить сервер?
|
geniusiru Карма: 1 |
Добавлено: 10:57 7 сентября 2010 | |
|
при чем не абы какой, а чтобы прога определила какой именно процесс убить, ибо если будет два одинаковых, то убьется последний.
|
Belfegor Карма: 3 |
Добавлено: 22:28 7 сентября 2010 | |
|
tasklist
taskkill
Соответственно при запуске сервера производится поиск из таск листа на hlds и мотрится, какой PID у новозапущенного сервера, после этого он присваивается в базу для этого сервера. Когда происходит килл сервера, то берётся PID из базы.
Потенциальное решение, опять же придуманное за минуты 2, если уходить более глубоко, можно что-нибудь ещё придумать со смыслом запуска какой-нибудь оболочки с уникальным названием.
|
Belfegor Карма: 3 |
Добавлено: 22:29 7 сентября 2010 | |
|
Но мой вариант не для серверных ОС, для серверных можно поставить утилиту pskill.exe от sysinternals
|
Belfegor Карма: 3 |
Добавлено: 22:30 7 сентября 2010 | |
|
Но это всё сложности для краш завершения сервера, если сервер работает и надо его выключить там для профилактики, достаточно сделать кнопочку, по которой будет слаться команда quit через ркон.
|
Belfegor Карма: 3 |
Добавлено: 22:32 7 сентября 2010 | |
|
Простите за столько сообщений, мысли приходят постепено, и выражаю их по их появлению.
Я могу помочь информацией, возможно даже что-то разработать, но протестировать не смогу помочь, ну так повелось, что не держу сервера под виндой.
|
Belfegor Карма: 3 |
Добавлено: 22:34 7 сентября 2010 | |
|
Кстати, прешёл ещё один вариант решения. Запихнуть сервера в службы(пусть не с автозапуском, а с ручным) и стопорить как службу, и так же запускать. Две легко решённые проблемы.
|
geniusiru Карма: 1 |
Добавлено: 22:59 7 сентября 2010 | |
|
в общем - тема потеряла актуальность: совместными усилиями и мегаАцкими ваяниями и упорством одного пока ещё не подозревающего об этом Программера и Админа - свет увидела КПУ для cs1.6 и cs:s под Windows. Собсно - уже прошла тест. Если Админ решит её опубликовать - опубликует
закрыто.
|
|
|