MindShifter - nFire.eu   MindShifter - nFire.eu
  [ Zaloguj | Rejestracja ]     Dzisiaj jest : Niedziela, 23 Wrzesień 2018 
Menu strony
 
Artykuły

Wszystkie artykuły » Counter-Strike » Counter-Strike 1.6 AMX Mod X

Counter-Strike 1.6 AMX Mod X

Autor: Dariusz Jaskuła (MindShifter) | Czwartek, 12 Sierpień 2010 16:22


AMX Mod X jest pluginem do metamoda ułatwiającym administrację serwerem CS. A czym jest metamod? Jest menedżerem pluginów umożliwiającym dynamiczne ładowanie i rozszerzanie silnika Half-Life (na którym CS jest oparty).

AMX Mod X umożliwia pisanie własnych składowych pluginów, które następnie wykorzystujemy na serwerze rozszerzając go o nowe możliwości, np. menu z kosmicznymi opcjami karania za TK, zliczanie i wyświetlanie statystyk, zmiana każdej możliwej do wyobrażenia cechy gracza na serwerze (HP, $, posiadana broń, wygląd, ustawienia zmiennych (cvar), itd.).

Jak widać możliwości jakie otwiera przed nami instalacja AMX Mod X są ogromne, jednak najważniejszymi z nich jest zarządzanie serwerem - lista administratorów wraz z ich uprawnieniami oraz sterowanie przebiegiem rozgrywki.



Użyte w artykule CSROOT - oznacza katalog (folder) główny z instalacją serwera Counter-Strike 1.6. W przypadku systemu Linux będzie to np. /home/csuser/cs16/cstrike, a w przypadku Windows c:\Steam\steamapps\nazwakonta\dedicated server\cstrike, czyli katalog, w którym znajduje się m.in. pliki server.cfg, mapcycle.txt, liblist.gam, itd.

Metamod


Na początek ściągamy metamoda. Istnieje oddzielny projekt o nazwie metamod-P, który jest ulepszoną wersją metamoda i to właśnie jego użyję do instalacji (z punktu widzenia instalacji nic się nie zmienia).

W katalogu CSROOT tworzymy drzewo katalogów addons/metamod/dlls.

Przechodzimy na stronę projektu i ściągamy paczkę odpowiednią do naszego systemu. Po wypakowaniu archiwum otrzymujemy pliku (w zależności od systemu: metamod_i386.so lub metamod.dll), który przenosimy do katalogu CSROOT/addons/metamod/dlls/

W katalogu CSROOT edytujemy plik liblist.gam. Dla systemu Linux zmieniamy w nim linię rozpoczynającą się od gamedll_linux na:
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
a dla systemu Windows linię rozpoczynająca się od gamedll na:
gamedll "addons\metamod\dlls\metamod.dll"

AMX Mod X


Ze strony projektu ściągamy dwie paczki (dobrane do systemu):
1. Core Packages - paczkę AMX Mod X Base
2. Mod Addon Packs - paczkę Counter-Strike Addon

Po wypakowaniu przenosimy zawartość obu archiwów do katalogu CSROOT, tak aby powstała struktura katalogów CSROOT/addons/amxmodx/ (archiwa zawierają w sobie katalog addons/amxmodx i w nim cała zawartość). Dla przykładu w systemie Linux ściągamy paczki do katalogu CSROOT i wypakowujemy (uzyskamy porządaną strukturę katalogów):
tar zxvf amxmodx-1.8.1-base.tar.gz
tar zxvf amxmodx-1.8.1-cstrike.tar.gz
W katalogu CSROOT/addons/metamod tworzymy plik plugins.ini o zawartości dla systemu Linux:
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
a dla systemu Windows (ukośniki mają być w tą stronę!):
win32 addons/amxmodx/dlls/amxmodx_mm.dll
AMX Mod X jest już zainstalowany. Uruchamiamy serwer i sprawdzamy to wpisując "meta list":
meta list

