GD2 musi być zainstalowane na serwerze, PQ jest w załączniku
Pobieramy i wypakowujemy załącznik: server.zip 227,7 KB 2361 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