Скрипт статуса игрового сервера - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > PHP

PHP Форум как для начинающих программистов на PHP так и для профессионалов этого дела. Если нужно создать скрипт, функцию и т.д, но не знаете как, спросите у нас и мы вам подскажем. Здесь вы найдете примеры скриптов которые вы сможете использовать на сайтах своих серверов (онлайн, регистрация, семь печатей, топ игроков). Так же много книг и статей.

Ответ
Опции темы
Непрочитано 08.06.2008, 11:49   #1
Аватар для Hichnick
Пользователь

Автор темы (Топик Стартер) Скрипт статуса игрового сервера

Создаём файл status.php со следующим кодом:

PHP код:
<?php


error_reporting
(0);
$IP = array(
"Гейм сервер: " => "Ip gameserver:7777",
"Логин сервер: "=> "Ip loginserver:2106",
); 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(
"<font color='green'> открыты </font><br>");
fclose($fp);
}
else {
echo (
"<font color='red'> закрыты </font><br>");
}
}

?>
Hichnick вне форума Ответить с цитированием
Непрочитано 04.07.2008, 23:08   #2
Пользователь

По умолчанию Ответ: Скрипт статуса игрового сервера

Вот вам еще 1 скриптик если гейм сервер офф то показывает что он офф а не как первый скрипт...раз через раз
PHP код:
<?
//меняем данные переменные
$servergame="ip_или_хост_игрового_сервера";            
$serverlogin="ip_или_хост_логин_сервера";               
$portgame="порт_игрового_сервера";                              
$portlogin="порт_игрового_сервера";  
//ниже ничего не трогаем
$fp = @fsockopen($serverlogin$portlogin$errno$errstr1);
if(
$fp >= 1){
$loginonline '<font color=green  face=verdana>On</font>';}
else{ 
$loginonline '<font color=red face=verdana>Off</font>'; }
$fp = @fsockopen($servergame$portgame$errno$errstr1);
if(
$fp >= 1){
$gameonline '<font color=green  face=verdana>On</font>';}
else{ 
$gameonline '<font color=red face=verdana>Off</font>'; }
?>
Логин сервер: <?php echo $loginonline?><br>
Гейм сервер: <?php echo $gameonline?>
SeGa вне форума Ответить с цитированием
Непрочитано 26.08.2008, 14:29   #3
Аватар для Nostro
Пользователь

По умолчанию Ответ: Скрипт статуса игрового сервера

А подскажите, как изменить скрипт из первого поста, чтобы еще показывались такие данные как: Какой Онлайн, Сколько Акков создано, Сколько Чаров в Игре, Сколько ГМов в игре и наконец, Сколько Кланов... или хотябы половину из списка, кто может помочь?
Nostro вне форума Ответить с цитированием
Непрочитано 27.08.2008, 09:20   #4
Аватар для sw.Devil
Пользователь

Post Ответ: Скрипт статуса игрового сервера

Доброго времени суток.
Скрипт как и просили
PHP код:
<?php
$mysql_host
="localhost";    // IP адрес MySQL-сервера             [localhost]
$mysql_port="3306";            // Порт                              [3306]
$mysql_db="l2jdb";            // Имя игровой базы в MySQL-сервере    [l2jdb]
$mysql_login="root";        // Логин                             [root]    
$mysql_password="root";        // Пароль                            [root]
$serverlogin="localhost";    // Логин сервер                        [localhost]
$servergame="localhost";    // Гейм сервер                        [localhost]
$portgame="7777";            // Порт игрового сервера            [7777]
$portlogin="2106";            // Порт логин сервера                [2106]
$link mysql_connect($mysql_host$mysql_login$mysql_password) or die("<br>Could not connect: " .mysql_error());
@
mysql_select_db($mysql_db$link);
?>
<br>
<?
$fp 
= @fsockopen($serverlogin$portlogin$errno$errstr1);
if(
$fp >= 1)
{
    
$loginonline '<font color=green size=3 face=verdana>On</font>';
}
else
{
    
$loginonline '<font color=red size=3 face=verdana>Off</font>';
}
$fp = @fsockopen($servergame$portgame$errno$errstr1);
if(
$fp >= 1)
{
    
$gameonline '<font color=green size=3 face=verdana>On</font>';
}
else
{
    
$gameonline '<font color=red size=3 face=verdana>Off</font>';
}
$sql mysql_query("SELECT count(*) FROM characters WHERE online = 1") or die("Invalid query: " .mysql_error());
// Цифры 80 и 150 - это пороги цветового сигнализатора он-лайна
// т.е. до 80 - зеленый
// от 81 до 150 - оранжевый
// от 151 - красный
if( mysql_result($sql00) <= 80)
{
    
$playsonline "<font color=green>" .mysql_result($sql00). "</font>";
}
elseif( 
mysql_result($sql00) >= 80 AND mysql_result($sql00) <= 150)
{
    
$playsonline "<font color=orange>" .mysql_result($sql00). "</font>";
}
elseif( 
mysql_result($sql00) > 150)
{
    
$playsonline "<font color=red>" .mysql_result($sql00). "</font>";
}
$sql mysql_query("SELECT count(*) FROM accounts") or die("Invalid query: " .mysql_error());
$sql mysql_query("SELECT count(*) FROM characters WHERE online ='1' AND accesslevel>50") or die("Invalid query: " .mysql_error());
if( 
mysql_result($sql00) <= 80)
{
    
$gmonline "<font color=red>" .mysql_result($sql00). "</font>";
}
$sql mysql_query("SELECT count(*) FROM accounts") or die("Invalid query: " .mysql_error());
$accountsnum mysql_result($sql00);
$sql mysql_query("SELECT count(*) FROM characters") or die("Invalid query: " .mysql_error());
$charnum mysql_result($sql00);
$sql mysql_query("SELECT count(*) FROM clan_data") or die("Invalid query: " .mysql_error());
$clannum mysql_result($sql00);
$sql mysql_query("SELECT count(*) FROM characters Where accesslevel > 99") or die("Invalid query: " .mysql_error());
$gmnum mysql_result($sql00);
?>
<br>
Логин сервер: <?php echo $loginonline?><br>
Гейм сервер: <?php echo $gameonline?><br>
Онлайн: <?php echo $playsonline?><br> из них ГМов: <?php echo $gmonline?> <br>
Аккаунтов: <?php echo $accountsnum?><br>
Чаров: <?php echo $charnum?><br> из них ГМов: <?php echo $gmnum?><br>
Кланов: <?php echo $clannum?><br>
<?
mysql_close
($link);
?>
С уважением sw.Devil

