Instruckja instalacji AMXBans 4.00 , wersja tekstu 0.8b 2005-03-01

Opracowanie: _KaszpiR_ http://nvt.prv.pl, najlepiej widoczne w przegladarce FireFox w 1024x768 albo wiekszej rozdzielczosci.
AMXBans Official Website http://www.xs4all.nl/~yomama/amxbans/
Smarty templating system http://smarty.php.net
PHP Engine http://php.net
MySQL DatatBase http://www.mysql.com

Instruckja przedstawia najprostsza instalacje gdzie serwer hlds, www i mysql sa na tej samej maszynie (ten sam numer ip)
Dopiero roznice wychodza w uzywaniu (w amxmod w grze nie ma amxbans menu i paru fajnych bajerow)

Tutorial niedokonczony, ale mam nadzieje ze paru osobom ulatwi instalacje.
Podstawowa instalacja powinna zajac maksymalnie 30 minut, jesli nie ma problemow.
Jesli zajmuje ci to godzine - odpocznij bo cos robisz zle albo cos jest nie tak - radze zaczac od poczatku.

Oczekiwania od osoby czytajacej tutorial
- znajomosc edytora tekstu, np notepad czy linuksowy pico czy inny (o vi nie wspomne :P)
- znajomosc serwera hlds wraz z pluginami (czyli jesli nie instalowales serwera hlds z amx to daruj sobie)
- znajomosc konfiguracji serwera mysql i www (jesli nie masz pod reka adminstratora serwra mozesz miec problemy :D)
- umiejetnosc wysilenia mozgownicy

Radze najpierw przeczytac a potem robic.
Zawsze jak zmieniasz jakies pliki zrob backup.
Jesli nie znasz jakichs ustawien, lepiej nie ruszaj, albo zajrzyj do slownika.
Google, pewnie po angielsku znajdziesz z miejsca informacje.
Dopiero potem Board czy inne zawracanie dupy na GG czy ircu.
(hehe ignore z miejsca jesli sie nie przedstawisz i nie opiszesz problemu w pierwszym zdaniu)

Sekcje instalacji
0. Wstep - ten plik
1. SQL - krotka informacja co zrobic aby miec baze danych oraz uzytkownika w mysql
2. WWW - instalacja plikow na www
3. HLDS - instalacja plikow do serwera gry, aktualnie tylko dla AMXMod
4. AMXBANS - konfiguracja poprzez interfejs www
5. Ekstra - nic tam nie ma
6. Zakonczenie - komendy, pare uwag do bardziej zaawansowanych konfiguracji

Wymagania
- dzialajacy serwer z usluga www (np Apache) z obsluga PHP (minimum php 4.3.0, zalecany 4.3.9 albo nowszy)
- dzialajacy serwer z usluga mysql (wersja 3.x albo wyzsza)
- dzialajacy serwer hlds - masz miec serwer na ktorym mozna grac, wszstko dziala (metamod + amx albo amxmodx)

Do zrobienia
- amxmodx
- atac i hlg


1. SQL - krotka informacja co zrobic aby miec baze danych oraz uzytkownika w mysql

Tutaj jest tylko przyklad z konsoli jak wpisywac komendy,
ale mozecie uzyc swoich ulubionych narzedzi, np phpmyadin czy mysql-front
najpierw radze poczytac manuala do mysql albo poprosic o rade administratora serwera
Chodzi tu o bezpieczenstwo danych.

1. logujemy sie jako root do mysql
mysql -u root -h 192.168.0.1 -p
podajemy haslo

2. tworzymy baze danych w mysql, wpisujemy:

CREATE DATABASE amxbans;

3. dodajemy uzytkownika o ponizszych parametrach, wazne! zmien na swoje wartosci.
sql_user: amxbans nazwa uzytkowina ktorym bedziemy sie podlaczac do bazy danych
sql_host: 192.168.0.1 adres ip/nazwa hosta serwera mysql (przewaznie ten sam co adres serwera www i serwera hlds, ale to nie regula)
sql_user_pass: amxbans_pass haslo uzytkownika

