MetaMod

(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Przeładowanie konfiguracji)
(Zmienne)
Linia 127: Linia 127:
 
7 plugins, 7 running
 
7 plugins, 7 running
 
</pre>
 
</pre>
===Zmienne===
+
=== Lista zmienych===
 
Wyświetlenie listy zmiennych zadeklarowanych przez pluginy. Podaje numer plugina jaki zarejestrował zmienną (numer w nawiasach kwadratowych i plugin), nazwę zmiennej (cvar), wartość zmiennej jako zmiennoprzecinkową (float) w tym także liczby całkowite, wartośc ciągu znaków (string) jesli zmienna jest typu ciąg znaków.
 
Wyświetlenie listy zmiennych zadeklarowanych przez pluginy. Podaje numer plugina jaki zarejestrował zmienną (numer w nawiasach kwadratowych i plugin), nazwę zmiennej (cvar), wartość zmiennej jako zmiennoprzecinkową (float) w tym także liczby całkowite, wartośc ciągu znaków (string) jesli zmienna jest typu ciąg znaków.
 
  meta cvars
 
  meta cvars

Wersja z 14:07, 17 cze 2006

Spis treści

Wstęp

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 :)


MetaMod jest dodatkiem do serwerów HLDS, dzieki któremu mozemy doistalować jescze inne dodatki, unikajć podmiany plików głównych moda w grze (chodzi o np mp.dll).

Dzięki niemu możmey dodać takie dodatki do serwera jak:

ora jeszcze parę innych

Aktualnie istnieją dwa projeky - MetaMod oraz MetaMod-p. Ten drugi napisany został w czasie keidy Valve wprwadziło ważne zmiany do gier, i wymagana była aktualzacja metamoda, a oficjalna strona nie dawała zycia. Aktualnie w wersji 1.19 oba projekty wykonują to samo. MetaMod-p jest torchę lepiej zoptymalizowany.


Linki

Instalacja

Przykład dla serwera z modem Counter-Strike, czyli mamy nazwę moda cstrike. Jak uzywacie innego moda, odpowiednio zmieńcie cstrike na nazwę, np dod, czero, tfc

Linux

Wszekie komendy wykonujemy w konsoli

  • Ściągamy metamoda (Linux binary):
wget http://voxel.dl.sourceforge.net/sourceforge/metamod-p/metamod-1.19p28-linux-i586.tar.gz 
  • W katalogu "cstrike":
    • tworzymy podkatalog addons
    • wchodzimy do addons i tworzymy metamod
    • wchodzimy do metamod, tworzymy dlls

Czyli powinno to wyglądać następująco: cstrike/addons/metamod/dlls

addons
`-- metamod
   `-- dlls


  • Przechodzimy do katalogu ze ściągniętym metamodem i rozpakowujemy go:
tar -zxvf metamod-1.19p28-linux-i586.tar.gz

Otrzymujemy plik: metamod_i386.so Przenosimy go do cstrike/addons/metamod/dlls

mv metamod_i386.so /home/homedir/hlds_l/cstrike/addons/metamod/dlls/ 

ścieżka domyślna, trzeba zmienić na własną lokacje

  • Przechodzimy do cstrike/addons/metamod i tworzymy plik plugins.ini:
touch plugins.ini 

Wpisujemy do niego ścieżki do modów, takich jak amx, amxx, hlguard...itd (opisy w artach dotyczących poszczególnych modow)

  • Przechodzimy do katalogu cstrike, odnajdujemy plik liblist.gam, a w nim linie zaczynające sie od:
gamedll_linux "dlls/cs_i386.so"

Wtedy dajemy na początku linii znaczek # i niżej dodajemy zmodyfikowana linię aby ładować MetaModa.

#gamedll_linux "dlls/cs_i386.so"
gamedll_linux "addons/metamod/dlls/metamod_i386.so"  

I startujemy nasz server, jeśli otrzymamy:

Metamod version 1.19p28 Copyright (c) 2001-2005 Will Day

Patch: Metamod-P (mm-p) v26 Copyright (c) 2004-2005 Jussi Kivilinna Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'. This is free software, and you are welcome to redistribute it under certain conditions; type `meta gpl' for details.

/lub podobnie, zaleznie od wersji/

