←  Gotowe funkcje

AMXX.pl: Support AMX Mod X i SourceMod

»

PHP
Tabela serwerów Online v2.0 *AKTUALIZACJA*

  • +
  • -
Zapalka - zdjęcie Zapalka 27.12.2011

Witam, chciałbym przedstawić wam Tabelę serwerów Online, jeden styl jest zaczerpnięty i odświeżony z tabeli od Dj ^^ d(-.-)b.

Tabelka standardowo posiada 3 style, oto one:
Standardowy:
Dołączona grafika

Black(z tabelki Dj ^^ d(-.-)b):
Dołączona grafika

oraz Blue:
Dołączona grafika


Tabelka standardowo odświeża informacje co 30 sekund, informacje odświeżane są AJAX'em, czyli bez odświeżania strony. Cała tabelka się nie przeładowywuje, odświeżają się same dane.
Oczywiście odstępy czasowe między odświeżeniami można dowolnie zmieniać.
Tabela obsługuje gry:
- Counter Strike 1.6
- Counter Strike: Source
- Counter Strike: Global Offensive
- Call of Duty 2
- Call of Duty 4
- Team Fortress 2
oraz serwery głosowe:
- Team Speak 3
- Ventrilo

Lista informacji, które pokazuje tabela:
- Status(online/offline),
- Nazwa serwera,
- IP serwera,
- Liczba graczy,
- Aktualnie grana mapa,
- Hasło(Tak/Nie),
- Cvary, które można dowolnie ustawić,
- Lista graczy wraz z ilością fragów (Po najechaniu myszką na liczbę graczy),
- Następną mapę (Po najechaniu myszką na aktualnie graną mapę, tylko serwery cs 1.6),
- Czas do zmiany mapy (Po najechaniu myszką na aktualnie graną mapę, tylko serwery cs 1.6),
- Link do HLTV (jeśli dodany)

Wszystkie pobierane informacje są zapisywane w cache aby przyśpieszyć ładowanie strony i odciążyć zarówno serwery gry jak i serwer www.

Tabela w żaden sposób nie ogranicza ilości wstawianych serwerów.

Teraz opiszę trochę edytowalną część pliku config.php
Linijka 8:
$main['cache_time']=30;

Na jaki czas mają zostawać zapisywane informacje.

Linijka 11:
$automatyczne_odswiezanie=30;

Co jaki czas informacje w tabelce mają być odświeżane
0 - wyłącza

Linijka 13:
$licz['ts3']=0;

Czy serwery Team Speak 3 mają być uwzględniane w podsumowaniu(pod serwerami)
0 - Nie
1 - Tak

Linijka 14:

$licz['ventrilo']=0;

Czy serwery Ventrilo mają być uwzględniane w podsumowaniu(pod serwerami)
0 - Nie
1 - Tak

Linijka 16:
$podsumowanie=1;

Czy podsumowanie ma być pokazywane(pod serwerami)
0 - Nie
1 - Tak


Linijka 18:
$nazwa_serwera=0;

Pobierać nazwę serwera przy połączeniu czy używać tej wpisanej niżej.

0 - Stała nazwa serwera pobierana z tego pliku
1 - Nazwa serwera pobierana przy połączeniu z serwerem.


Dalej ustawia się cvary, które mają być pobierane i widoczne po najechaniu myszką na nazwę serwera:
$cvars[]= array(
'cs'=>array(0=>array(0=>'amxmodx_version',1=>'Wersja amxx:'),1=>array(0=>'amxbans_version',1=>'Wersja amxbans:'),2=>array(0=>'mp_timelimit',1=>'Czas mapy:')),
'csgo'=>array(0=>array(0=>'sourcemod_version',1=>'Wersja SourceMod:'),1=>array(0=>'mp_maxrounds',1=>'Liczba rund:'),2=>array(0=>'deathmatch',1=>'DeathMatch:')),
'cssource'=>array(0=>array(0=>'sourcemod_version',1=>'Wersja SourceMod:'),1=>array(0=>'mp_maxrounds',1=>'Liczba rund:'),2=>array(0=>'deathmatch',1=>'DeathMatch:')),
'tf2'=>array(0=>array(0=>'mp_allowNPCs',1=>'NPC Włączone:'),1=>array(0=>'mp_timelimit',1=>'Czas mapy:'),2=>array(0=>'deathmatch',1=>'DeathMatch:')), 'ventrilo'=>array(0=>array(0=>'version',1=>'Wersja:'),1=>array(0=>'channelcount',1=>'Liczba kanałów:'),2=>array(0=>'uptime',1=>'Czas online:')), 'ts3'=>array(0=>array(0=>'virtualserver_version',1=>'Wersja:'),1=>array(0=>'virtualserver_channelsonline',1=>'Liczba kanałów:'),2=>array(0=>'virtualserver_uptime',1=>'Czas online:')),
'cod2'=>array(0=>array(0=>'g_gametype',1=>'Typ gry:'),1=>array(0=>'shortversion',1=>'Wersja:'),2=>array(0=>'scr_friendlyfire',1=>'FriendlyFire:')), 'cod4'=>array(0=>array(0=>'g_gametype',1=>'Typ gry:'),1=>array(0=>'shortversion',1=>'Wersja:'),2=>array(0=>'_Mod',1=>'Mod:')),
);

