AMX Mod X 1.71

(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Wymagania)
(Linux i Windows)
Linia 43: Linia 43:
 
*Wypakowywyjemy archiwum bazowe a później archiwum z plikami do obsługi CS'a do katalogu z HLDS.
 
*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.
 
*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ę:
+
*Edytujemy plik [[MetaMod#plugins.ini|metamod/plugins.ini]], dopisujemy na samym dole linijkę:
  
 
**Dla Windows:
 
**Dla Windows:
  win32 addons/amxmodx/dlls/amxmodx_mm.dll[/code]
+
  win32 addons/amxmodx/dlls/amxmodx_mm.dll
  
 
**Dla Linux:
 
**Dla Linux:
  linux addons/amxmodx/dlls/amxmodx_mm_i386.so[/code]
+
  linux addons/amxmodx/dlls/amxmodx_mm_i386.so
  
 
*Zapisujemy zmiany i opuszczamy plik.
 
*Zapisujemy zmiany i opuszczamy plik.

Wersja z 20:38, 20 cze 2006

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ść 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, nalezy nadpisac isntiejące pliki przy rozpakowywaniu.


  • Plugin mozna instalowac 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 zainstalowac ten dodatek na serwerze na platformie Windows.


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

Wymagania

  • MetaMod'a, więc tak czy siak musisz mieć na serwerze zainstalowanego MetaMod'a conajmniej 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.
  • Wypakowywyjemy 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 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 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, ż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 interesujacego nas pluginu.
    • W okienku: "Plugin short name:" podajemy nazwe 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 dopsujemy 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 spowrotem 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 podaja nam tez 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 zalerzności od posadanej 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/scripting/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

Odnośnie wersji AMXX'a

  • 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.

Do zrobienia

  • Opisać inne pliki konfiguracyjne amxx'a
  • Opisać jak używać menu w grze


Trawiator 20:50, 20 cze 2006 (CEST)

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