HLStatsX

Od HLDS.pl
Skocz do: nawigacji, wyszukiwania

Spis treści

Opis

Ten artykuł jest niepełny i wymaga uzupełnienia. Jeżeli jesteś w stanie - postaraj się go uzupełnić.. Pamiętaj, że nawet najmniejsza zmiana jest cenna i pomocna :)


HLStatsX są to statystyki bazujące na HLStats. HLStatsX jak swój pierwowzór są generowane w czasie rzeczywistym na podstawie przesłanych logów. W tej chwili HLStatsX są oficjalnie dostępne tylko w wersji płatnej (Premium), ale istnieją trzy projekty które kontynuują rozwój darmowej wersji.

  • Lart's Edition - Zawiera głównie wsparcie dla Team Fortress 2 oraz kilka funkcji z płatnej wersji Premium.
  • ElstatsNEO - w zasadzie to co wyżej plus jeszcze więcej bajerów wzorowanych z wersji Premium.
  • HLstatsX Community Edition - to samo co wyżej, tyle że o wiele bardziej odpicowane. Największym atutem tej wersji jest wsparcie dla gier na silniku Half-Life 1.

Wymagania

  • PERL 5 lub nowszy z zainstalowanym modułem DBI.
  • PHP 5 lub nowszy.
  • MySQL 4 lub nowszy.
  • Rcon do serwera Source.
  • Konto shell'owe.

Strony projektów

Instalacja HLStatsX [Linux]

Instalacja

  • Rozpakuj gdzieś plik z odpowiednią wersją HlstatsX
  • Przenieś katalog, hlstatsinc oraz zawartość katalogu web w miejsce gdzie mają być statystyki.

Tworzenie bazy danych dla HLStatsX

Przez Shella

  • Stwórz bazę danych w SQL-u
shell> mysqladmin create hlstatsx
  • Stwórz tabele potrzebne do pracy HLStats
shell> mysql hlstats < hlstats.sql
shell> mysql hlstats < game_<mod>.sql

za "< mod >" wstaw skrót gry dla której będą naliczane statsy.

  • Stwórz użytkownika i hasło, dla HLStats
shell> mysql --user=root mysql
mysql> GRANT ALL ON hlstats.* TO hlstats IDENTIFIED BY 'jakieshaslo';

Przez MyPhpAdmina

Konfiguracja HLStatsX

hlstats.conf

  • Edytuj plik hlstats.conf (jest w podkatalogu perl tam gdzie został rozpakowany HLStatsX) - w tym pliku trzeba wpisać dane bazy SQL i kilka innych rzeczy.
    • Adres bazy SQL.
DBHost "localhost"
    • Jak sama nazwa wskazuje...
DBUsername "użytkownik bazy danych"
    • Hasło do bazy danych.
DBPassword "hasło" 
    • Nazwa bazy danych, z której HLStatsX ma korzystać.
DBName "hlstats" 
    • Adres IP na którym HLStatsX będzie nasłuchiwał. Najlepiej zostawić puste, wtedy będzie nasłuch na wszystkich interfejsach.
BindIP "" 
    • Nr. portu na którym HLStatsX będzie nasłuchiwał.
Port 27500 
    • E-Mail na który będą wysyłane logi w przypadku wystąpienia jakichś błędów bazy danych.
MailTo "Tobi@hlstatsx.com" 


  • Teraz aby nasz serwer był obsługiwany przez HLStatsX trzeba go dopisać
