AMX Mod X

Od HLDS.pl
Skocz do: nawigacji, wyszukiwania

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 :)


Spis treści

AMX Mod X

AMX Mod X jest pluginem MetaMod'a, więc tak czy siak musisz mieć na serwerze zainstalowanego MetaMod'a (koniecznie w najnowszej wersji!). Dodatkowo całość składa się z kilku plików – części bazowej, wspólnej dla wszystkich serwerów Half-Life oraz z pakietu dla danej modyfikacji – u nas Counter-Strike.

Dodatkowo istnieje automatyczny instalator (plik .exe) który powinien większości osób zainstalowac ten dodatek na serwerze na platformie Windows. Pod linuksem trzeba zrobic to ręcznie, ale nie jest to takie trudne. Po wstępnej instalacji trzeba skonfigurować całość – zedytować kilka plików – a to jest wspólne zarówno dla Windows jak i Linuxa.

Instalacja AMX Mod X

Pliki

Ściągamy Amx Mod X ze strony projektu http://www.amxmodx.org w dziale Download


Instalacja

Instalator Windows

Najlepiej skorzystać z instalatora – jest to najłatwiejsze i rekomendowane dla osób niedoświadczonych, które robią to pierwszy raz 

  • Odpalamy instalator, instalujemy, odpalamy instalkę już właściwego AMXX'a i instalujemy go w wybranej opcji. (Przy tej opcji omijamy punkt 3.)
  • Wyapkowywyjemy do X:/Katalog_ze_STEAM/SteamApps/Nazwa konta/counter-strike/cstrike/ lub do X:/Katalog_z_HLDS/cstrike/ archiwum bazowe a później archiwum z plikami do CS'a.

Linux i Windows

  • Wypakowywyjemy archiwum bazowe a później archiwum z plikami do obsługi CS'a do katalogu z HLDS.
  • Umożliwiamy działanie Amx Mod X'a. Udajemy się do addons/metamod, czyli do folderu gdzie zainstalowaliśmy wcześniej MetaMod'a.
  • Edytujemy plik plugins.ini, dopisujemy na samym dole linijkę:
    • Dla Windows:
win32 addons/amxmodx/dlls/amxmodx_mm.dll[/code]
    • Dla Linux:
linux addons/amxmodx/dlls/amxmodx_mm_i386.so[/code]
  • Zapisujemy zmiany i opuszczamy plik.

Dodawanie Adminów

  • W celu utworzenia admina, wchodzimy do: addons/amxmodx/configs i edytujemy plik users.ini
  • Standardowo zawarte są w nim przykłady jak należy dodać admina.
  • Poprawne konto wygląda tak:
"nick|ip|steamid" "hasło" "flagi_dostępu" "flagi_konta"

Flagi dostępu

a - immunitet (gracz z tą flagą ma immunitet czyli nie może być kickowany, banowany, slapowany itp. Zaleca sie nie dawanie tej flagi nikomu. Co najwyżej sobie (H@)).
b - rezerwacja slotu (gracz dostaje rezerwacje slotu)
c - amx_kick (admin z tą flagą może kopać ludzi z serwera).
d - amx_ban i amx_unban (admin z tą flagą może banować i odbanowywac graczy)
e - amx_slay i amx_slap (admin z tą flagą może slayować i slapować graczy)
f - amx_map (admin z tą flagą może zmieniać mapę)
g - amx_cvar (admin z tą flagą może zmieniać ustawienia serwera [nie wszystkie!])
h - amx_cfg (admin z tą flagą może uruchamiać configi serwera)
i - amx_chat (admin z tą flagą może używać kolorowych napisów)
j - amx_vote (admin z tą flagą może uruchamiać glosowania)
k - dostęp do sv_password (admin z tą flagą może ustawić hasło na serwerze)
l - dostęp do amx_rcon (admin z tą flagą może wykonywać polecenia na konsoli samego serwera poprzez amx_cvar)
m - własny poziom A 
n - własny poziom B 
o - własny poziom C 
p - własny poziom D - (Flagi te są używane przez dodatkowe pluginy. Poziom A ma najniższy priorytet, poziom H najwyższy.)
q - własny poziom E
r - własny poziom F
s - własny poziom G
t - własny poziom H
u - menu access (admin z tą flagą może używać menu)
z - użytkownik (flaga do oznaczenia NIE admin, zwykłego użytkownika)