Currently loaded plugins:
      description      stat pend  file              vers      src   load  unlod
 [ 1] AMX Mod X        RUN   -    amxmodx_mm_i386.  v1.8.1.3  ini   Start ANY
 [ 2] Fun              RUN   -    fun_amxx_i386.so  v1.8.1.3  pl1   ANY   ANY
 [ 3] CStrike          RUN   -    cstrike_amxx_i38  v1.8.1.3  pl1   ANY   ANY
 [ 4] CSX              RUN   -    csx_amxx_i386.so  v1.8.1.3  pl1   ANY   ANY
4 plugins, 4 running

Konfiguracja uprawnień (admini, sloty)


AMX Mod X umożliwia nam na nadawanie uprawnień w oparciu o plik konfiguracyjny CSROOT/addons/amxmodx/configs/users.ini lub o bazę danych (MySQL). My skorzystamy z pliku users.ini.

W pliku tym kolejne linie zawierają użytkowników i ich uprawnienia. Linie zaczynające się od średnika to komentarze (są pomijane).

Wpis wygląda tak:
"nick|ip|authid" "hasło" "flagi dostępu" "flagi konta"
Najpierw definiujemy gracza przez jego nick lub jego IP lub authid, następnie określamy jego hasło dostępu (o jego ustawieniu u gracza będzie za chwilę), następnie nadajemy uprawnienia przez podanie flag dostępu oraz na koniec ustawiamy flagi konta.

Flagi dostępu:
a - nietykalność (taki gracz nie może być wykopany, zbanowany, slapowany/slayowany, itd.)
b - rezerwacja (może podłączyć się na zarezerwowany slot)
c - dostęp do komendy amx_kick
d - dostęp do komendy amx_ban i amx_unban
e - dostęp do komendy amx_slay i amx_slap
f - dostęp do komendy amx_map
g - dostęp do komendy amx_cvar (nie wszystkie cvary będą dostępne)
h - dostęp do komendy amx_cfg
i - dostęp do komendy amx_chat i innych komend związanych z czatem
j - dostęp do komendy amx_vote i innych komend związanych z votami
k - dostęp do cvara sv_password (poprzez amx_cvar)
l - dostęp do komendy amx_rcon i cvara rcon_password (poprzez amx_cvar)
m - niestandardowy poziom A (np. do wykorzystania przez nasze pluginy amx)
n - niestandardowy poziom B
o - niestandardowy poziom C
p - niestandardowy poziom D
q - niestandardowy poziom E
r - niestandardowy poziom F
s - niestandardowy poziom G
t - niestandardowy poziom H
u - dostęp do menu
z - użytkownik (nie admin)
Flagi konta:
a - rozłącza gracza, gdy poda złe hasło (wymaga hasła)
b - określa, że to jest tag klanowy
c - określa, że to jest authid
d - określa, że to jest IP
e - hasło nie jest sprawdzane
k - w nicku albo tagu klanowym rozróżnia wielkość liter
Przykłady kont (z pliku users.ini):
"STEAM_0:0:123456" "" "abcdefghijklmnopqrstu" "ce"
"123.45.67.89" "" "abcdefghijklmnopqrstu" "de"
"Jakis nick" "jakies haslo" "abcdefghijklmnopqrstu" "a"
"STEAM_0:0:654321" "" "bz" "ce"
W pierwszym przypadku mamy do czynienia z administratorem zdefiniowanym przez authid, bez hasła, z flagami dostępu od a do u oraz flagami konta mówiącymi, iż jest to authid (c) oraz, że hasło nie jest wymagane (e).

W drugim przypadku mamy do czynienia z administratorem zdefiniowanym przez adres IP, również bez hasła, z flagami dostępu od a do u oraz flagami konta mówiącymi, iż jest to IP (d) oraz, że hasło nie jest wymagane (e).