wpisujemy:
GRANT Select, Insert, Update, Delete, Index, Alter, Create, Drop, References
ON amxbans.*
TO 'amxbans'@'192.168.0.1'
IDENTIFIED BY 'amxbans_pass'

4. testujemy usera ktorego stworzylismy
musimy najpierw wpisac:
quit
aby wyjsc z mysql (bo bylismy jako root)
a teraz wpisujemy, aby sie ponownie polaczyc ale jako inny user:
mysql -u amxbans -h 192.168.0.1 -D amxbans -p
mozemy sprawdzic jakie sa tabele wpisujac:
SHOW TABLES
poniewaz nie ma zadnych tablic w swiezo stworzonej bazie danych wiec nic sie nam nie pokaze :P

5. wychodzimy z mysql i na razie nie bedzie nam potrzebna konsola



2. WWW - instalacja plikow na www

1. rozpakowywujemy pakiet amxbans do wybranego katalogu na serwerze na www, np u mnie jest
/var/www/html/hlds/amxbans
w sieci lokalnej url tel lokalizacji jest http://szambo/hlds/amxbans

2. do podkatalogu amxbans/smarty rozpakowywujemy katalog ze smarty o nazwie libs
u mnie bylo Smarty-2.6.7/libs - 4 pliki i 2 podkatalogi z zawartoscia.
w efekcie rozpakowania mialem mniejwiecej taka strukture katalogow
(wersja skrocona, nie bede pokazywal paru plikow ktore by tylko przyciemnily obraz)

elementy pogrubione to katalogi
.
|-- admin
|-- ban_details.php
|-- ban_list.php
|-- ban_search.php
|-- calendar.html
|-- calendar1.js
|-- export_bans.php
|-- images
|-- include
|-- index.php
|-- layer.js
|-- login.php
|-- logout.php
|-- motd_details.php
|-- send_export.php
|-- smarty
|   |-- Config_File.class.php
|   |-- Smarty.class.php
|   |-- Smarty_Compiler.class.php
|   |-- debug.tpl
|   |-- internals
|   |-- plugins
|   `-- templates_c
|-- templates
`-- unavailable.php

upewniamy sie ze katalogi maja poprawne prawa do odczytu i zapisu - aby mozna bylo je ogladac z www
dodatkowo amxbans/templates musi miec prawa zapisu dla serwera www (aby mozna bylo stworzc template)
starczy
chmod 707 amxbans/templates

3. idziemy do url amxbans/admin/setup.php
u mnie bedzie http://szambo/hlds/amxbans/admin/setup.php

4. parametry bazy danych
wypelniamy pola tymi samymi danymy co w sekcji o sql
wciskamy check connection i wszstko powinno byc ok, inaczej radze sprawdzic ustawienia
szczegolnie prawa laczenia sie usera do mysql z innych hostow (no tu juz lepiej manuala poczytajcie.)

po tym wciskamy step 2, pojawia sie druga plansza


5. tabele
wlasciwie domyslnie nic nie trzeba zmieniac, jedynie maniacy moga pogrzebac :D
wciskamy create, powinno byc ok, pojawi sie info o stworzonych tablicach

wciskamy step 3


6. sciezki
powinno samo wykryc lokalizajce dla parametrow www, chyba nie trzeba edytowac

wciskamy check dirs, powinno sie pojawic info ze dane sprawdzone i zapamietane

wciskamy step 4

7. dane glownego admina
wpisujemy nazwe, maila, haslo
upewniamy sie ze zanim wpiszemy haslo nikt nam nie stoi za plecami :D i nie luka w ekran

wciskamy step 5

8. konfiguracja koncowa www
enabled = tak
disabled = nie


Use included AMX admin manager?
jesli chesz uzyc wbudowanego systemu administratorow ustaw enable, to powoduje ze trzeba bedzie potem uzywac
admin_mysql jakego daja w pakiecie amxbans.
jesli chcesz uzywac adminow z users.ini ustaw na disabled.
oczywiscie mozna to wylaczyc pozniej (albo wlaczyc :P)