Cvary ustawia się dla danej gry, nie dla serwera.

Następnie można ustawić nazwę gry pokazującą się po najechaniu na ikonkę przy serwerze:
$games[]=array(
'cs'=>'Counter Strike 1.6',
'csgo'=>'Counter Strike: Global Offensive',
'cssource'=>'Counter Strike: Source',
'tf2'=>'Team Fortress 2',
'ventrilo'=>'Ventrilo',
'ts3'=>'Team Speak 3',
'cod2'=>'Call of Duty 2',
'cod4'=>'Call of Duty 4',
);


No i w końcu możemy ustawić swoje serwery ;)
$serwers[]=array(
'nazwa'=>'Nazwa serwera',
'ip'=>'adres IP serwera',
'game'=>'skrót od nazwy gry', // lista skrótów dostępna niżej
'hltv'=>'adres do hltv serwera',
'on'=>1, // Czy serwer ma być włączony(jeśli ustawisz na 0 to nie będzie go na liście)
'new'=>0, // Czy przy nazwie serwera ma być pokazywana ikonka "new" 0-nie 1-tak
'offline'=>0 // Czy serwer ma być pokazywany na liście jako wyłączony
);


Skróty nazw gier, które należy wstawiać przy dodawaniu serwera:
ts3 - Team Speak 3
cs - Counter Strike 1.6
ventrilo - Ventrilo
tf2 - Team Fortress 2
csgo - Counter Strike: Global Offensive
cod2 - Call of Duty 2
cod4 - Call of Duty 4
cssource - Counter Strike: Source

Z ostatniej opcji, 'offline' należy skorzystać, jeśli serwer jest ciągle wyłączony a ma być pokazywany w tabeli.
Dzięki zaznaczeniu tej opcji przyśpieszymy ładowanie tabeli.

Style dostępne są w folderze status. Aby użyć danego stylu wchodzimy do tego folderu, następnie wchodzimy do folderu do folderu z wybranym stylem no i kopiujemy plik style.css podmieniając ten znajdujący się w folderze status.

Jeśli chcemy stworzyć własny styl tabelki otwieramy plik style.css znajdujący się w folderze status, i tam mamy wszystko co jest potrzebne do zmian.
Własne kolory tła tabelki można pobrać ze strony: http://colorzilla.com/gradient-editor
.srvgora - tło górnego paska(Gra, Nazwa serwera...)
.srodek - cała reszta tabelki



Instrukcja instalacji tabelki

Tabelkę można zainstalować na dwa sposoby.
UWAGA! Nie można zmieniać nazw folderów ani plików, po zmianie nie ma gwarancji na działanie tabelki!

Jeśli posiadamy forum phpbb by przemo:
Zawartość pobranego archiwum wgrywamy bezpośrednio do głównego folderu forum(nie może być żadnych podkatalogów), tak aby plik status.php był wraz z innymi plikami forumowymi.
Wchodzimy do folderu status i ustawiamy CHMODY folderu cache na 777.
W tym momencie można dokonać konfiguracji pliku config.php.
No i ostatni krok, otwieramy plik index.php w głównym folderze forum i szukamy linijki na końcu pliku: "// display the index" i przed lub pod nią wklejamy ten kawałek kodu:
include($phpbb_root_path . 'status.php');

I tabelka gotowa, będzie się ona pokazywała na stronie głównej forum pod headerem i menu.


Jeśli posiadamy inne forum lub chcemy dodać tabelkę za pomocą ramki(iframe):
Jest to gorszy sposób ze względu na to, że chmurki pokazujące np. listę graczy na serwerach mogą być ucinane jeśli będą wykraczały poza ustaloną wielkość ramki.
Początek instalacji jest taki sam, zawartość pobranego archiwum wgrywamy bezpośrednio do głównego folderu forum(nie może być żadnych podkatalogów), tak aby plik status.php był wraz z innymi plikami forumowymi.
Wchodzimy do folderu status i ustawiamy CHMODY folderu cache na 777.
W tym momencie można dokonać konfiguracji pliku config.php.

No i ostatni krok, wchodzimy do panelu administracyjnego forum i dodajemy nowe ogłoszenie na stronę główną.
W treści ogłoszenia wpisujemy:
<iframe src="http://twojeforum.pl/status.php" width="100%" height="100%" frameborder="0" scrolling="no"/>

Instalacja zakończona, na stronie głównej forum powinna pojawić się tabelka.



W tej wersji tabelki poprawiłem wszystkie błędy, które ja lub wy spotykaliście i zgłosiliście.

Wszystkie problemy z tabelką oraz nowe pomysły dotyczące jej opisujcie w tym temacie.
Gdy tylko znajdę trochę więcej czasu to dodam panel, dzięki któremu będzie można w bardzo łatwy sposób zarządzać całą tabelką.