i dalej sie ladują (bedz nie :P ) mody, znaczy to ze metamod działa. Po co znaczek # na początku? Jak cos nie zadziała, to damy w nowo dodanej linii znaczek # i usuniemy z pierwszej, i serwer po restarcie będzie działał jak przed aktywacj a MetaModa.

Windows

Metamod windows.gif
  • W katalogu cstrike:
    • tworzymy podkatalog addons
    • wchodzimy do addons, tworzymy metamod
    • wchodzimy do metamod, tworzymy dlls
  • Czyli powinno to wygladac nastepująco (jak na obrazku na prawo):

cstrike\addons\metamod\dlls

Przechodzimy do katalogu ze sciągnietym metamodem i rozpakowujemy go.

Otrzymujemy plik: metamod.dll Przenosimy go do cstrike\addons\metamod\dlls

  • Przechodzimy do cstrike\addons\metamod i tworzymy plik plugins.ini:

\mozemy stworzyc plik "plugins.txt" i zmienic mu rozszerzenie na "ini", ale uwaga na ukryte rozszerzenia w windowsie, czyli ma być plugins.ini, a nie plugins.ini.txt\

Wpisujemy do niego scieżki do modow, takich jak amx, amxx, hlguard...itd (opisy w artach dotyczacych poszczegolnych modow)

  • Przechodzimy do katalogu "cstrike", odnajdujemy plik "liblist.gam", a w nim linie zaczynajaca sie od:
gamedll "dlls\mp.dll"

Dajemy w tej linii znak # na początku, a niżej wstawiamy nową linię, zmodyfikowaną tak aby ładować MetaModa:

#gamedll "dlls\mp.dll"
gamedll "addons\metamod\dlls\metamod.dll" 

i odpalamy nasz serverek. Po co znaczek # na początku? Jak cos nie zadziała, to damy w nowo dodanej linii znaczek # i usuniemy z pierwszej, i serwer po restarcie będzie działał jak przed aktywacj a MetaModa.

Komendy

Ponizsze komendy wykonujemy bezpośrednio w konsoli serwera, alo korzystając z rcona. Poniżej każdej jest podany przykładowany komunikat. Komendy w zależności od wersji działają także po stronie klienta (nie wszstkie, przeważnie tylko meta version oraz meta list).

Wersja

Wersja MetaModa - stosuj aby sprawdzić czy działa i jaka ma wersje.

meta version
Metamod v1.19  2006-04-17 (5:13)
by Will Day <willday@metamod.org>
   http://www.metamod.org/
compiled: Apr 17 2006, 19:08:34 +0200 (optimized)

Lista pluginów

Listowanie pluginów, podaje numer ładowania pluginu, opis (description), status (RUN czyli uruchomiony, badload to znaczy że nie działa), status oczekiwania (pend), nazwa pliku (file), versja pluginu (vers), źródło ładowania (src, ini oznacza ze z pliku konfiguracyjnego, plX oznacza, że załadował go automatycznie plugin o numerze X), metode ładowania (load, ANY czyli kiedykowliek mozńa załadować, Chlvl tylko podczas zmainy mapy), metode odłączenia (unlod, czyli iedy mozna wyładwac plugin). Ostatnie dwa nie zawsze mówią prawdę :D

meta list
Currently loaded plugins:
      description      stat pend  file              vers      src  load  unlod
 [ 1] AMX Mod X        RUN   -    amxmodx_mm_i386.  v1.71     ini  ANY   ANY
 [ 2] POD-Bot mm       RUN   -    podbot_mm_i386.s  v3.0b12   ini  Chlvl ANY
 [ 3] Fun              RUN   -    fun_amxx_i386.so  v1.71     pl1  ANY   ANY
 [ 4] Engine           RUN   -    engine_amxx_i386  v1.71     pl1  ANY   ANY
 [ 5] FakeMeta         RUN   -    fakemeta_amxx_i3  v1.71     pl1  ANY   ANY
 [ 6] CStrike          RUN   -    cstrike_amxx_i38  v1.71     pl1  ANY   ANY
 [ 7] CSX              RUN   -    csx_amxx_i386.so  v1.71     pl1  ANY   ANY
7 plugins, 7 running

Lista zmienych