Use fancy layers?
zostaw na enabled,
chyba ze inni uzytkowicy z innymi przegladarkami (admini) maja problemy z wyswietlaniem, wtedy usaw na disabled.

Enable version-checking?
radze zostawic na enabled, informacje o update systemu amxbans moga ci zaoszczedzic paru zadan w przyszlosci.

Display reason on front-page?
jesli chcesz aby pokazywalo przyczyne bana (reason), ustaw na enabled.

Use custom error handler?
zostaw na disabled.

Error Handler
zostaw tak jak jest

Bans per page
ustaw ile chcesz miec banow na stronie glownej.

wciskamy finalize, po ktorym dowiemy sie o wprowadzeniu minimalnych podstawowych danych.
pojawi sie info o stworzeniu admina glownego oraz podstawowego lewelu

wciskamy proceed to AMXBans i wrocimy do menu konfiguracji w opcjach bazy danych.


w tym momencie uwaga!!

idziemy kasujemy plik amxbans/admin/setup.php (albo zmnieniamy na jakas inna unikalna nazwe)
w innym przypadku system na www nie zadziala - bedzie komunikat abys usunal plik

kierujemy przegladarke zamiast http://szambo/hlds/amxbans/admin/setup.php na http://szambo/hlds/amxbans/
powinno sie pojawic strona glowna amxbans jak ponizej


9. ewentualnie trzeba sie zalogowac (prawy dolny rog tablicy)
mam nadzieje ze pamietasz haslo :P


dobra, teraz konfiguracja serwera hlds

3. HLDS - instalacja plikow do serwera gry, aktualnie tylko dla AMXMod

Fragment dla AMX Mod 0.9.9b (na innych pewnie podobnie)

w amxmod nie bedzie amxbans menu !!!

Notka: w tej czesci nie bedzie obrazkow :D

1. zanim sie dotkniesz do czegokolwiek
- zrob backup katalogu addons/amx ze wszstkimi podkatalogami, tak w razie czego
- wylacz serwer hlds
hmm z tego co pamietam to to jest opcjonalne,
amx powinien po zmianie mapy odczytywac ponownie pliki konfiguracyjne
i zaladowac nowe moduly i pluginy na cieplo bez problemu

jednak warto poinformowac userow ze beda pewnie modyfiakcje na serwerze i ze moga wyleciec :D

- przygotuj sobie modul mysql do amx (on powinien byc chyba juz w katalogu addons/amx/modules/mysql_i586.so )

2. dodajemy modul mysql
rozpakowywujemy mysql_i586.so (albo podobny, albo .dll) do katalogu addons/amx/modules
edytujemy addons/amx/config/modules.ini tak aby dodac linie zwiazane z mysql
powinno wygladac jak ponizej (mniejwiecej, oczywiscie mozesz miec wiecej pluginow)
zwracam uwage ze jesli masz mysql_i586.so to powinno byc tak jak ponizej
jesli masz mysql_i386.so to zmien linijke na mysql_i386.so

; AMX Modules

; CS Stats
csstats_mm.dll
csstats_mm_i586.so

; MySQL access
mysql.dll
mysql_i586.so



teraz warto aby wlaczyc serwer hlds i po chwili wpisac w konsoli (np rconem)
amx modules

powinenes widziec modul mysql zaladowany (wycialem niepotrzebne linie tak aby byl tylko csstats i mysql)
oczywiscie mozesz miec tez inne moduly, np vexd, udp, geoip ...
amx modules
Aktualnie zaladowane moduly:
      nazwa                   typ     wersja   autor                stats
 [ 1] MySQL access            amx     0.9.1    dJeyL                running
 [ 2] CSStats                 amx&mm  0.9.9a   OLO                  running
2 modulow, 2 poprawnych

jesli serwer hlds nie startuje (wywala sie) to pewnie jest jedno z ponizszych
- zla nazwa pliku, mam na mysli nazwe modulu mysql
- wersja modulu mysql jest niekompatybilna z twoja wersja amx (np masz modul do starszej wersji amx, albo do zbyt nowej)
- masz plik pod inna wersje linuksa, pod glibc np 2.2 a potrzebujesz na 2.3

