AMX Mod X 1.71
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 |
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 Linuksie, jak i Windowsie - 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ść – zmienić kilka plików – a to jest wspólne zarówno dla Windows jak i Linuksa.
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 w dziale download.
- Windows:
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 katalogu cstrike/addons/metamod (w przypadku innych modów jest to nazwa_moda/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: cstrike/addons/amxmodx/configs (w przypadku innych modów, niż CS jest to nazwa_moda/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 odbanowywać 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
- 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: wykopał xxx" itd.
- 2 - z nickami - w grze będzie napisane np. ADMIN yyy: wykopał 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 wziąć z m.in. MS Paint'a (Start / Programy / Akcesoria / Paint).
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 czacie (tzw. say'u). Zapobiega spamowi w grze.
amx_flood_time 0.75
- Ilość zarezerwowanych slotów (aby działało musi być włączony odpowiedzialny za to plugin)
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 klienci 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 .sma) umieszczamy w katalogu
cstrike/addons/amxmodx/scripting/
- W przypadku innych modów, niż CS umieszczamy w katalogu
nazwa_moda/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.bat (który uruchomi program compile.exe z odpowiednimi parametrami) 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 (który uruchomi program compile z odpowiednimi parametrami). 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 np.: notatniku) w folderze cstrike dopisujemy:
bind "klawisz" "amxmodmenu"
gdzie klawisz to znak w postaci litery/cyfry na klawiaturze, np.: F12.
Do zrobienia
- Opisać inne pliki konfiguracyjne amxx'a
- Opisać jak używać menu w grze