W trzecim przypadku mamy do czynienia z administratorem zdefiniowanym przez nicka, z hasłem, z flagami dostępu od a do u oraz flagą konta mówiącą, iż hasło jest wymagane (a).

W czwartym przypadku mamy do czynienia ze zwykłym użytkownikiem zdefiniowanym przez authid, bez hasła, z flagą dostępu dającą mu slota oraz flagami mówiącymi, iż jest to authid (c) oraz, że hasło nie jest wymagane (e) (aby rezerwacja slotów zaczęła działać należy jeszcze ustawić cvara amx_reservation na liczbę zarezerwowanych slotów).

Jeśli wymagamy od gracza hasła dostępu to gracz ten powinien dopisać sobie, np. w pliku autoexec.cfg lub config.cfg lub za każdym razem wpisywać w konsoli:
setinfo _pw "hasło"

Konfiguracja pluginów i modułów


Pluginy najprościej mówiąc dodają do AMX obsługę określonych sytuacji, np. gdy rozpoczyna się nowa runda wyzeruj statystyki zadanych obrażeń aktualnej rundy, gdy gracz podłącza się do gry, sprawdź kraj jego pochodzenia i przedstaw mu komunikat powitalny w jego języku, gdy gracz wydaje komendę, sprawdź czy ma do tego uprawnienia i ją wykonaj, itd.

O tym które pluginy AMX ma wykorzystywać decyduje plik CSROOT/addons/amxmodx/configs/plugins.ini

Jeśli chcemy dodać jakiś plugin to dopisujemy go w nowej linii podając jego nazwę wraz z rozszerzeniem.

Aby zmiany zostały odnotowane należy zmienić mapę (lub zrestartować serwer).

Pluginy (skompilowane) znajdują się w katalogu CSROOT/addons/amxmodx/plugins/. Ich kody źródłowe przechowywane są w katalogu CSROOT/addons/amxmodx/scripting/ (wraz z kompilatorem compile.sh (Linux) i compile.exe (Windows) - każdy może pokusić się o napisanie własnego plugina).

Niektóre pluginy mogą wymagać dodatkowych modułów AMX (moduły rozszerzają możliwości AMX). Moduły definiujemy w pliku CSROOT/addons/amxmodx/configs/modules.ini (pliki modułów znajdują się w katalogu CSROOT/addons/amxmodx/modules/), np. aby skorzystać z pluginu rozwiązującego adres IP na nazwy krajów w pliku modules.ini musimy usunąć komentarz przed modułem geoip.

Dalsza konfiguracja


Głowne ustawienia AMX znajdują się w pliku CSROOT/addons/amxmodx/configs/amxx.cfg:
amx_default_access "z"
amx_password_field "_pw"
amx_mode 1
amx_show_activity 2
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "This server is using AMX Mod XnVisit http://www.amxmodx.org" "000100255"
amx_freq_imessage 180
amx_plmenu_bantimes 0 5 10 15 30 45 60
amx_plmenu_slapdmg 0 1 5
amx_flood_time 0.75
amx_reservation 0
amx_hideslots 0
amx_time_display "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
amx_time_voice 1
amx_vote_delay 10
amx_vote_time 10
amx_vote_answers 1
amx_votekick_ratio 0.40
amx_voteban_ratio 0.40
amx_votemap_ratio 0.40
amx_vote_ratio 0.02
amx_extendmap_max 90
amx_extendmap_step 15
amx_client_languages 1
amx_debug 1
amx_mldebug ""

csstats_rank 1
csstats_maxsize 3500
csstats_rankbots 0
amx_statsx_duration 12.0
amx_statsx_freeze -2.0
Wszystkie te cvary są dobrze udokumentowane we wspomnianym pliku.

Jeśli korzystamy z pluginów do zarządzanie mapami (wybór następnej mapy, voty na mapy, itp.), to należy edytować plik CSROOT/addons/amxmodx/configs/maps.ini (jeśli go usuniemy, standardowe pluginy będą korzystać z mapcycle.txt).