przypuszczam ze sie zaladuje bez problemu, serwer chodzi, moze juz sobie chodzic, tylko mapy bedziemy zmieniac (maks ze 3 razy)


3. mysql.cfg
edytujemy plik addons/amx/conifg/mysql.cfg
jesli pliku nie ma to trzeba go stworzyc.

ustawiamy wartosci takie jak w sekcji o sql
przyklad
// MySQL access configuration file

// *NOTE* Linux users may encounter problems if they specify "localhost" instead of "127.0.0.1"
// We recommend using your server IP address instead of its name


amx_mysql_host  "192.168.0.1"
amx_mysql_user  "amxbans"
amx_mysql_pass  "amxbans_pass"
amx_mysql_db    "amxbans"


4. dodajemy pluginy amxbans
jesli nie chcesz uzywac adminow z mysql (masz np amxbans Use included AMX admin manager? disabled)
to mozesz ignorowac wszstkie linie zawierajace admin_mysql w tym tutorialu.

jesli chesz kompilowac .sma to z zipa amxbans wygrzebujemy odpowiednie pliki:
do addons/amx/examples/source wrzucamy plik amxbans.sma
do addons/amx/examples/source/default/admin_mysql.sma z nadpisaniem starego pliku

(ponizsze 3 linie opcjonalna, bo amx powinien miec ten plik sam z siebie)
jesli sciagales modul mysql (powinien byc w zipie mysql.inc):
do addons/amx/examples/include/mysql.inc

teraz kompilujemy (jest topik o tym) i pliki wynikowe wrzucamy do addons/amx/plugins/ z nadpisaniem starych plikow

mozesz uzyc tez skompikowanych juz wersji czyli .amx
addons/amx/plugins wrzucamy plik amxbans.amx i admin_mysql.amx z nadpisaniem starych plikow
tu jest problem bo jesli masz inna wersje amx to to nie zadziala i bdziesz musial recznie kompilowac (patrz wyzej)


edytujemy addns/amx/condfig/plugins.ini i modyfikujemy tak aby wygladal mniejwiecej tak (uwaga! kolejnosc MA ZNACZENIE)
jesli nie chcesz uzywac adminow z mysql (masz np amxbans Use included AMX admin manager? disabled)
to nie dodawaj lini a adin_mysql a ni nie dodawaj srednika przed admin.amx


skrocona lista plugiow
; AMX Mod plugins

language.amx        ; language management
;admin.amx           ; admin base (required for any admin-related)
admin_mysql.amx    ; admin base - MySQL version (comment admin.amx)
admincmd.amx        ; basic admin console commands
amxbans.amx	    ; YoMama amx bans, also affects admin_mysql.amx
adminhelp.amx       ; help command for admin console commands
adminslots.amx      ; slot reservation
menufront.amx       ; front-end for admin menus
cmdmenu.amx         ; command menu (speech, settings)

; reszta pluginow wycieta z tego widoku aby mniej miejsca zajmowalo


teraz zmiana mapy na serwerze i sprawdzamy po chwili czy pluginy sie zaladowaly, po chwili wpisac w konsoli (np rconem)
amx list

powinna sie pojawic lista, szukamy nowo dodanych plugiow na gorze
przyklad
amx list
Aktualnie zaladowane pluginy:
       nazwa              wersja   autor             plik             stats     jit
 [  1] Ustawienia jezyko  0.9.9    default           language.amx     running   tak
 [  2] Admin Base for My  0.9.9    default           admin_mysql.amx  running   tak
 [  3] Komendy Admina     0.9.9    default           admincmd.amx     running   tak
 [  4] AMXBans            4.0      LuX / YoMama      amxbans.amx      running   tak
 [  5] Pomoc Admina       0.9.9    tcquest78         adminhelp.amx    running   tak
 [  6] Rezerwacja Miesc   0.9.9    default           adminslots.amx   running   tak
 [  7] Menu               0.9.9    default           menufront.amx    running   tak
 [  8] Menu Komend        0.9.9    default           cmdmenu.amx      running   tak
 [  9] Menu Graczy        0.9.9a   default           plmenu.amx       running   tak
 [ 10] Restrykcje Broni   0.9.9    default           restmenu.amx     running   tak
 [ 11] Menu Map           0.9.9    default           mapsmenu.amx     running   tak
 [ 12] Paused Chat        0.9.3    default           pausechat.amx    running   tak