Flagi konta

a - rozłącz gracza przy podaniu złego hasła
b - tag klanowy
c - użytkownik na STEAMID
d - użytkownik na IP
e - hasło do konta nie jest sprawdzane (wymagany jest tylko nick / ip / steamid admina) 
  • Przykłady:
"192.168.0.10" "haslo" "abcdefghijklmnopqrstu" "ad"
"192.168.0.15" "" "abcdefghijklmnopqrstu" "de"
"STEAM_0:0:000000" "haslo" "abcdefghijklmnopqrstu" "ac"
"nick_admina" "haslo" "abcdefghijklmnopqrstu" "a"


  • Opis powyższych przykładów:
    • Admin jest dany na IP:192.168.0.10 oraz dodatkowo sprawdzane jest hasło. Przy błędnym haśle gracz zostanie wykopany z serwera.
    • Admin dany jest na IP:192.168.0.15 Hasło nie jest wymagane. Każdy gracz z tego IP dostanie uprawnienia admina.
    • Admin dany jest na STEAMID oraz wymagane jest hasło.
    • Admin dany jest na nicka oraz wymagane jest hasło. Aby admin dostał swoje uprawnienia musi mieć hasło w configu (patrz niżej) oraz musi mieć nicka na jakiego nadano mu admina (wielkość liter jest ważna!).

Adminom, których dostęp wymaga hasła do zalogowania się każemy do configa dopisać:

setinfo _pw "haslo" 

hasło - to, które podaliśmy przy tworzeniu konta admina.

Konfiguracja amx.cfg

  • Metoda logowania graczy w amxx
    • 0 - wyłącza logowanie - gracze nie są sprawdzani i adminy nie działają
    • 1 - tryb normalny - gracze będący zapisani w users.ini dostaną możliwość użycia przydzielonych im komend
    • 2 - kopie wszystkich graczy nie zapisanych w users.ini
amx_mode 1 
  • Pokazywanie aktywności adminów
    • 0 - wyłączona - nie będzie napisane w grze ze admin coś zmienił, wkopał kogoś itd.
    • 1 - bez nicków - w grze będzie napisane np. "ADMIN: wykopal xxx" itd.
    • 2 - z nickami - w grze będzie napisane np. ADMIN yyy: wykopal xxx" itd.
amx_show_activity 2
  • Tutaj jest napis przesuwający się na dole ekranu. Ostatnia wartość to czas w sekundach co ile ma się napis pojawiać
amx_scrollmsg "Witaj na %hostname% -- Na serwer uzywany jest AMX Mod X" 600
  • Napisy pojawiające się na środku ekranu co jakiś czas. Ostatnie 9 cyfr jest to kolor napisu w formacie RRRGGGBBB. Są to wartości trzech kolorów: czerwonego, zielonego i niebieskiego. Można je wsiąść np z mspaint'a.
amx_imessage "Grasz teraz na %hostname%" "000255100"
amx_imessage "Na serwerze zainstalowano AMX Mod Xn Odwiedz strone projektu: http://www.amxmodx.org" "000100255"
  • Częstotliwość (w sekundach) pojawiania się napisów na środku ekranu
amx_freq_imessage 180
  • Czas (w sekundach) co ile gracze mogą napisać wiadomość na say'u. Zapobiega spamowi w grze.
amx_flood_time 0.75
  • Ilość zarezerwowanych slotów (aby działało musi być włączony odpowiedzialny plugin za to)
