Скрипт СТАТУСА СЕРВЕРА работает неправильно.

Теги:
 
RU MAN-biker #23.12.2005 16:11
+
-
edit
 

MAN-biker

новичок
У меня стоит GREENHOPE (хотя, не уверен, что это имеет значение).
Короче, у меня почему-то скрипт статуса сервера ВСЕГДА показывает, что все ONLINE!
Причем, на работе - все ОК, а дома вот такая ерунда.
Скрипт следующий:



<head>
<title>Lineage 2 Server Status</title>
<script>
<!--
//enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
var limit="0:10"

if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+" minutes and "+cursec+" seconds left until page refresh!"
else
curtime=cursec+" secs left until server status refresh!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}

window.onload=beginrefresh
//-->
</script>

</head>
<body scroll=no>


<TR>
</TR>





[span class="Style1"][span class="Style2"]Страница автоматически обновляется каждые 10 сек.


[table_html cellpadding=0 cellspacing=0 width=300 BORDER="0"]

<TR>

СЕРВЕР

СТАТУС




</TR><TR>

</body>
<?PHP
/*

rights of aegis and others
*/
error_reporting(0);

$IP = array(
"Login Server" => "L2authd.Lineage2.com:2106",
"Game Server" => "L2authd.Lineage2.com:7777",
); while(list($ServerName,$Host)=each($IP)) {
list($IPAddress,$Port)=explode(":",$Host);
echo("
".$ServerName."
");
if($fp=fsockopen($IPAddress,$Port,$ERROR_NO,$ERROR_STR,(float)0.5)) {
echo("
РАБОТАЕТ!
");
fclose($fp);
}
else {
echo ("
в дауне :-(
");
}
echo ("</TR><TR>");
}
echo ("[/table_html]");
?>





У меня с портами чтоль какие проблемы?
RU MAN-biker #30.12.2005 03:36
+
-
edit
 
RU Tantallas #30.12.2005 04:43
+
-
edit
 

Tantallas

новичок
зачем столько наворотил ? :) яву зачем-то припряг ....
все что тебе нужно
code text
  1. <?php
  2. include("config.php");
  3. while ($row=mysql_fetch_row($result))
  4. print " <option>".$row[0]."</option>n"
  5. ?>
  6. <?php
  7. @$fp = fsockopen("localhost", 7777, $errno, $errdesc, 1);
  8. if ($fp)
  9. {
  10. fclose($fp);
  11. $result = mysql_query("SELECT count(*) FROM characters WHERE online", $link);
  12. print "<em><p>Server: ".mysql_result($result, 0, 0)." <span style="font-weight: bold; color: #006600;">Online</span></p></em>n";
  13. mysql_close($link);
  14. }  
  15. else
  16. print '<em><p>Сервер: <span style="font-weight: bold; color: #FF0000;">Offline</span></p></em>';
  17. ?>


и создаешь отдельно фалик config.php

code text
  1. <?php
  2. $link = mysql_connect("localhost", "логин", "пароль");
  3. if (!$link)
  4. die("Couldn't connect to MySQL");
  5. @mysql_select_db('l2jdb')
  6. or die ("Couldn't open $db: ".mysql_error());
  7. ?>

вот и все
Не относитесь к жизни слишком серьезно , живым вам из неё все равно не выбраться ...  
LV НеВзаимный #03.01.2006 00:25
+
-
edit
 

НеВзаимный

втянувшийся
А можно скрипт который будет просто проверять сервер On или Off. Чтобы не нужно было конектится к БД ?
Заранее благодарен.
+
-
edit
 
http://balancer.ru/forums/viewtopic.php?pid=51536#p51536
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
LV НеВзаимный #03.01.2006 01:03
+
-
edit
 

НеВзаимный

втянувшийся
спасибо. Но че-то немогу установить script от Dmytro. Пишет eror in line 2 :/
+
-
edit
 
line2 это троеточие :) это не готовый скрипт, а пример.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
LV НеВзаимный #03.01.2006 04:31
+
-
edit
 
+
-
edit
 
А головой подумать?
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
LV НеВзаимный #03.01.2006 12:29
+
-
edit
 
+
-
edit
 
php - это же скрипт, что тут непонятного? Попроси того кто тебе сайт делал.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
LV НеВзаимный #03.01.2006 12:55
+
-
edit
 

НеВзаимный

втянувшийся
сайт делал я "сам"... но тут знания ПХП не нужно - CMS и все...
+
-
edit
 
code text
  1. <?php
  2. $server_ip = '127.0.0.1'; // есно айпи сервера (либо адрес)
  3. $time_check = 30; // в сек.
  4. //------------------------------------------------------------------------------
  5. unset($tmp,$fs,$t,$login_s,$game_s);
  6. if(file_exists('server_status.temp')){
  7. $tmp = file('server_status.temp');
  8. list($t,$login_s,$game_s) = split(":",$tmp[0]);
  9.   if((time()-$t)>$time_check){
  10.      $tmp = check_ports($server_ip);
  11.      check_ports_to_file($tmp);
  12.      list($login_s,$game_s) = split(":",$tmp);
  13.   }
  14. }else{
  15. $tmp = check_ports($server_ip);
  16. check_ports_to_file($tmp);
  17. list($login_s,$game_s) = split(":",$tmp);
  18. }
  19. //---------------------
  20. function check_ports_to_file($tmp){
  21. $fs = fopen('server_status.temp','w');
  22. fputs($fs,time().":".$tmp);
  23. fclose($fs);
  24. }
  25. //---------------------
  26. function check_ports($host){
  27. $login_s=0;
  28. $game_s=0;
  29. $fp = @fsockopen($host, 2106, $err_n, $err_str, 0.5);
  30. if ($fp)
  31. {
  32.   fclose($fp);
  33.   $login_s=1;
  34. }
  35. $fp = @fsockopen($host, 7777, $err_n, $err_str, 0.5);
  36. if ($fp)
  37. {
  38.   fclose($fp);
  39.   $game_s=1;
  40. }
  41. return ($login_s.":".$game_s.":");
  42. }
  43. ?>
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
LV НеВзаимный #03.01.2006 13:12
+
-
edit
 
LV НеВзаимный #03.01.2006 13:26
+
-
edit
 

НеВзаимный

втянувшийся
крч поковырявшись чуть чуть я немножко укоротил скрипт и получилось :

&lt;?php
@$fp = fsockopen("localhost", 7777, $errno, $errdesc, 1);
if ($fp)
{
fclose($fp);
print "Сервер: Onlinen";
}
else
print 'Сервер: Offline';
?>

Спасибки :)

Может кому пригодится.
+
-
edit
 
Остальное для оптимизации работы и разделенных серверов :)
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
LV НеВзаимный #03.01.2006 14:29
+
-
edit
 

