Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

.dziunia

jak zrobić własny gametracker? Jak zrobić własny monitor serwera? Generowanie statusu serwera

Promowane odpowiedzi

.dziunia    437

Żeby otrzymać bannerek z danymi serwera podobny do tego:

statusgametracker.png

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, 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ę cmsszablony.pl i wypakowaliśmy pliki do głównego katalogu to dostęp do skryptu będziemy mieli poprzez kilka linków (mod_rewrite):

cmsszablony.pl/server/index.php 
 cmsszablony.pl/server/index.png 
 cmsszablony.pl/server/index.jpg 
 cmsszablony.pl/server/status.png 
 cmsszablony.pl/server/status.jpg

i do nich doklejamy parametr ip (lub ip i port) tj.

?ip=IP_SERWERA:PORT

lub

?ip=IP_SERWERA&port=PORT_SERWERA

Czyli otrzymujemy przykładowo
 

cmsszablony.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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
catarts    691
Po pierwsze nie gametracker tylko obraazek

0,0/10

Po pierwsze żeby zrobić gametrackera trzeba najpierw obrazek..

A kolega wstawił po to by nie marnować czasu na robienie go , tylko wstawił obrazek aby inni użytkownicy napisali mu co zmienić lub podsunąć inne modyfikacje..

Tak jak kolega UP^ usuń te zółte paski i będzie git..

Ogólnie nie jest żle i dam ci 6/10..

Pozdro.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Nexert    84

Bardzo słaby. Wszystko wygląda okropnie.

Prawie nic do siebie nie pasuje. Ten żółty obrys jest tragiczny.

Czcionka źle dobrana , i nie pasuje do tej pracy.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
MichART    0

Dekke, wielki do du** znawca grafiki, w życiu byś lepszej pracy nie wykonał ...

Co do pracy, zero ciekawych efektów, jedynie podoba mi się ten napis LS , za chęci 2/5

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×