widzimy ze pozycja 2, i 4 dzialaja poprawnie, jak nie to
- czy dobrze ddoalismy pluginy (edycja plugins.ini i literowki sie zdarzaja)
- czy wersja plikow .amx jest pod nasza wersje AMX Mod'a? jesli nie to kompilujemy
przy zmianie mapy amxmod moze pokazac komunikaty ze pluginy sie nie zaladowaly (ale moze to przeleciec tak szybko ze nie zauwazyce )


przypuszczam ze sie zaladuje bez problemu, serwer chodzi, ale adminow nie ma
tak wiec nie zdziw sie za admini zaczna wrzeszczec ze sie zwalilo, erm ze TY zepsules! :D

w tym momencie trzeba do amxbans na www, serwer hlds ma ciagle chodzic

4. AMXBANS - konfiguracja poprzez interfejs www



1. Serwery
idziemy do servers

powinno pokazac liste aktualnie podlaczonych serwerow do sql

(na gorze moga byc komunikaty o bledach, mozna sie nie przejmowac)

wybieramy nasz serwer i wciskamy edit

dla serwera wybieramy mod, u mnie Counter-Strike
jesli mamy staly rcon tez mozemy dodac, jesli nie damy rcona to live ban nie bedzie dzialac
reszte mozna olac, to tylko dla bajeru aby pokazywac motd o banie dla osoby ktora dostaje bana.

wciskamy apply, wrocimy do listy serwerow, zauwaz ze sie zmienila ikonka przy ostatnio edytowanym serwerze.



2. Administratorzy
idziemy do admins & levels

rozroznialni sa admini na strone www, taka osoba to tzw WebAdmin, oraz admini do serwera gry, taka osoba to tzw AMXadmin.
Pierwszy moze kontrolowac www (w zaleznosci od praw jakie posiada), a drugi operuje w grze na wybranych serwerach z wybranymi prawami.
oczywiscie mozna zcalic amxadmina z webadminem.

levele

tu definiujemy poziomy, kazdy poziom moze miec inne prawa.
to jst po to aby niektore osoby mogly kontrolowac amxbans a inne np jedynie banowac (nawet bez opcji zmiany swoich banow).
(editor: potem opisze)

przyklad, level 1 to headadmin, taki root na amxbans :D
level 2 to pomniejszy admin ktory
moze
dodawac bany, i odbanowywac

a reszty nie moze.

Oczywiscie lewele radze dobrze przemyslec.


webadmin chyba jest latwy do zrozumienia...


Przejde do manage amxadmins
(editor: potem opisze jescze dokladniej)

przypomina on dodawanie admina do users.ini
w zaleznosci od tego czy uzywasz amx czy amxx musisz uwazac na flagi i levele jakie dajesz.

rozjasnilem fragment jak sie dodaje admina na steamid, bo wiekszosc ludzi tej opcji bedzie uzywac.
ponizsze maja dokladnie takie same znaczenie jak w users.ini
Nickname/SteamID/IP
Password
Access
Flags

ponizsze tylko wyswietlaja info na stronie www amxbans i sa opcjonalne
SteamID
Nickname

notka: jesli w Nickname/SteamID/IP podales steamid to w ostatnim NickName tu bedziesz mogl podac imie admina
podobnie jesli w Nickname/SteamID/IP podales ip to w przedostanim polu SteamID oraz w NickName
moszesz opisac admina dokladniej


3. Przypisywanie Amxadminow Do Serwerow

wybieramy server admins
wybieramy serwer

wybieramy adminow z listy

wybieramy confirm

od nastepnej zmiany mapy admini beda mieli prawa na wybranych serwerach.

czyli tutaj w przykladzie od nastepnej zmiany mapy _KaszpiR_ i Pio beda mieli admina na Szambo.


