Generowanie statusu serwera
mgr inż. Pavulon
21.02.2010
Żeby otrzymać bannerek z danymi serwera podobny do tego:
możemy skorzystać z biblioteki GD2 dostępnej w PHP oraz klasy PQ której użyjemy do pobrania danych o serwerze. Aby otrzymać przyjazne linki wykorzystamy również mod_rewrite aby zamiast rozszerzenia .php mieć np .png
GD2 musi być zainstalowane na serwerze, PQ jest w załączniku
Pobieramy i wypakowujemy załącznik:
server.zip 227,7 KB
2397 Ilość pobrań
np do głównego katalogu.
Nadajemy katalogowi cache prawa do zapisu i odczytu (chmod 777).
Standardowe ustawienia umożliwiają generowanie statusu dla IP podanego w parametrze $_GET['ip'] lub $_GET['ip'] i $_GET['port'].
Więc jeżeli mamy domenę amxx.pl i wypakowaliśmy pliki do głównego katalogu to dostęp do skryptu będziemy mieli poprzez kilka linków (mod_rewrite):
Jeżeli chcemy tworzyć status tylko jednego serwera to zamieniamy:
na:
I nie musimy już podawać parametru ?ip= w linkach.
Stan serwera jest cache'owany (zapisywany) na 30 sekund (standardowo - $cachetime) aby zapobiec częstemu łączeniu się z serwerem.
Jako baza służy nam grafika o rozmiarach 350x20px w formacie .png (standardowo - $ext) i nazwie base.png (standardowo - $base) znajdująca się w tym samym katalogu co index.php
Do wyboru jest kilka czcionek (tablica $fonts) w formacie TTF (załączone).
Dodatkowo wszystko mniej więcej opisane w pliku index.php.
Oczywiście wymagane są otwarte porty i odblokowana funkcja fsock_open do pobrania statusu serwera.
p.s.
nie jest to jakoś super zrobione, ale każdy może sobie dopracować i zrobić wg własnego uznania
możemy skorzystać z biblioteki GD2 dostępnej w PHP oraz klasy PQ której użyjemy do pobrania danych o serwerze. Aby otrzymać przyjazne linki wykorzystamy również mod_rewrite aby zamiast rozszerzenia .php mieć np .pngGD2 musi być zainstalowane na serwerze, PQ jest w załączniku
Pobieramy i wypakowujemy załącznik:
server.zip 227,7 KB
2397 Ilość pobrańnp do głównego katalogu.
server ├── base.png ├── cache ├── cs.png ├── cs.ttf ├── digit.ttf ├── impact.ttf ├── index.php ├── key.png ├── lucon.ttf ├── ocr.ttf ├── SNS │ ├── class_PQ.php │ └── PQ │ ├── gamespy.php │ ├── halflife.php │ ├── oldhalflife.php │ ├── PQ_PARENT.php │ └── quake3.php └── steam.png
Nadajemy katalogowi cache prawa do zapisu i odczytu (chmod 777).
Standardowe ustawienia umożliwiają generowanie statusu dla IP podanego w parametrze $_GET['ip'] lub $_GET['ip'] i $_GET['port'].
Więc jeżeli mamy domenę amxx.pl i wypakowaliśmy pliki do głównego katalogu to dostęp do skryptu będziemy mieli poprzez kilka linków (mod_rewrite):
i do nich doklejamy parametr ip (lub ip i port) tj.amxx.pl/server/index.php
amxx.pl/server/index.png
amxx.pl/server/index.jpg
amxx.pl/server/status.png
amxx.pl/server/status.jpg
?ip=IP_SERWERA:PORTlub
?ip=IP_SERWERA&port=PORT_SERWERACzyli otrzymujemy przykładowo
amxx.pl/server/index.png?ip=127.0.0.1:27015
Jeżeli chcemy tworzyć status tylko jednego serwera to zamieniamy:
if (strpos($_GET['ip'], ':'))
{
$ipp = explode(":", $_GET['ip']);
if (count($ipp)==2)
{
$conf_ip = $ipp[0];
$conf_port = $ipp[1];
}
} else {
$conf_ip = ($_GET['ip'])?$_GET['ip']:'localhost';
$conf_port = ($_GET['port'])?$_GET['port']:'27015';
}
na:
$conf_ip = 'IP_SERWERA';
$conf_port = 'PORT_SERWERA';
I nie musimy już podawać parametru ?ip= w linkach.
Stan serwera jest cache'owany (zapisywany) na 30 sekund (standardowo - $cachetime) aby zapobiec częstemu łączeniu się z serwerem.
Jako baza służy nam grafika o rozmiarach 350x20px w formacie .png (standardowo - $ext) i nazwie base.png (standardowo - $base) znajdująca się w tym samym katalogu co index.php
Do wyboru jest kilka czcionek (tablica $fonts) w formacie TTF (załączone).
Dodatkowo wszystko mniej więcej opisane w pliku index.php.
Oczywiście wymagane są otwarte porty i odblokowana funkcja fsock_open do pobrania statusu serwera.
p.s.
nie jest to jakoś super zrobione, ale każdy może sobie dopracować i zrobić wg własnego uznania
ReKsiu
22.02.2010
Powiem jedno jesteś boski
Masz + za super skrypt.
Wy edytuje to ,a jak z licencją? Można z tym robić wszystko + jakaś stopka czy coś?
Wy edytuje to ,a jak z licencją? Można z tym robić wszystko + jakaś stopka czy coś?
mgr inż. Pavulon
22.02.2010
No niestety w grafice stopki nie zrobisz
Więc wg uznania (komentarz w kodzie czy coś).
Edycja dowolna, dlatego jest tam m.in. kilka nieużywanych kolorów czy fontów.
Edycja dowolna, dlatego jest tam m.in. kilka nieużywanych kolorów czy fontów.
ReKsiu
22.02.2010
Hehe dla upartego nic trudnego i na to będzie sposób
Ja chcę zrobić z tego generator. (taki na stronek www żeby można wygodnie manewrować).
mgr inż. Pavulon
26.02.2010
Można pokombinować, ale wtedy niezbędne jest odpalanie scryptu w crontabie i najlepiej sql.
Vertricus
26.02.2010
Obojętnie jak 
Chyba najlepiej na zasadzie osobnego Img do wykresu i za pomocą merge je łączyć.
Chyba najlepiej na zasadzie osobnego Img do wykresu i za pomocą merge je łączyć.
mgr inż. Pavulon
27.03.2010
Widocznie hosting nie zezwala na połączenia. W takim wypadku nie idzie tego ominąć.
Vertricus
28.03.2010
Musisz przerobić kod jak i base.png ![:]](https://amxx.pl/public/style_emoticons/default/cwaniak.gif)
W kodzie inaczej poustawiać text i dodać ew. coś swojego ale nie będzie się on wiele różnił od tego co jest teraz.
W kodzie inaczej poustawiać text i dodać ew. coś swojego ale nie będzie się on wiele różnił od tego co jest teraz.
E3G
28.03.2010
Próbowałem już z dwoma hostingami nadal to samo...
Znalazlem z innej serwerowni coś takiego
http://tnij.org/amxmxmxm
Ale jednak wolał bym na swoim hostingu...
Znalazlem z innej serwerowni coś takiego
http://tnij.org/amxmxmxm
Ale jednak wolał bym na swoim hostingu...
mgr inż. Pavulon
29.03.2010
A na jakimś płatnym ? Bo darmowe to raczej nie zezwalają na takie rzeczy.
kyku
30.03.2010
1ts.pl tam powinno wszystko działać (darmowy hosting a lepszy od wielu płatnych
)
Status serwerow cs-mystic.com
jak widać działa (chociaż nie wiem jak z tą klasą, ja mam całkiem inną, bez cache itp. ładuje się w mniej niż sekundę 10 serwerów
)
30 marzec 2010 - 19:20:
to moje jest bez cache jak coś
przy każdym odświeżeniu pobiera dane z serwerów i zerowe wykorzystanie transferu.
Status serwerow cs-mystic.com
jak widać działa (chociaż nie wiem jak z tą klasą, ja mam całkiem inną, bez cache itp. ładuje się w mniej niż sekundę 10 serwerów
30 marzec 2010 - 19:20:
to moje jest bez cache jak coś
mgr inż. Pavulon
31.03.2010
Zerowe wykorzystanie transferu ?1ts.pl tam powinno wszystko działać (darmowy hosting a lepszy od wielu płatnych
)
Status serwerow cs-mystic.com
jak widać działa (chociaż nie wiem jak z tą klasą, ja mam całkiem inną, bez cache itp. ładuje się w mniej niż sekundę 10 serwerów)
30 marzec 2010 - 19:20:
to moje jest bez cache jak cośprzy każdym odświeżeniu pobiera dane z serwerów i zerowe wykorzystanie transferu.
A co do klasy... To każda i tak raczej z socket'ów korzysta