Servers[0] = ("AddressPort"                    => "xxx.xxx.xxx.xxx:xxxxx", 
             "MinPlayers"                     => "6",              
             "AdminContact"                   => "Tobi@hlstatsx.com", 
             "HLStatsURL"                     => "http://www.hlstatsx.com",
             "DisplayResultsInBrowser"        => "0",
             "MasterServerData"               => "7",
             "MasterServerInterval"           => "200",
             "BroadCastEvents"                => "0",
             "BroadCastPlayerActions"         => "0",
             "BroadCastEventsCommand"         => "say",
             "BroadCastEventsCommandSteamid"  => "0",
             "BroadCastEventsCommandAnnounce" => "say",
             "PlayerEvents"                   => "1",
             "PlayerEventsCommand"            => "say",
             "PlayerEventsCommandSteamid"     => "0",
             "PlayerEventsCommandOSD"         => "",
             "PlayerEventsAdminCommand"       => "",
             "ShowStats"                      => "1",
             "TKPenalty"                      => "50",
             "SuicidePenalty"                 => "5",
             "AutoTeamBalance"                => "0",
             "AutoBanRetry"                   => "0",
             "TrackServerLoad"                => "1",
             "MinimumPlayersRank"             => "0",
             "Admins"                         => "",
             "SwitchAdmins"                   => "0",
             "IgnoreBots"                     => "1",
             "SkillMode"                      => "0",
             "GameType"                       => "0",
             "EnablePublicCommands"           => "1",  
             "Mod"                            => "")


    • Objaśnienia (tylko te najważniejsze):
      • AddressPort - Adres i port na którym działa nasz serwer (chodzi o grę) np. 123.123.123.321:27015
      • MinPlayers - Minimalna liczba graczy która musi być na serwerze aby statystyki były liczone.
      • AdminContact - Kontakt do H@ serwera.
      • HLStatsURL - Link do strony ze statystykami.
      • AutoTeamBalance - Jak sama nazwa wskazuje...
      • MinimumPlayersRank - Minimalna pozycja w rankingu aby być w statystykach.
      • Admins - SteamID adminów oddzielone przecinakami np. "STEAM_0:1:XXX,STEAM_0:0:XXX,STEAM_0:1:XXX"
      • SwitchAdmins - Admini maja być przerzucani w ramach AutoTeamBalance 1- tak; 0- nie
      • IgnoreBots - 0- Wlicza boty do rankingu; 1- Ignoruje boty.
      • Mod - Typ moda jakiego używa się do zarządzania graczami na serwerze. "BEETLE" dla Beetlesmod'a, "MANI" dla Mani Admin Plugina oraz SOURCEMO dla SourceModa.

config.php

  • Edytuj plik config.php - plik odpowiedzialny za wyświetlanie statystyk...
    • Nazwa bazy danych, z której HLStats ma korzystać
define("DB_NAME", "hlstats");
    • Jak sama nazwa wskazuje
define("DB_USER", "użytkownik bazy danych");
    • Hasło do bazy danych
define("DB_PASS", "hasło");
    • Adres bazy SQL
define("DB_ADDR", "localhost");
    • Ścieżka do katalogu "hlstatsinc" np. /home/tobi/HLstatsX/hlstatsinc
define("INCLUDE_PATH", "");
    • W statystykach ma być pokazywana GoogleMap z miejscami skąd łączą się gracze.
define("SHOW_GOOGLE_MAP", 1);
define("GOOGLE_MAP_KEY", "");
    • Strefa na którą ma być standardowo widok GoogleMap.
define("GOOGLE_MAP_REGION", "EUROPE");
    • Typ mapy. SATELLITE lub HYBRID
define ("GOOGLE_MAP_TYPE" , "SATELLITE");
    • Sposób naliczania statystyk. LAN - dla śledzenia graczy po IP, NameTrack - dla śledzenia po nickach oraz Normal - dla śledzenia po SteamID.
define("MODE", "Normal");
    • Ścieżka do plików graficznych. Np. /var/www/mywebspace.com/web/hlstatsimg/progress
define("IMAGE_PATH", "");


  • Na stronie skonfiguruj, co trzeba w General Settings, Game Settings i Tools. Pamiętaj, aby skonfigurować HLStats aby "łapał" logi z twojego serwera cs'a! HLStats ignoruje dane, które pochodzą z serwera, który nie jest "zapisany" w opcjach.

Uruchamianie HLStatsX

  • Nadaj prawa do wykonywania następującym plikom: run_hlstats, hlstats.pl, hlstats-awards.pl oraz hlstats-resolve.pl
chmod +x nazwa_pliku
  • Odpal plik run_hlstats z parametrem start
./run_hlstats start

aby uruchomić naliczanie statystyk.

  • Dodaj w server.cfg już w SRCDS następujące komendy:
log 1 
logaddress_delall
logaddress_add 1.2.3.4 27500
    • 1.2.3.4 to adres (IP/host) gdzie pracuje hstats.pl a 27500 to port, na który mają być wysyłane logi (Pamiętaj że ten adres musi być identyczny, co w hlstats.conf (sekcja PORT)).
  • Jeśli chcesz dzienne nagrody to dodaj do crontab'a coś takiego:
30 00 * * * cd /droga/gdzie/zdepakowales/hlstats; ./hlstats-awards.pl

Uwagi

  • W każdym pliku który trzeba edytować są bardzo dokładne objaśnienia (po angielsku oczywiście) odnośnie zmiennych także słownik w łape i do przodu.
Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia