Wstęp
Całość instalacji AMX Mod X składa się z kilku plików:
- części bazowej, wspólnej dla wszystkich serwerów Half-Life. - opcjonalnie pakietu dla danej modyfikacji - u nas Counter-Strike, należy nadpisać istniejące pliki przy rozpakowywaniu. - Plugin można instalować ręcznie zarówno na Linuxie, jak i Windows - nie jest to takie trudne. - Dodatkowo istnieje automatyczny instalator (plik .exe) który powinien większości osób zainstalować ten dodatek na serwerze na platformie Windows.
Po wstępnej instalacji trzeba skonfigurować całość - z edytować kilka plików - a to jest wspólne zarówno dla Windows jak i Linuxa.
Instalacja AMX Mod X
Wymagania
- MetaMod, więc tak czy siak musisz mieć na serwerze zainstalowanego MetaMod'a co najmniej w wersji 1.19
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. - Wypakowujemy 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
- Wypakowujemy 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 metamod/plugins.ini, dopisujemy na samym dole linijkę:
Dla Windows: win32 addons/amxmodx/dlls/amxmodx_mm.dll Dla Linux: linux addons/amxmodx/dlls/amxmodx_mm_i386.so
- 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 się 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" 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.
"192.168.0.15" "" "abcdefghijklmnopqrstu" "de" Admin dany jest na IP:192.168.0.15 Hasło nie jest wymagane. Każdy gracz z tego IP dostanie uprawnienia admina.
"STEAM_0:0:000000" "haslo" "abcdefghijklmnopqrstu" "ac" Admin dany jest na STEAMID oraz wymagane jest hasło.
"nick_admina" "haslo" "abcdefghijklmnopqrstu" "a" 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 o 0 - wyłącza logowanie - gracze nie są sprawdzani i adminy nie działają o 1 - tryb normalny - gracze będący zapisani w users.ini dostaną możliwość użycia przydzielonych im komend o 2 - kopie wszystkich graczy nie zapisanych w users.ini amx_mode 1
- Pokazywanie aktywności adminów o 0 - wyłączona - nie będzie napisane w grze ze admin coś zmienił, wkopał kogoś itd. o 1 - bez nicków - w grze będzie napisane np. "ADMIN: wykopał xxx" itd. o 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 serwerze używany 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 X\n Odwiedź stronę 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) o a - pokazuje biały tekst o b - używa głosu o c - nie używa słowa "remaining" (tylko w przypadku użycia głosu) o d - nie dodaje słów "hours/minutes/seconds" (j/w) o 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 o 0 - przez nick o 1 - przez SteamID o 2 - przez IP
csstats_rank 1
- Maksymalny rozmiar pliku ze statystykami
csstats_maxsize 3500
- Czy klienci mogą sobie ustawić inny język niż serwer. 1 - Tak 0 - Nie
amx_client_languages 1
Kompilacja Pluginów[/b]
[b]Przez kompilator z AMXX
- Źródła pluginów (czyli pliki z rozszerzeniem .sma)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 compile.exe 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
-Znajdziemy go tu: http://www.amxmodx.org/webcompiler.cgi -Znajdują sie tam dwa pola Upload .sma file -Jest to pole do wczytania pliku .sma od nas z dysku. Wybieramy Przeglądaj, wybieramy plik, cykamy na Compile i po chwili mamy stronę o tytule Your plugin successfully compiled! a pod tym wpis, że nasz link będzie aktywny przez 10 minut. Klikamy w nasz link i ściągamy 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 interesującego nas pluginu. -W okienku: "Plugin short name:" podajemy nazwę naszego pluginu (skrócona, 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/ -Nie zapomnijmy dodać nowych pluginów do plugns.ini w amxx!
Dodawanie/Usuwanie Pluginów
Dodawanie pluginów
-Otwieramy do edycji plik addons/amxmodx/configs/plugins.ini i dopisujemy przeważnie na jego końcu: nazwa_pluginu.amxx Gdzie nazwa_pluginu to nazwa pluginu jaki chcemy dodać. Należy pamiętać żeby plugin się załadował musi się znajdować w podkatalogu plugins oraz muszą być załadowane wymagane moduły..
Wyłączanie/Usuwanie pluginów
-Szukamy nazwy pluginu który chcemy wywalić lub tylko czasowo usunąć np. antiflood.amxx. Aby tylko wyłączyć plugin na początku linijki gdzie się znajduje dopisujemy ; (ś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.
Kolejność pluginów
-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
Najnowsza wersja
-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.71) 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 cstrike. Nie pozostaje już nic poza uruchomieniem go (patrz dalej).
Starsze wersje
-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: /* * Tutaj jakiś komentarz odnośnie pluginu, * jego opis, wersja, lista dostępnych komend, * lista zmian, itp. itd. */
#include <amxmod> #include <amxmisc>
właściwy kod pluginu -Nas interesuje tylko to co znajduje się po #include. Ta nazwa pomiędzy znakami mniejszości i większości jest nazwą modułu niezbędnego do działania pluginu. Dodatkowe linie podają nam też jakiego innego modułu możemy się spodziewać. -Oto opis jaki include odpowiada za jaki moduł: #include <amxmodx> <<----- Plugin korzysta z standardowej biblioteki czyli amxmodx. Nie trzeba żadnego dodatkowego modułu. #include <amxmisc> <<----- j/w #include <file> <<----- j/w #include <string> <<----- j/w #include <vault> <<----- j/w (?) #include <regex> <<----- Plugin wymaga do działania modułu regex #include <sockets> <<----- Plugin wymaga do działania modułu sockets #include <engine> <<----- Plugin wymaga do działania modułu engine #include <cstrike> <<----- Plugin wymaga do działania modułu cstrike #include <dbi> <<----- Plugin wymaga do działania któregoś z modułów mysql, pgsql, mssql lub sqlite w zależności od posiadanej wersji bazy SQL. Najcześciej jest to MySQL. #include <fun> <<----- Plugin wymaga do działania modułu fun #include <fakemeta> <<----- Plugin wymaga do działania modułu fakemeta #include <geoip> <<----- Plugin wymaga do działania modułu geoip #include <array> <<----- Plugin wymaga do działania modułu array #include <csx> <<----- Plugin wymaga do działania modułu csx
Dodawanie/Usuwanie Modułów
-Skoro już wiemy jakie moduły są nam potrzebne do działania możemy przystąpić do pracy. Otwieramy do edycji plik addons/amxmodx/configs/modules.ini, odszukujemy w nim sekcje z odpowiednim modułem (np. geoip) ; --------------------------------------------- ; GeoIP - determines the country of ip adresses ; --------------------------------------------- ;geoip_amxx_i386.so ;geoip_amxx.dll ;geoip_amxx_amd64.so
-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 dll ; --------------------------------------------- ; GeoIP - determines the country of ip adresses ; --------------------------------------------- ;geoip_amxx_i386.so geoip_amxx.dll ;geoip_amxx_amd64.so
-Dla Linuxa pracującego na zwykłym procesorze 32bitowym będzie plik *i386.so ; --------------------------------------------- ; GeoIP - determines the country of ip adresses ; --------------------------------------------- geoip_amxx_i386.so ;geoip_amxx.dll ;geoip_amxx_amd64.so
-Dla systemu Linux pracującego na 64bitowym procesorze AMD będzie to plik *amd64.so ; --------------------------------------------- ; GeoIP - determines the country of ip adresses ; --------------------------------------------- ;geoip_amxx_i386.so
;geoip_amxx.dll geoip_amxx_amd64.so
-Teraz po zapisaniu pliku i zmianie mapy na serwerze moduł powinien się włączyć.
Uwagi
Jeśli nie chcesz za każdym razem wchodzić w konsolę i wpisywać 'amxmodmenu' zróbmy sobie binda. Dla tych, co sami nie potrafią z jakiś powodów: Do pliku config.cfg (edytujemy w Notatniku) w folderze cstrike dopisujemy: bind "znak" "amxmodmenu" gdzie znak to litera/cyfra na klawiaturze, np. F12
|