amx_reservation 0
  • Wyświetlanie czasu do końca mapy (automatyczne)
    • a - pokazuje biały tekst
    • b - używa głosu
    • c - nie używa słowa "remaining" (tylko w przypadku użycia głosu)
    • d - nie dodaje słów "hours/minutes/seconds" (j/w)
    • e - pokazuje/mówi jeżeli obecny czas jest mniejszy niż czas zadany
amx_time_display "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
  • Gdy zostanie użyte "say thetime" lub "say timeleft" używany jest głos by podać aktualny czas/pozostały czas
amx_time_voice 1
  • Minimalny czas (w sekundach) jaki musi upłynąć od poprzedniego głosowania aby zacząć nowe
amx_vote_delay 10
  • Jak długo będzie trwało głosowanie (w sekundach)
amx_vote_time 10
  • Wyświetlaj odpowiedzi na głosowania
amx_vote_answers 1
  • Wymagana ilość głosów aby głosowania przeszły (0.40 = 40%). Maksimum jest 1 czyli 100%
amx_votekick_ratio 0.40
amx_voteban_ratio 0.40
amx_votemap_ratio 0.40
amx_vote_ratio 0.02
  • Maksymalny czas o jaki mapa może zostać przedłużona (w minutach)
amx_extendmap_max 90
  • O ile czasu mapa może być przedłużona (w minutach) po głosowaniu
amx_extendmap_step 15
  • Metoda śledzenia graczy na potrzeby statystyk
    • 0 - przez nick
    • 1 - przez SteamID
    • 2 - przez IP
csstats_rank 1
  • Maksymalny rozmiar pliku ze statystykami
csstats_maxsize 3500
  • Czy klijeńci mogą sobie ustawić inny język niż serwer. 1 - Tak 0 - Nie
amx_client_languages 1


Kompilacja Pluginów

Przez kompilator z AMXX

  • Źródła pluginów (czyli pliki z rozszerzeniem [i]sma[/i]) umieszczamy w katalogu
addons/amxmodx/scripting/

//Np. chcemy skompilować/przekompilować plugin nazwa_pluginu.sma

  • W zależności od posiadanego systemu operacyjnego robimy tak:

Windows

  • Po prostu odpalamy plik [i]compile.exe[/i] i czekamy aż wszystkie pluginy się skompilują. Skompilowane pliki zapisują się w podkatalogu addons/amxmodx/compiled. Teraz wystarczy wszystkie potrzebne nam pluginy przenieść do katalogu addons/amxmodx/plugins.

Linux

  • Tutaj sprawa wygląda podobnie jak pod Windows, tylko że uruchamiamy plik compile.sh. Reszta wygląda identycznie jak dla Windows.


Ok. Jak już się skompilowało wchodzimy do podkatalogu compiled wynajdujemy w nim nasz plugin.amxx i kopiujemy go do katalogu plugins naszego AMXX'a. Teraz (jeżeli jest to nowy plugin) trzeba go dopisać do plugins.ini.


Przez WEBCompiler

  • Znajdują sie tam dwa pola
Upload .sma file
    • Jest to pole do wczytania pliku .sma od nas z dysku.

Wybieramy Przegladaj, wybieramy plik, cykamy na Compile i po chwili mamy strone o tytule

Your plugin successfully compiled! 

a pod tym wpis, ze nasz link bedzie aktywny przez 10 minut. Klikamy w nasz link i sciagamy plik .amxx

    • Drugie pole to:
If you want, you can also paste plugin source code into the box below:
    • Jest to pole do wklejenia samego kodu interesujacego nas pluginu.
    • W okienku:

"Plugin short name:" podajemy nazwe naszego pluginu (skr ocona, nazwa pliku wyjściowego). W dużym polu wklejamy nasz kod i klikamy na Compile.

  • W obu wypadkach należy zapisać pliki amxx w addons/amxmodx/plugins/