Wersja demonstracyjna tabelki: http://zapalka.net.pl/phpbb/

download
Załączony plik  Tabela serwerów v2.0.rar   192,99 KB   2713 Ilość pobrań

Załączone pliki

Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 28.12.2011

Jak to zainstalować, żeby się pokazywało na stronie głównej? Bo tak to wrzuciłem tylko folder statusik do public_html i po wpisaniu linku www.mojastrona.pl/statusik mi się to pojawia
EDIT:
I co zrobić, jak mi się w tym linku www.mojastrona.pl/statusik pojawia taki błąd:
Warning: glob() has been disabled for security reasons in /home/csbsnt/public_html/statusik/class.cache.php on line 160

Użytkownik Jednorozus edytował ten post 28.12.2011 12:00
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 28.12.2011

Strzelam, że stronę masz na jakimś darmowym hostingu.

Hosting zablokował funkcję glob()
Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 28.12.2011

Nie, mam na proserwer.pl
Wygląda to tak: http://cs-bsnt.xaa.pl/statusik/
Chciałbym to umieścić na stronie głównej żeby ten status się pojawiał. Jak to zrobić?
Użytkownik Jednorozus edytował ten post 28.12.2011 16:34
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 28.12.2011

proserwer.pl też można uznać za darmowy hosting, bo co to jest 3 zł miesięcznie. Prawie darmo, spróbuj napisać do BOKu aby wyłączyli ci safe_mode, ale wątpię, żeby na to przystali.
Użytkownik Zapalka edytował ten post 28.12.2011 16:50
Odpowiedz

  • +
  • -
adrian100200 - zdjęcie adrian100200 28.12.2011

gdzie to wgrać proszę pomoc dokładni gdzie co w jaki folder
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 28.12.2011

Cały folder z archiwum wgrywasz na swój hosting do folderu public_html
Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 28.12.2011

Ok, napiszę, a czy możesz jeszcze napisać jak zrobić, żeby to się pojawiało na stronie głównej, a nie w osobnym linku ?
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 28.12.2011

Wstaw to w iframe,
<iframe src="statusik/" width="" height=""/>

Width - szerokość w px
Height - wysokość w px
Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 28.12.2011

Wstaw to w iframe,
<iframe src="statusik/" width="" height=""/>

Width - szerokość w px
Height - wysokość w px

Kurcze. Nie rozumiem :/
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 28.12.2011

Wejdź do PA na forum, i dodaj do ogłoszenia to:
<iframe src="statusik/" width="1000px"/>


Jak by nie pasował rozmiar to zmieniaj wartość 1000 na mniejszą/większą.
Użytkownik Zapalka edytował ten post 28.12.2011 18:48
Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 28.12.2011

Gdy tak zrobię, to z forum się dzieje coś takiego:

Dołączona grafika

Uploaded with ImageShack.us
Użytkownik Jednorozus edytował ten post 28.12.2011 19:04
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 28.12.2011

Sory, popełniłem błąd.

Ma być tak:

<iframe src="statusik/" width="1000px" scrolling="no">Twoja przeglądarka nie obsługuje ramek</iframe>

Użytkownik Zapalka edytował ten post 28.12.2011 19:31
Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 28.12.2011

O. Teraz ładnie, lecz zobacz co wyskakuje na stronie: <ciach>
Napisałem już do BOKu proserwer.pl
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 28.12.2011

No wyskakuje to co wcześniej pokazywałeś, dzisiaj już raczej BOK ci nie odpowie.
Musisz czekać do jutra.

Jeśli chcesz pobawić się jeszcze z wyglądem ramki, to zajrzyj tutaj: http://www.kurshtml....frame,html.html
Użytkownik Zapalka edytował ten post 28.12.2011 19:54
Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 28.12.2011

Ok, dzięki za info :)
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 28.12.2011

Pozwolę sobie dać "łatke" dla osób na których serwerze jest zablokowana funkcja glob() lub mają włączone register_globals/safe_mode.

Załączone pliki

Odpowiedz

  • +
  • -
Jednorozus - zdjęcie Jednorozus 29.12.2011

MarWit, dzięki wielkie - bardzo przydatne!
Leci +
Odpowiedz

  • +
  • -
darius - zdjęcie darius 29.12.2011

Ja też mam problem ;/
W miejsce tabelki wyskoczył mi taki błąd:

Warning: include_once(inc/class_PQ.php) [function.include-once]: failed to open stream: No such file or directory in/home/xxx/public_html/statusik/config.php on line 4

Warning: include_once() [function.include]: Failed opening 'inc/class_PQ.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in/home/xxx/public_html/statusik/config.php on line 4
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 29.12.2011

Wgrałeś wszystkie pliki? Sprawdź czy w folderze "statusik" masz folder "inc".
Wgraj też plik, który załączył MarWit. Za chwilę dodam go do pierwszego posta.
Odpowiedz