Wyświetlenie listy zmiennych zadeklarowanych przez pluginy. Podaje numer plugina jaki zarejestrował zmienną (numer w nawiasach kwadratowych i plugin), nazwę zmiennej (cvar), wartość zmiennej jako zmiennoprzecinkową (float) w tym także liczby całkowite, wartośc ciągu znaków (string) jesli zmienna jest typu ciąg znaków.

meta cvars
Registered plugin cvars:
        plugin         cvar                      float value  string value
 [   1] AMX Mod X      amxmodx_version              1.710000  1.71
 [   2] AMX Mod X      amxmodx_modules              5.000000  5
 [   3] AMX Mod X      amx_debug                    1.000000  1
 [   4] AMX Mod X      amx_mldebug                  0.000000
 [   5] AMX Mod X      amx_client_languages         1.000000  1
 [   6] (unknown)      csstats_maxsize           3500.000000  3500
 [   7] (unknown)      csstats_reset                0.000000  0
 [   8] (unknown)      csstats_rank                 0.000000  0
 [   9] (unknown)      csstats_rankbots             1.000000  1
 [  10] (unknown)      csstats_pause                0.000000  0
 [  11] POD-Bot mm     pb_aim_damper_coeffi         0.220000  0.22
 [  12] POD-Bot mm     pb_aim_damper_coeffi         0.220000  0.22
 [  13] POD-Bot mm     pb_aim_deviation_x           2.000000  2.0
 [  14] POD-Bot mm     pb_aim_deviation_y           1.000000  1.0
 [  15] POD-Bot mm     pb_aim_influence_x_o         0.250000  0.25
 [  16] POD-Bot mm     pb_aim_influence_y_o         0.170000  0.17

Przeładowanie konfiguracji

Przeładowanie konfiguracji - odczytuje plugins.ini i ładuje/wyładowywuje dane pluginy (np nie istneijące są wyładowywane, a nowe są ładowane).

meta refresh
L 06/17/2006 - 13:51:47: [META] Refreshing the plugins on demand...
L 06/17/2006 - 13:51:47: [META] ini: Begin re-reading plugins list: .../cstrike/addons/metamod/plugins.ini
L 06/17/2006 - 13:51:47: [META] ini: Read plugin config for: AMX Mod X
L 06/17/2006 - 13:51:47: [META] ini: Read plugin config for: POD-Bot mm
L 06/17/2006 - 13:51:47: [META] ini: Finished reading plugins list: .../cstrike/addons/metamod/plugins.ini; Found 2 plugins
L 06/17/2006 - 13:51:47: [META] dll: Updating plugins...
L 06/17/2006 - 13:51:47: [META] dll: Finished updating 7 plugins; kept 2, loaded 0, unloaded 0, reloaded 0, delayed 0


Lista Komend

Podaje listę komend zarejestrowanych przez pluginy, numer pluginu (w wnawiasach kwadratowych), nazwę pluginu (plugin), nazwę komendy (command)

meta cmds
Registered plugin commands:
        plugin              command
 [   1] AMX Mod X           amxx
 [   2] POD-Bot mm          pb
 [   3] AMX Mod X           amx_statscfg
 [   4] AMX Mod X           amx_reloadadmins
 [   5] AMX Mod X           amx_addadmin
 [   6] AMX Mod X           amx_kick
 [   7] AMX Mod X           amx_ban
 [   8] AMX Mod X           amx_banip
 [   9] AMX Mod X           amx_addban
 [  10] AMX Mod X           amx_unban

Konfiguracja

plugins.ini

Opis

plugins.ini przetrzymuje podstawowe informacje o ładowanych pluginach podczas staru (albo zmiany) mapy. MetaMod ładuje tylko pliki binarne obsługiwane przez dany system - dlatego w plugins.ini mogą byc linie dla linuxa i windows i nic się nie stanie.

komentarze

Wszelkie linie zaczynające się od średnika są traktowane jako komentarze i nie są przetwarzane przez MetaModa. Dodatkowo jako komentarze mozna uzywać // albo #

format linii

Każda linia posiada ponizyszy format

   <platforma> <sizeżka_do_pliku/plik> [<opis>] 