[b]Nie zapomnijmy dodać nowych pluginów do plugns.ini w amxx[/b]

[newpage] [title]Dodawanie/Usuwanie Pluginów[/title]

[b]Dodawanie pluginów:[/b] Otwieramy do edycji plik addons/amxmodx/configs/plugins.ini i dopsujemy przeważnie na jego końcu: [code]nazwa_pluginu.amxx[/code] Gdzie [i]nazwa_pluginu[/i] to nazwa pluginu jaki chcemy dodać. Należy pamiętać żeby plugin się załadował musi się znajdować w podkatalogu [i]plugins[/i] oraz muszą być załadowane wymagane moduły (o tym w dalszej części artykułu).

[b]Wyłączanie/Usuwanie pluginów:[/b] Szukamy nazwy pluginu który chcemy wywalić lub tylko czasowo usunąć np. [i]antiflood.amxx[/i]. Aby tylko wyłączyć plugin na początku linijki gdzie się znajduje dopisujemy [b];[/b] (średnik). Teraz tylko trzeba zapisać plik i po zmianie mapy na serwerze nie mamy pluginu. Aby go z powrotem przywrócić wywalamy sprzed jego nazwy średnik.

[b]Kolejność pluginów:[/b] Czasem pluginy potrafią wykonywać komendy tak, że blokują wykonywanie dalszych pluginów albo nie działają poprawnie. Najczęściej zdarza się to z pluginami reagującymi na komendy say. Zauważcie, że jeśli wstawimy plugin pausechat po pluginie floodprotect to w ostateczności nie będziemy w stanie rozmawiać podczas pauzy w meczu.

To samo się tyczy, jeśli kilka pluginów korzysta z tej samej komendy – są dodatki logujące wykonywanie pewnych komend i nic więcej nie robiące.

Warto czytać instrukcje wewnątrz zipów czy plików .sma, aby upewnić się czy ważna jest kolejność pluginu w plugins.ini

Pluginy a Moduły

Dosyć często zdarza się że po dodaniu jakiegoś nowego pluginu ten się nie ładuje mimo iż jest dobrze dodany. Wtedy najprawdopodobniej nie mamy włączonego modułu wymaganego przez plugin.

Gdy mamy najnowszą wersje AMX Mod X (1.70) nie ma najmniejszego problemu z określeniem jakiego modułu brakuje, wystarczy wejść do katalogu z logami amxx'a (addons/amxmodx/logs) i otwieramy ostatni log.

Powinniśmy znaleźć coś takiego:

L 02/31/2005 - 00:00:00: [AMXX] Plugin "jakis_plugin.amxx" failed to load: Module "cstrike" required for plugin. Check modules.ini.

W tym momencie już wiadomo, że nie mamy uruchomionego modułu [i]cstrike[/i]. Nie pozostaje już nic poza uruchomieniem go (patrz następna strona).

Wszystko ładnie, pięknie ale co jeśli mamy nieco starszą wersje AMXX'a? Niestety w starszych wersjach trzeba się troszkę wysilić aby znaleźć brakujący moduł - trzeba zajrzeć do źródła pluginu.

Pluginy (źródła) zbudowane są przeważnie w następujący sposób: [code]/*

  • Tutaj jakiś komentarz odnośnie pluginu,
  • jego opis, wersja, lista dostępnych komend,
  • lista zmian, itp. itd.
  • /
  1. include [,]amxmod[.]
  2. include [,]amxmisc[.]

właściwy kod pluginu[/code] Nas interesuje tylko to co znajduje się po [b]#include[/b]. Ta nazwa pomiędzy znakami mniejszości i większości jest nazwą modułu niezbędnego do działania pluginu. Dodatkowe linie podaja nam tez jakiego innego modułu możemy się spodziewać.

Oto opis jaki '[i]include[/i]' odpowiada za jaki moduł:

  1. include [,]amxmodx[.] [,][,]----- Plugin korzysta z standardowej biblioteki czyli amxmodx. Nie trzeba rzadnego dodatkowego modułu.
  2. include [,]amxmisc[.] [,][,]----- j/w
  3. include [,]file[.] [,][,]----- j/w
  4. include [,]string[.] [,][,]----- j/w
  5. include [,]vault[.] [,][,]----- j/w (?)
  6. include [,]regex[.] [,][,]----- Plugin wymaga do działania modułu [b]regex[/b]
  7. include [,]sockets[.] [,][,]----- Plugin wymaga do działania modułu [b]sockets[/b]
  8. include [,]engine[.] [,][,]----- Plugin wymaga do działania modułu [b]engine[/b]
  9. include [,]cstrike[.] [,][,]----- Plugin wymaga do działania modułu [b]cstrike[/b]
  10. include [,]dbi[.] [,][,]----- Plugin wymaga do działania któregoś z modułów [b]mysql[/b], pgsql, mssql lub sqlite w zalerzności od posadanej wersji bazy SQL. Najcześciej jest to MySQL.
  11. include [,]fun[.] [,][,]----- Plugin wymaga do działania modułu [b]fun[/b]
  12. include [,]fakemeta[.] [,][,]----- Plugin wymaga do działania modułu [b]fakemeta[/b]
  13. include [,]geoip[.] [,][,]----- Plugin wymaga do działania modułu [b]geoip[/b]
  14. include [,]array[.] [,][,]----- Plugin wymaga do działania modułu [b]array[/b]
  15. include [,]csx[.] [,][,]----- Plugin wymaga do działania modułu [b]csx[/b]

[newpage] [title]Dodawanie/Usuwanie Modułów[/title]

Skoro już wiemy jakie moduły są nam potrzebne do działania możemy przystąpić do pracy. Otwieramy do edycji plik addons/amxmodx/scripting/modules.ini, odszukujemy w nim sekcje z odpowiednim modułem (np. geoip) [code]; ---------------------------------------------

GeoIP - determines the country of ip adresses
---------------------------------------------
geoip_amxx_i386.so
geoip_amxx.dll
geoip_amxx_amd64.so

[/code] Jak widać mamy przed nazwami plików z modułami średniki, oznacza to że AMXX traktuje te linie jako komentarze (czyli ignoruje je). Aby włączyć moduł trzeba usunąć średnik sprzed odpowiedniego pliku. Dla Windows będzie to plik z rozszerzeniem [i]dll[/i] [code]; ---------------------------------------------

GeoIP - determines the country of ip adresses
---------------------------------------------
geoip_amxx_i386.so

geoip_amxx.dll

geoip_amxx_amd64.so

[/code] Dla Linuxa pracującego na zwykłym procesorze 32bitowym będzie plik *i386.so [code]; ---------------------------------------------

GeoIP - determines the country of ip adresses
---------------------------------------------

geoip_amxx_i386.so

geoip_amxx.dll
geoip_amxx_amd64.so

[/code] A dla systemu Linux pracującego na 64bitowym procesorze AMD bedzie to plik *amd64.so [code]; ---------------------------------------------

GeoIP - determines the country of ip adresses
---------------------------------------------
geoip_amxx_i386.so
geoip_amxx.dll

geoip_amxx_amd64.so [/code]

Teraz po zapisaniu pliku i zmianie mapy na serwerze moduł powinien się włączyć.


[newpage] [title]Uwagi[/title] [b]Odnośnie wersji AMXX'a:[/b] Wersje AMX Mod X oznaczone numerkami 1.50 i 1.55 posiadają błędy i nie powinno się ich używać. Nie będę tłumaczył dokładnie jakie to są błędy bo nie ma to sensu, po prostu należy się wystrzegać tych wersji – ominie was dzięki temu dużo stresu.

[b]Do zrobienia:[/b] - Opisać inne pliki konfiguracyjne amxx'a, - opisać jak używać menu w grze

Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia