Статистика сервера для PHP-Nuke? (блок)

Теги:
 

sober

новичок
Собственно нужен один блок в которомм бы отображалось кол-во народа в Online.
Статус сервера уже есть. Если кто знает как реализовать, то можете просто выложить код, а я сам добавлю в свой блок с статусом.
Тоесть блок должен выглядеть так простенько:

Server: Online
Players: 128 (к примеру)
Желающих помочь или принять участие в разработке сервера всегда ждем тут.  

Styx

разработчик l2j-сервера
sober> Собственно нужен один блок в которомм бы отображалось кол-во народа в Online.
sober> Статус сервера уже есть. Если кто знает как реализовать, то можете просто выложить код, а я сам добавлю в свой блок с статусом.
sober> Тоесть блок должен выглядеть так простенько:
sober> Server: Online
sober> Players: 128 (к примеру)

SELECT COUNT(*) FROM characters WHERE online=1
...and what better way to say goodbye than to kill everyone in sight? © Syntari  

sober

новичок
спасибо. просто подобный код я не в курсе как вставить в мой блок?
у мя блок который отображает статус сервера выглядит так:
он разделен на 2 части - block-la2.php и server.php
в части server - собственно IP сервака
в части block-la2.php код:


code text
  1. <?
  2. if (eregi("block-la2.php",$_SERVER['PHP_SELF'])) {
  3. Header("Location: index.php");
  4. die();
  5. }
  6.  
  7. include "servers.php";
  8. $IP = array(
  9. "Server A:" => "$SA",
  10. "Game Server:" => "$GA",
  11. ); while(list($ServerName,$Host)=each($IP)) {
  12. list($IPAddress,$Port)=explode(":",$Host);
  13. $content = "[tabtr][b]".$ServerName."[/b]";
  14. if($fp=fsockopen($IPAddress,$Port,$ERROR_NO,$ERROR_STR,(float)0.5)) {
  15. $content = "[b]Lineage II Server[html_font color=green]  Online
  16. [/b][/html_font]";
  17. fclose($fp);
  18. }
  19. else {
  20. $content = "[html_font color=#ff0000][b]Offline[/b]";
  21. }
  22. }
  23. ?>
Желающих помочь или принять участие в разработке сервера всегда ждем тут.  
+
-
edit
 
code text
  1.                 <?php
  2.  
  3.                 include "mysql.inc";
  4.                 mysql_select_db("l2jdb");
  5.                 include "status.inc";
  6.  
  7.                 if($game_s){
  8.                 $mreply=mysql_fetch_array(mysql_query("select count(online) from characters where online"));
  9.                 $online=stripslashes($mreply["count(online)"]);
  10.                 echo "
  11. <a class='online'>Онлайн сервера: $online</a>";
  12.  
  13.                 $file = fopen("online.txt", "w");
  14.                 fwrite($file, $online);
  15.                 fclose($file);
  16.                 }else{
  17.                 echo "
  18. <a class='offline'>Сервер оффлайн</a>";}
  19.  
  20.                 ?>

Содержимое status.inc
code text
  1. <?php
  2. //$server_ip = '213.219.221.4'; // есно айпи сервера (либо адрес)
  3. $server_ip = '127.0.0.1'; // есно айпи сервера (либо адрес)
  4. $time_check = 30; // в сек.
  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.  
  44. ?>

Возвращает "Онлайн сервера: х" либо "Сервер оффлайн"
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  

sober

новичок
во. огромадное вам спасибо. незабуду.
могу поделать вашему серверу небольшой пиар.
Желающих помочь или принять участие в разработке сервера всегда ждем тут.  
+
-
edit
 

EAst26

новичок
Кто-нибудь может поделится скриптами онлайна и тому подными для PHP Fusion ? :)
 
AD Реклама Google — средство выживания форумов :)
мне тоже нужны такие скрипты !!!
 

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