Znakami rodzielającymi są spacje albo znaki tabulacji

  • platforma to słowo kluczowe, może byc równe linux albo win32
  • ścieżka_do_pliku/plik to ścieżka do pluginu do załadowania. Mozliwe są do uzycia żcieżki wględne katalogu gamedir (czyli modu), więc mozna pisać ../../jakis/plugin.dll. Mozna także stosowac ścieżki bezwzględne typu /home/hlds/hlds_l/cstrike/jakis/plugin.so. Należy stosowac ścieżek w formacie unixowym czyli ze znakiem /, lepiej sie wystrzegać ukośnika w lewo (windowsowy styl), aczkolwiek od wersji 1.17.3 nie ma znaczenia w która stronę są ukośniki. Podawanie dwa razy tej samej nazwy pliku powoduje załaowanie jednkrotne pluginu.
  • opis jest opcjonalny, mozna używac spacji, nie trzeba uzywać cudzysłowów.

Przykład

Prosty

Ponizyszy przykład zawiera 2 linie z komentarzami, oraaz ładuje 1 plugin [[[AMX Mod X]] pod Linuxatylko, a drugi wpis ładuje binarki PODBota zarówno pod Linuxa (plik .so) jak i Windows (plik .dll). Tak więc ten plik załadowałby (oczywiście jeśli istnieją) binarki amxx i podbota pod linuksem, a pod windows tylko binarke podbota.

; AMX Mod
linux addons/amxmodx/dlls/amxmodx_mm_i386.so


; POD Bot MM
win32 addons/podbot/podbot_mm.dll
linux addons/podbot/podbot_mm_i386.so

Wypasiony

Z serverpacka trawiatora, ładuje wiele pluginów, np HLGuard ma zakomentowane linie gdze są nazwy binarek nie zoptymalizwoanych - NIE należy ładować optymalizowanych i nie optymalizowanych na raz. Jesli istnieją pliki to ten plik by załadował wszstkie pluginy zarówno pod windows jak i linuksem. Widzimy także w liniach dla windows ściezki z ukośnikami pod windows (pochylone na prawo).

;;Metamod plugins.ini

;;HLGuard 1.8
;;win32 addons\hlguard\dlls\hlguard_mm.dll
win32 addons\hlguard\dlls\hlguard_mm_optimized.dll

;;linux addons/hlguard/dlls/hlguard_mm_i686.so
linux addons/hlguard/dlls/hlguard_mm_optimized_i686.so

;;AMX Mod X 1.60
win32 addons\amxmodx\dlls\amxmodx_mm.dll
linux addons/amxmodx/dlls/amxmodx_mm_i386.so

;;Logmod 0.7f
win32 addons\logmod\dlls\logmod_mm_i386.dll
linux addons/logmod/dlls/logmod_mm_i386.so

Względne ścieżki

Ten plik nie załadowałby żadnego pluginu (bo wszędzie są średniki, ale widac tu zastosowanie względnych ścieżek.

; AMX Mod
;win32 addons/amx/dlls/amx_mm.dll
;linux addons/amx/dlls/amx_mm_i386.so

;Pod Bot 3
;win32 addons/podbot/podbot_mm.dll
;linux addons/podbot/podbot_mm_i386.so

; RealBot with fix
;win32 ../realbot/dll/realbot_mm.dll
;linux ../realbot/dll/realbot_mm_i386.so


Problemy

meta: unknown command

Oznacza to, że metamod został niepoprawnie zainstalowany albo nie został uruchomiony. Sprawdź jeszcze raz instalację, a szczególnie liblist.gam.

badf load

meta list zwraca linie zawierające badf load - oznacza to, że dany plugin nie został załaodany. Najczęstszą przyczyną są:

  • nie znaleziono pliku - żle podałeś ściezkę do pliku w plugins.ini
  • nieprawidłowa wersja MetaModa - plugin wymaga nowszej wersji pluginu MetaMod.
  • plugin wymaga bilblioteki - np wymagane są na serwerze ddoatkowe bliblioteki jak libmysql , libsdc++ - naprawia się to porzez instalacje pakietów na serwerze.

plugin działa ale nic sie nie dzieje

Zładowany plugin pewnie wymaga dodatkowej konfiguracji w plikum konfiguracyjnym danego pluginu. Metamod za ciebie nie sprawdzi tego :D

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