Jeśli chcemy skorzystać z indywidualnych ustawień dla niektórych map, to tworzymy katalog CSROOT/addons/amxmodx/configs/maps a w nim pliki z nazwą mapy zakończone rozszerzeniem cfg zawierające ustawienia dla tej mapy (cvary), np. aby dla mapy awp_map ustawić mp_freezetime 0 oraz mp_winlimit 40 (które w konfiguracji serwera są inne) tworzymy plik CSROOT/addons/amxmodx/configs/maps/awp_map.cfg o zawartości:
mp_freezetime 0
mp_winlimit 40
Od wersji 1.8 mamy również możliwość określenia takich ustawień dla określonych typów map. AMX identyfikuje typy map przez prefiks, np. aby dla wszystkich map de_* ustawić pewne cvary tworzymy plik prefix_de.cfg

Jeśli korzystamy z indywidualnych konfiguracji dla map to musimy zadbać o przywrócenie cvarom ich wartości po zmianie mapy. Najlepiej zrobić to definiując w konfiguracji serwera (server.cfg):
mapchangecfgfile server.cfg
W pliku server.cfg powinny znaleźć się wszystkie zmieniane cvary.

Podstawowe polecenia


Komendy AMX zazwyczaj rozpoczynają się od prefiksu amx_ (lecz nic nie stoi na przeszkodzie, jeśli sami napiszemy plugin, w którym dodamy komendę abcdef).

Najbardziej użyteczną komendą jest amx_help (oraz kolejne strony amx_help 11, amx_help 21, itd), która pokazuje informacje o zarejestrowanych komendach AMX.

Należy pamiętać, że większość komendy wymaga odpowiednich uprawnień (flag), podczas gdy inne komendy mogą być wykonywane przez wszystkich graczy.

Komendy administracyjne

amx_kick nick lub #userid [powód] - kikuje gracza.
amx_ban nick lub #userid czas [powód] - banuje gracza.
amx_addban IP lub authid czas [powód] - dodaje bana do listy banów serwera.  
amx_unban IP lub authid - ściąga bana.
amx_slay nick lub #userid - slayuje gracza.
amx_slap nick lub #userid [obrażenia] - slapuje gracza określoną ilością obrażeń.
amx_leave tag [tag1] [tag2] - pozostawia na serwerze tylko graczy z określonym tagiem.
amx_pause - pauzuje lub odpauzowuje grę.
amx_who - wyświetla listę graczy z podaniem przydzielonych flag dostępu.
amx_cvar cvar [wartość] - wyświetla lub zmienia cvara.
amx_map mapa - zmienia mapę.
amx_nick nick nowynick - zmienia graczowi nicka.
amx_cfg plikcfg - wywołuje plik konfiguracyjny na serwerze.
amx_rcon komenda - wykonuje komendę na konsoli serwera (rcon).
amx_plugins - wyświetla załadowane pluginy.
amx_modules - wyświetla załadowane moduły.
Poza nimi ważną komendą jest amx_pausecfg:
amx_pausecfg komenda nazwa
komendą może być:
off - pauzuje wszystkie plugin nie będące na liście 
on - odpauzowuje wszystkie pluginy.
stop nazwa - zatrzymuje plugin.
pause nazwa - pauzuje plugin.
enable nazwa - załącza plugin.
save - zapisuje listę zatrzymanych pluginów.
clear - czyści listę zapisanych pluginów.
list [id] - listuje pluginy.
add tytuł - oznacza plugin jako możliwy do odpauzowania.

Komendy czatu

amx_say wiadomość - wysyła wiadomość do wszystkich graczy przez say.
amx_chat wiadomość - wysyła wiadomość do wszystkich adminiów przez czat.
amx_psay nick lub #userid wiadomość - wysyła prywatną wiadomość do podanego gracza.
amx_tsay kolor wiadomość - wysyła kolorową wiadomość na HUD-a do wszystkich graczy (lewa strona HUD-a).
amx_csay kolor wiadomość - wysyła kolorową wiadomość na HUD-a do wszystkich graczy (środek HUD-a).

Komendy głosowań (voty)

amx_votemap mapa [mapa2] [mapa3] [mapa4] - rozpoczyna głosowanie na zmianę mapy.
amx_votekick nick lub #userid - rozpoczyna głosowanie na kiknięcie gracza.
amx_voteban nick lub #userid - rozpoczyna głosowanie na ban dla gracza.
amx_vote pytanie odpowiedź1 odpowiedź2 - rozpoczyna głosowanie o dowolnej treści. Na koniec głosowania podaje wynik.
amx_cancelvote - anuluje trwające głosowanie.

Komendy związane z menu

amxmodmenu - główne menu AMX.
amx_cvarmenu - menu z cvarami.
amx_mapmenu - menu ze zmianą mapy.
amx_votemapmenu - menu z głosowaniem na mapę
amx_kickmenu - menu kikowania.
amx_banmenu - menu banowania.
amx_slapmenu - menu slapowania/slayowania.
amx_teammenu - menu zmiany teamu.
amx_clcmdmenu - menu komend klientów.
amx_cmdmenu - menu komend serwera/
amx_restmenu - menu restrykcji broni.
amx_teleportmenu - menu teleportacji.
amx_pausecfgmenu - menu pauzowania/odpauzowania pluginów.
amx_statscfgmenu - menu konfiguracji statystyk.

Komendy związane ze statystykami i informacjami serwera

say /hp - wyświetla statystyki (HP, AP) o Twoim zabójcy.
say /statsme - wyświetla Twoje statystyki.
say /stats - wyświetla statystyki innego gracza.
say /top15 - wyświetla najlepszych 15 graczy.
say /rank - wyświetla Twój ranking na serwerze.
say nextmap - wyświetla następną mapę.  
say timeleft - wyświetla czas jaki pozostał na aktualnej mapie.
say thetime - wyświetla aktualny czas (na serwerze).


   [ Drukuj ] [ Wyślij stronę ]

Komentarze

Dodaj komentarz!

wysłany przez: Mirena (gość) - Sobota, 10 Grudzień 2016 16:12

Doskonały poradnik. Bardzo wartościowa wiedza.

<a href="http://gamera.pl">http://gamera.p</a>l




Wszystkie obrazy, grafika, tekst oraz wszelkie inne treści reprezentowana na tej stronie (oprócz niektórych z działu Download) są chronione prawami autorskimi i są wyłączną własnością autora tej strony. Wszelkie przypadki użycia i/lub publikacji są zastrzeżone na całym świecie. Wszystkie zdjęcia i inne treści są wyraźnie nie w Domenie Publicznej. Żadne zdjęcia ani inne materiały na tej stronie nie mogą być kopiowana, przechowywana, poddawane manipulacji, publikowane, sprzedawane lub cytowane w całości lub w części w jakiejkolwiek formie bez uprzedniej pisemnej zgody upoważnionego przedstawiciela tej strony.

Jako materiał chroniony prawami autorskimi, wszystkie zdjęcia umieszczone na tej stronie chronione są zgodnie z międzynarodowym prawem autorskim.

All images, graphics, text, and all other content represented on this website (except for some of the Download section) are copyrighted and are the sole property of author of this website. All use and/or publication rights are reserved worldwide. All images and all other content are expressly not in the Public Domain. No images or other content on this website may be copied, stored, manipulated, published, sold or reproduced in whole or in part in any form without the prior written authorization of an authorized representative.

As copyrighted material, all images displayed on this site are protected under international copyright laws.

....:::: © 2004-2009 MindShifter ]:::::[ kontakt: Gadu-Gadu 2644644 ::::....