НеВзаимный

втянувшийся
Можншь не старатся - мне все равно не понять :)
RU MAN-biker #04.01.2006 19:04
+
-
edit
 

MAN-biker

новичок
ну, что я могу сказать... НЕ РАБОТАЕТ!
Даже такой примитивный скрипт, присланный НеВзаимным, показывает, что у меня ОНЛАЙН даже тогда, когда ни сервер логина, ни игры НЕ запущены!
В чём может быть проблема? У меня что постоянно что-то открыто и не закрывается? Что происходит? Где копать?
RU MAN-biker #27.01.2006 11:02
+
-
edit
 

MAN-biker

новичок
Что никто не знает или все такие крутые что с небес плюнуть влом?
Я не ламо и не баран, но бывают тонкости, с которыми не сталкивался или не знаешь с какого боку подступиться.

Если кто-то ваще хоть немного кумекает, скажите мне каким образом выходит так, что (как я понимаю) функция fsockopen ВСЕГДА возвращает мне, что сокет открыт?!
Что за фигня?

Есть ли какой-то другой НАДЁЖНЫЙ способ, чтоб проверить работает сервер или в дауне (
вроде писал кто-то способ с созданием временного файла через определенные промежутки времени, а затем сравнения даты его создания)?

Dnny

втянувшийся
У GH была такая проблема, я ее решил просто, убрал его сайт нах, поставил L2jz, написал страницу к нему с новостями, удалил нах дебильный форум, поставил другой, удалил сервер GH (з...л он своими глюками), поставил другой. Получился нормальный сайт. На заглавную страницу скрипт невзаимного повесил. Все работает. И сервером доволен.
Да надоели все эти онлайн игры, пора жить реальностью...  
+
-
edit
 

Eronak

втянувшийся
Dnny> У GH была такая проблема, я ее решил просто, убрал его сайт нах, поставил L2jz, написал страницу к нему с новостями, удалил нах дебильный форум, поставил другой, удалил сервер GH (з...л он своими глюками), поставил другой. Получился нормальный сайт. На заглавную страницу скрипт невзаимного повесил. Все работает. И сервером доволен.

ГГ я так понял надо поставить зборку грини потом из зборки поочередно поудалять все папки и должен получится нормальный сайт=))
 

Dnny

втянувшийся
Dnny>> У GH была такая проблема, я ее решил просто, убрал его сайт нах, поставил L2jz, написал страницу к нему с новостями, удалил нах дебильный форум, поставил другой, удалил сервер GH (з...л он своими глюками), поставил другой. Получился нормальный сайт. На заглавную страницу скрипт невзаимного повесил. Все работает. И сервером доволен.
Eronak> ГГ я так понял надо поставить зборку грини потом из зборки поочередно поудалять все папки и должен получится нормальный сайт=))

Ну можно и так. Но я качал фул апач+php+mysql и делал сайт из l2jz главную страницу мне написали, + я еще подключил туда базу как на l2db.ru и все. Ну еще форум установил. вот уже месяц все пашет. не разобрался только почему анонсы не отправляются в игру и почему добавить вещи можно только когда игрок не в игре. и перезагрузка сервера через сайт не работает. все остальное пашет
Да надоели все эти онлайн игры, пора жить реальностью...  
+
-
edit
 
telnet настроил?
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  

Dnny

втянувшийся
Abaddon> telnet настроил?

настроил, все по инструкции. только поечуто не работает
Да надоели все эти онлайн игры, пора жить реальностью...  
+
-
edit
 

Eronak

втянувшийся
Abaddon>> telnet настроил?
Dnny> настроил, все по инструкции. только поечуто не работает

Телнет надо открывать только на самом сервере так как я сам по ошибке открыл еще и в логин сервере и у меня тоже не пахали команды!
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru