Tagi:

AutorWątek: Nieoficjalny poradnik konfiguracji demona jGuardiana dla mniej obeznanych  (Przeczytany 1593 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline q0084

  • evenciarz i spamer
  • śmierdzący zgnilizną brudas
  • *********
  • Wiadomości: 2664
  • Brud/Czysty: +314/-56
  • Aurea mediocritas. Propaganda G4G.pl
    • q0084
  • Obserwowany
Nieoficjalny poradnik konfiguracji demona JGuardiana
Jako, że wg mnie oficjalny poradnik dla osób początkujących może być zbyt ogólny tutaj moja troszkę ulepszona wersja. Można ją oczywiście wykorzystać w celu ulepszenia oficjalnego :P
Wszystkie dodatkowe rzeczy zostały przetestowane i z dobrze podanymi danymi wszystko będzie działać jak powinno.
Spis treści
1.Konfiguracja serwera
2.Konfiguracja MySQL
3. Logger
4. Metody uruchomienia jGuardiana
  I.Windows
    a.Podstawowa metoda z parametrem
    b.Dodatkowa metoda z edycją pliku .bat
  II.Linux
5.Uruchomienie dla kilku serwerów



Konfiguracja serwera
Wszystkie wymienione operacje i pliki znajdują się w katalogu demon i folderach znajdujących się tam.
Konfigurację demona zaczynamy od zrobienia kopii folderu default znajdującego się

conf/gameservers
Kopiujemy i wklejamy folder do tego samego katalogu i zmieniamy jego nazwę na taką która nam pasuje i będzie nam mówić jakiego serwera dane się tam znajdują. Np. dla serwera Team DeatchMatch może to być TDM, czy klanowy. Unikamy spacji i znaków specjalnych i polskich.
W poradniku będziemy operować na folderze z przyjętą nazwą tdm

Wchodzimy do tak stworzonego folderu u nas tdm. Znajdują się tam foldery z logami(Logs),pluginami(plugins), oraz 2 pliki konfiguracyjne log4j.properties oraz settings.xml

Na początek zajmiemy się plikiem settings.xml

Otwieramy go w jakimkolwiek edytorze tekstu. Zwykły notatnik w 100% nam wystarczy.
Po otwarciu zobaczymy
<gamserver>
<guardianName>Guardian</guardianName>
<server_settings>
<ip>127.0.0.1</ip>
<port>47200</port>
<password>pass</password>
<username></username>
<name>ServerName</name>
</server_settings>
<gametype>BF3</gametype>
<gameplugindef>
<pluginClass>frostbite.bf3.BattleField3</pluginClass>
</gameplugindef>
<plugins>
<plugin priority="0">common.JGuardianMySQL</plugin>
<plugin priority="1">common.Admin</plugin>
<plugin priority="2">common.Balancer</plugin>
        <plugin priority="3">common.Adverts</plugin>
<plugin priority="4">common.Censor</plugin>
</plugins>
</gamserver>

W pliku tym znajdują się dane naszego serwera gry. Zajmiemy się teraz jego edycją.
MiejsceCo nalezy wpisać
<ip>127.0.0.1</ip>W miejsce 127.0.0.1 wpisujemy IP serwera które dostaliśmy od naszego providera.
<port>47200</port>To miejsce odpowiada za port RCON, który także powinniśmy dostać od dostawcy
<password>pass</password>Wpisujemy hasło dostępu. do naszego serwera
<username></username>Pozostawiamy bez zmian dla BF3 nie jest nam to potrzebne
<name>ServerName</name>Wpisujemy dowolną nazwę dla naszego serwera. Np. Klanowy TDM
<gametype>BF3</gametype>Dla BF3 pozostawiamy bez zmian
<pluginClass>frostbite.bf3.BattleField3</pluginclass>Dla BF3 powinno się tam znaleźć frostbite.bf3.BattleField3

Na koniec mamy
<plugins>
<plugin priority="0" >common.JGuardianMySQL</plugin>
<plugin priority="1" >common.Admin</plugin>
<plugin priority="2" >common.Balancer</plugin>
<plugin priority="3" >common.Censor</plugin>
<plugin priority="4" >common.Adverts</plugin>
<plugins/>
Tutaj możemy dodać, usunąć wtyczki uruchamiane razem z jGuardianem.

WAŻNE pozycja <plugin priority="0" >common.JGuardianMySQL</plugin> powinna zawsze być na pierwszym miejscu!
Możemy usunąć zbędne nam wtyczki poprzez usunięcie linii opowiadającej za nią. Należy przypilnować wartość priority, aby zawsze była od 0 w górę, bez ominięcia cyfr.
Przykładowo, aby wyłączyć Cenzora i Balans drużyn miejsce to powinno wyglądać tak:

<plugins>
<plugin priority="0" >common.JGuardianMySQL</plugin>
<plugin priority="1" >common.Admin</plugin>
<plugin priority="2" >common.Adverts</plugin>
<plugins/>

Na koniec sprawdzamy wszystko dla pewności i zapisujemy plik.
Przechodzimy do kolejnego kroku jakim jest konfiguracja bazy MySQL



Baza MySQL
Plik odpowiadający za dane serwera MySQL znajduję się w katalogu
conf/naszserwer/pluginsgdzie nasz serwer to folder utworzony w poprzednim punkcie
pod nazwą common.JGuardianMySQL_plugin.xml

Tak jak poprzednio plik otwieramy w edytorze tekstu. Po otwarciu znajdziemy tam
<config pluginClass="pl.jguardian.plugin.common.JGuardianMySQL">
<settings>
<dbserver>server.bazy.pl:3306</dbserver>
<dbname>nazwabazy</dbname>
<dbuser>nazwausera</dbuser>
<dbpassword>haslobazy</dbpassword>
<maxdbconncount>20</maxdbconncount>
</settings>
</config>
MiejsceCo wpisać
<dbserver>server.bazy.pl:3306</dbserver>Adres naszej bazy danych wraz z portem po ":". Dane te otrzymamy od dostawcy naszego serwera MySQL. Jeśli baza znajduję się na innym serwerze niż nasz jGuardian należy upewnić się czy mamy możliwość dostępu do niej z zewnątrz. Możemy odrzucić wszystkie darmowe hostingi. Przy braku połączenia to może być pierwsza przyczyna. Warto upewnić się u dostawcy czy nam umożliwia takie połączenie. Jeśli bazę uruchomiliśmy na tym samym komputerze co jGuardiana nie powinniśmy mieć żadnych problemów.
<dbname>nazwabazy</dbname>Nazwa naszej bazy danych
<dbuser>nazwausera</dbuser>Nazwa użytkownika do bazy danych
<dbpassword>haslobazy</dbpassword>Hasło do bazy danych
<maxdbconncount>20</maxdbconncount>tego nie dotykamy. Odpowiada za wielkość puli połączeń. W razie problemów zmniejszamy wartość o połowę.


Na koniec sprawdzamy wpisane dane i zapisujemy plik i przechodzimy do kolejnego kroku jakim jest konfiguracja logów naszego serwera.




Logger - Logi serwera
Do logowania zdarzeń w kodzie użyty został znany programistom Javy Log4J.
Jednak nas interesuje jak skonfigurować logi, choć jeśli nie jest nam to potrzebne możemy pominąć ten punkt. Dla osób zainteresowanych konfiguracją logów pod nasze wymagania plik odpowiedzialny za to znajdziemy
conf/naszserwera tam plik log4j.properties
Jak wszystkie pliki konfiguracyjne tak i ten otwieramy w edytorze tekstu i po otwarciu ujrzymy
#### Use two appenders, one to log to console, another to log to a file 
log4j.rootCategory=DEBUG, stdout, R 
 
#### First appender writes to console 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
 
# Pattern to output the caller's file name and line number. 
# comment out the line below and uncomment the next line after below to see the console output!!
#log4j.appender.stdout.layout.ConversionPattern=
log4j.appender.stdout.layout.ConversionPattern=%d %c{1}\t-\t%m%n
#log4j.appender.stdout.layout.ConversionPattern=%d %c{1} %-5p %x\t-\t%m%n
log4j.appender.stdout.Threshold=INFO
 
#### Second appender writes to a file 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File= ${logDir}/Logs/jGuardian.log
log4j.appender.R.Threshold=ALL
# Control the maximum log file size 
log4j.appender.R.MaxFileSize=10MB 
# Archive log files (one backup file here) 
log4j.appender.R.MaxBackupIndex=10 
 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d\t%-5p\t[%c{1}/%M/%t]\t-\t%m%n

Dla nas najważniejsze są 2 punkty:
log4j.appender.R.MaxFileSize=10MBOdpowiada za wielkość jednego pliku logów, domyślnie mamy 10MB. Nie powinniśmy ustawiać za dużo ponieważ plik taki stanie się ciężki do ogarnięcia i jego zbadania
log4j.appender.R.MaxBackupIndex=10  ustawiamy tu ilość plików LOG. W przypadku wartości większej niż 1, po przekroczeniu przez plik loga wartości określonej w MaxFileSize do rozszerzenia pliku dostawiana jest cyfra i tworzony jest nowy plik loga. Po przekroczeniu przez nowy plik wartości granicznej pliki historyczne 'przesuwane' są o jeden (1-2, 2-3...).

Wszystkie potrzebne opcje do uruchomienia demona są gotowe i możemy przejść do metod jego uruchomienia




Uruchomienie jGuardiana
W zależności od systemu jGuardiana uruchamiamy inaczej.


Windows

1. Podstawowa metoda

Plikiem odpowiedzialnym za uruchomienie jGuardiana jest runme.bat w głównym katalogu jGuardiana. Podstawowa metoda polega na uruchomieniu poprzez wiersz poleceń.

W środowisku graficznym możemy użyć dwóch metod, druga zaś jest taka sama dla konsoli poleceń.

W każdej metodzie aby uruchomić jGuardiana musimy podać ścieżkę dostępu do pliku .bat Dla nie obeznanych czym jest ta ścieżka wytłumaczenie

Ścieżka dostępu to miejsce w którym znajduję się folder z naszym jGuardianem. Przykładowo jeśli folder demon umieściliśmy na dysku C ścieżka dostępu to:
C:\demon\runme.batJest to najlepsze miejsce dla mało obytych osób. Dodatkowo takie osoby powinny unikać spacji i znaków specjalnych w folderach. Jednak jeśli już musimy mieć demona w miejscu gdzie po drodze jest folder ze spacją całą ścieżke należy wziąć miedzy "(cudzysłów) np:
"C:\nasz serwer\demon\runme.bat"
Już wiemy co to jest ścieżka dostępu, do uruchomienie potrzebujemy jeszcze parametru w formie
conf/gameservers/naszserwer
W ten sposób wiemy już co jest nam potrzebne. Jak teraz to wykorzystać możesz zobaczyć poniżej w dwóch metodach


Pierwsza metoda poprzez Uruchom w pasku Start lub poprzez skrót Windows+R gdzie wpisujemy
ścieżka_dostepu parametrParametr podajemy po spacji i przykładowo dla naszego serwera nazwanego tdm w pierwszym kroku i demona znajdującego się na dysku C w folderze demon będzie to wyglądać tak


Druga metoda to uruchomienie Wiersza Poleceń. Taką samą używamy gdy mamy dostep tylko do niego.
Wiersz poleceń możemy uruchomić jak wyżej w Uruchom i wpisanie CMD
Gdy mamy już otwarty wiersz poleceń należy wpisać takie same dane jak w pierwszej metodzie przykładowo:





2. Metoda z edycją pliku .bat
Jak wcześniej zostało wspomniane jGuardiana uruchamiamy poprzez runme.bat W poprzedniej metodzie jednak musieliśmy podawać także parametr po nim co może przeszkadzać częscie osób. Rozwiązaniem na to jest edycja tego pliku. Wcześniej wykonajemy kopie pliku runme.bat w wklejmy w to samo miejsce gdzie oryginał. Zmieńmy nazwę pliku na coś nam mówiący np. tdm.bat
Teraz plik otwieramy w notatniku i po otwarciu zobaczymy:
java -jar jGuardian.jar "%1"W miejsce %1 możemy wpisać parametr odpowiadający za nasz serwer jak w punkcie pierwszym. Dla naszego przykładowego serwera będzie to:
java -jar jGuardian.jar "conf\gameservers\tdm"
Dzięki tej metodzie demona możemy uruchamiać poprzez dwuklik na pliku .bat który stworzyliśmy lub poprzez wpisanie ścieżki do tego pliku bez potrzebnego parametru przykładowo:
c:\demon\tdm.bat
Jeśli wszystko mamy dobrze skonfigurowane demon połączy się z serwerem i naszą bazą danych i zacznie działać


Linux
W przypadku Linuxa uruchamiamy plik runme.sh.
Zawartość:
#!/bin/sh
java -jar jGuardian.jar "@1"
Podobnie jak w przypadku Windowsa parametrem jest katalog zawierający konfigurację danego serwera.

./runme.sh conf/gameservers/default
Warto także stworzyć osobny plik rozruchowy dla każdej instancji naszego servera. W przypadku Linuxa polecam uruchomienie każej instancji na osobnym 'screenie' tworząc dla każdego z nich osobną nazwę:

screen -S jGuardian_server1
Po uruchomieniu jguardiana ze screena wychodzimy:

ctrl+a d
Do screena powracamy poprzez wywołanie

screen -r
Tak samo jak w systemie Windows możemy edytować plik runme.sh i w miejsce @1 wpisać katalog naszego serwera, co pozwoli na uruchamianie bez parametru.





Uruchamianie dla kilku serwerów
Aby mieć możliwość uruchomienia jGuardiana dla kilku serwerów należy dla każdego serwera wykonać kroki: konfiguracja serwera,baza MySQL,Logger
Każdy serwer będzie miał teraz swój folder, dzięki czemu po skorzystaniu z porad Uruchomienie jGuardiana możemy uruchomić dla każdego serwera oddzielnego demona poprzez zmiane parametru.
Przykładowo jeśli stworzylismy serwer z katalogami tdm i rush i uruchomienie będzie wyglądać tak:
Dla pierwszego
C:\demon\runme.bat conf\gameservers\tdmDrugiego
C:\demon\runme.bat conf\gameservers\rush
Możemy także wykorzystać oddzielne pliki .bat dla każdego serwera zapominając o podawaniu parametru. Tak samo będzie to wyglądać dla systemu Linux tylko tam uruchamiamy plik runme.sh

Opis wtyczek
Wystarczający opis wtyczek znajdziemy w oficjalnym manualu http://g4g.pl/pl/pluginy