Последний раз редактировалось sw.Devil; 27.08.2008 в 09:55.
sw.Devil вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 27.08.2008, 11:21   #5
Аватар для Nostro
Пользователь

По умолчанию Ответ: Скрипт статуса игрового сервера

Бальшущие спс, а то срочно нужен был этот скриптик!
Nostro вне форума Ответить с цитированием
Непрочитано 23.09.2008, 14:25   #6
Аватар для tuareg
Пользователь

По умолчанию Ответ: Скрипт статуса игрового сервера

Цитата:
Сообщение от SeGa Посмотреть сообщение
Вот вам еще 1 скриптик если гейм сервер офф то показывает что он офф а не как первый скрипт...раз через раз
PHP код:
<?
//меняем данные переменные
$servergame="ip_или_хост_игрового_сервера";            
$serverlogin="ip_или_хост_логин_сервера";               
$portgame="порт_игрового_сервера";                              
$portlogin="порт_игрового_сервера";  
//ниже ничего не трогаем
$fp = @fsockopen($serverlogin$portlogin$errno$errstr1);
if(
$fp >= 1){
$loginonline '<font color=green  face=verdana>On</font>';}
else{ 
$loginonline '<font color=red face=verdana>Off</font>'; }
$fp = @fsockopen($servergame$portgame$errno$errstr1);
if(
$fp >= 1){
$gameonline '<font color=green  face=verdana>On</font>';}
else{ 
$gameonline '<font color=red face=verdana>Off</font>'; }
?>
Логин сервер: <?php echo $loginonline?><br>
Гейм сервер: <?php echo $gameonline?>
Проверил скриптик, он также через раз показывает , то офф, то он ...
хотя у меня и на других такая же история возможно ,что-то с базой ил еще чего..
tuareg вне форума Ответить с цитированием
Непрочитано 19.11.2008, 15:21   #7
Пользователь

По умолчанию Ответ: Скрипт статуса игрового сервера

sw.Devil, что скажещь насчет безопасности твоего скрипта на предмет взлома?
sobre вне форума Ответить с цитированием
Непрочитано 19.11.2008, 15:30   #8
Аватар для DarkLoki
Пользователь

По умолчанию Ответ: Скрипт статуса игрового сервера

Цитата:
Сообщение от sobre Посмотреть сообщение
sw.Devil, что скажещь насчет безопасности твоего скрипта на предмет взлома?
А как можно взломать скрипт, который никак с пользователем не взаимодействует? о.О
__________________
Я не прав? Докажите это тут или тут
* Интересная тема * для новичков *
DarkLoki вне форума Ответить с цитированием
Непрочитано 24.11.2008, 01:37   #9
Пользователь

По умолчанию Ответ: Скрипт статуса игрового сервера

Цитата:
Сообщение от DarkLoki Посмотреть сообщение
А как можно взломать скрипт, который никак с пользователем не взаимодействует? о.О
в этом скрипте пас и лог базы а значит потенциальная опасность существет
sobre вне форума Ответить с цитированием
Непрочитано 24.11.2008, 13:27   #10
Аватар для sw.Devil
Пользователь

Exclamation Ответ: Скрипт статуса игрового сервера

Доброго времени суток.
Цитата:
Сообщение от sobre Посмотреть сообщение
в этом скрипте пас и лог базы
Ну это можно исправить.
Выризаем это:
PHP код:
$mysql_host="localhost";    // IP адрес MySQL-сервера             [localhost] 
$mysql_port="3306";            // Порт                              [3306] 
$mysql_db="l2jdb";            // Имя игровой базы в MySQL-сервере    [l2jdb] 
$mysql_login="root";        // Логин                             [root]     
$mysql_password="root";        // Пароль                            [root] 
$serverlogin="localhost";    // Логин сервер                        [localhost] 
$servergame="localhost";    // Гейм сервер                        [localhost] 
$portgame="7777";            // Порт игрового сервера            [7777] 
$portlogin="2106";            // Порт логин сервера                [2106] 
В отдельный файл.
А затем подключаем через include() в основном скрипте.

С уважением sw.Devil.
sw.Devil вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 09:13. Часовой пояс GMT +3.

Вверх