4. Import banow z banip.cfg (albo np z blacklisty polskiej mozna)
najpierw nasz plik banned.cfg zapisujemy jako banned.txt
wybieramy import

szukamy naszego pliku
ustawiamy reason, czyli przyczyne bana, np na 'import starych banow'
wpisujemy 0 jako czas permanent ban.

wciskamy import, chwile czekamy i widzimy rezultat


5. Ekstra - nic tu nie ma



Extra - integracja AMX ATAC 2.53 oraz HLGuard'a z AMXBans

w przygotowaniu, kiedy? nie wiem czy kiedys wogole bedzie.



6. Zakonczenie - komendy, pare uwag do bardziej zaawansowanych konfiguracji

Moze pare slow o uzywaniuw grze.

amx_ban <time_in_minutes> <nickname|steamid> <reason>

banuje i kickuje gracza dajac bana na steamid.
kiedy banujemy wg nicka - gracz musi byc na serwerze.
kiedy uzywamy steamid, gracz nie musi byc na serwerze
nick/steamid nie moze zawierac spacji
nick moze byc fragmentem aktualnego nicka

amx_banip <time_in_minutes> <nickname|steamid> <reason>

banuje i kickuje nick/steamind na numer ip.
wszelkie przyszle polaczenia z tak zbanowanego ip beda odrzucane.
uzywac z rozwaga i tylko na userow ze stalymi numerami ip
kiedy banujemy wg nicka - gracz musi byc na serwerze.
kiedy uzywamy steamid, gracz nie musi byc na serwerze
nick/steamid nie moze zawierac spacji
nick moze byc fragmentem aktualnego nicka

amx_find <nickname|steamid>

Sprawdza czy istnieje ban na dany steamid (nick bedzie zamieniony na steamid)
nick/steamid nie moze zawierac spacji
nick moze byc fragmentem aktualnego nicka

** Tylko pod AMXModX **

amxbans_menu
otwiea menu amxbans

amx_reloadreasons
wczytuje liste przyczyn bana z bazy sql.

Luzne uwagi o zaawanoswanych opcjach.

Istnieje tez mozliwosc podlaczenia kilku serwerow hlds pod baze z banami w mysql:
trzeba wtedy dodac do mysql uzytkownikow z nazwami hostow z kad moga sie laczyc (chodzi mi o wielokrotne dodanie komendy GRANT)
trzeba pamietac aby kazdy serwer hlds mial odpowiednie ustawienia w mysql.cfg

jest mozlowsc rozstrzelenia calosci na kilka maszyn:
mamy serwer hlds na jednym hoscie, serwer www na innej maszynie a serwer mysql jescze gdzie indziej
to w sumie jest dosc latwe bo sql_user i pass sie nie zmiena, jedynie trzeba uwazac aby podac wlasciwy adres serwera na korym jest mysql
dodatkowo jak dodajemy komenda GRANT uzytkownika to trzeba to dodac 2 razy:
raz dla ip/hosta serwera z hlds, a drugi raz dla ip/hosta serwera na ktorym jest serwer www
oczywiscie trzeba ustawic aby mysql akceptowal poaczenia z innych hostow/domeny

trzeba tez rozdzielic adminow na wybrane serwery
np admini ktorzy tylko graja tylko w cs lepiej aby nie adminowali serwerem DOD zarowno z gry jak i z interfejsu www

mozna zrobic tak ze na jedych serwerac bedziemy mieli amxmod'a a na innycha amxmodx, jednk zalecam trzymanie sie jednego moda
ulatwi to administracje.


Opracowanie:

_KaszpiR_ http://nvt.prv.pl
Prosze nie publikowac ani nie modyfikowac bez mojej wiedzy. Wszelkie uwagi pisac na mojej www (jesli chce wam sie rejestrowac), na mail kaszpir @ gmail.com albo na http://board.counter-strike.pl w sekcji Konfiguracja Serwera


Changelog:

0.8
- obrazki i boksie logo na dole :D

0.6
- html manual

0.3
- troce formatowania

0.2
- wersja textowa