AMX Mod X 1.71

Od HLDS.pl
Wersja PawelS (dyskusja | edycje) z dnia 01:24, 30 sty 2009
(różn.) ← poprzednia wersja | zobacz aktualną wersję (różn.) | następna wersja → (różn.)
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

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.

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

  • 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
Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia