SourceMod

Od HLDS.pl
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

Opis

SourceMod jest dodatkiem do serwerów Source, którego funkcjonalność ma być podobna jak AMX Mod X pod serwery Half-Life. Czyli umożliwia pisanie skryptów bazujących na języku Small/PAWN podobnie jak AMX Mod X. Jednakże nie będzie to AMX Mod X, tylko coś działającego na tej zasadzie.

Wymagania

  • SourceMod wymaga do działania zainstalowanego Metamod:Source w wersji co najmniej 1.4.2 lub wyższej.

Instalacja

Właściwie to cały proces instalacji sprowadza się do wrzucenia zawartości ściągniętego archiwum (trzeba pamiętać że archiwum .zip jest przeznaczone dla Windows a archiwum .tar.gz dla Linuxa) do folderu z grą, cstrike dla Counter-Strike: Source, dod dla Day of Defeat: Source, itp. itd.

Sprawdzanie Instalacji

Struktura folderów na serwerze powinna wyglądać mniej więcej tak:

  • [mod] - Folder twojego moda (cstrike, dod, itp.)
    • addons
      • metamod - Metamod:Source
        • sourcemod.vdf
      • sourcemod - SourceMod
        • bin
        • configs
        • data
        • extensions
        • gamedata
        • logs
        • plugins
        • scripting
        • translations
      • ... - Ewentualne inne mody

Gdy już wykonałeś(aś) poprzednie części instalacji trzeba teraz wyłączyć i włączyć serwer ponownie. Gdy serwer już się obudzi trzeba sprawdzić czy instalacja zakończyła się pomyślnie.

Po pierwsze w konsoli serwera trzeba wpisać:

meta list

Jeśli wszystko jest ok powinno wyświetlić się mniej więcej coś takiego:

] meta list
-Id- Name                  Version     Author           Status  
[01] SourceMod (1.1.0.2004) by AlliedModders LLC

Teraz będzie można używać głównych komend SourceModa, które można zobaczyć wpisując:

sm

Dla przykładu:

] sm version
SourceMod Version Information:
SourceMod Version: 1.1.0.2004
JIT Version: JIT (x86), 1.1.0.1997
JIT Settings: Generic i686
http://www.sourcemod.net/

Konfiguracja

Dodawanie Adminów

SourceMod posiada szczegółowy oraz skalowalny system administracji, który na pierwszy rzut oka może być nieco przerażający. Jednakże jakby mu się dokładniej przyjrzeć jest bardzo prosty i logiczny. Wszystko opiera się na "flagach" dostępu, dzięki którym można nadać specyficzne przywileje administratorom.

W tej chwili są trzy sposoby przechowywania adminów. Pierwszy sposób to "płaski" plik (tak jak w AMX i AMXX, drugi, bardziej kompleksowy, za pomocą pliku ze strukturą drzewa (tak jak w Mani Admin Plugin) oraz ostatni sposób, baza SQL (patrz SourceBans).

SourceMod wspiera standardowo trzy metody autoryzacji adminów:

  • SteamID (unikatowy dla kont Steam)
  • Adres IP (pół unikatowy, najlepszy dla sieci LAN)
  • Nick (wymaga ustawiania hasła)

Poziomy

Wpierw zobaczmy jak wyglądają flagi dostępu:

Nazwa Flaga Cel użycia
rezerwacja a Zapewnia dostęp do zarezerwowanego slotu.
Ogólna b Admin ogólny; flaga wymagana aby mieć admina.
kopanie c Można kopać innych graczy.
banowanie d Można banować innych graczy.
odbanowanie e Usuwanie banów.
zgładzenie f Natychmiastowe zabicie innych graczy.
zmiana mapy g Możliwość zmiany mapy i niektórych opcji gry.
cvar (zmienna) h Możliwość zmiany większości cvarów (zmiennych).
konfigi i Możliwość wczytywania plików konfiguracyjnych (konfigów).
chat j Możliwość używania pisania na środku ekranu itp.
głosowania k Rozpoczynanie i tworzenie głosowań.
hasło l Możliwość ustawienia hasła na serwer.
rcon m Możliwość użycia komend RCON.
oszustwa n Możliwość zmiany wartości opcji sv_cheats.
root z W magiczny sposób zawiera wszystkie powyższe flagi dostępu.

Immunitet

W SourceMod, system immunitetów bazowany jest na poziomach immunitetów. Każdy admin może mieć przypisany różny poziom immunitetu. Admin z wyższym poziomem immunitetu nie może byc celem admina o niższym poziomie.

Obrazowo można to przedstawić w następujący sposób. Admin #1 ma poziom immunitetu ustawiony na "3", Admin #2 ma immunitet ustawiony na "10. Admin #2 może wykopać/zbanować/zgładzić bez najmniejszych problemów Admina #1. Natomiast Admin #1 nie może nic zrobić adminowi #2. Liczby jakie są stosowane w poziomach immunitetu muszą być większe lub równe zeru, przy czym zero oznacza zawsze brak immunitetu.

Standardowo admini z tym samym poziomem immunitetu nie mogą sobie na wzajem nic zrobić. Opcja ta może zostać zmieniona za pomocą sm_immunity_mode w cfg/sourcemod.cfg.


Hasła

Aby hasła działały administrator serwera musi najpierw ustawić "PassInfoVar" w addons/sourcemod/configs/core.cfg. Na przykład:

"PassInfoVar"			"_sm1337"
Następnie jeśli admin posiada hasło musi je ustawić za pomocą setinfow konsoli. Na przykład, używając przykładu znajdującego się nieco niżej, BAILOPAN będzie musiał wpisać:
setinfo "_sm1337" "Gab3n"

Aby nie trzeba było nic wpisywać w konsoli gry przed połączeniem się do serwera można stworzyć plik "autoexec.cfg" w folderze gry. Plik powinien się znaleźć w katalogu SteamApps\Nazwa Konta\Nazwa Gry\Skrócona nazwa gry\cfg, czyli na przykład:

  • C:\program files\steam\steamapps\bailopan\counter-strike source\cstrike\cfg

Prości admini (Sposób "płaski")

Najprostszą drogą dodania administratorów prowadzi przez plik configs/admins_simple.ini. Wpis do "płaskiego" pliku jest o tyle prosty że wymaga on podania tylko dwóch parametrów na admina: informacji o autoryzacji oraz flag. Wpis z flagami jest na pewien sposób skalowalny i może wyglądać na jeden z poniższych sposobów:

  • Opcjonalna wartość poziomu immunitetu, poprzedzona znakiem dwukropka (':');
  • Ciąg liter z flagami;

lub

  • Nazwa grupy, poprzedzona symbolem '@'.

Poniżej kila przykładów:

"STEAM_0:1:16"		"bce"			//kop, ban, zgładzenie. bez immunitetu
"!127.0.0.1"		"5:z"			//wszystkie flagi dla tego IP, poziom immunitetu 5.
"BAILOPAN"		"abc"	"Gab3n"		//Nick BAILOPAN, hasło "Gab3n" (patrz rozdział Hasła): dostaje rezerwacje, kopy i bany.


Dokładni admini (plik ze strukturą drzewa)

Drugim sposobem jest dodanie adminów za pomocą pliku configs/admins.cfg, który jest bardziej zaawansowanym sposobem przechowywania kont administratorów. Każdy admin posiada tutaj swój blok wewnątrz głównego bloku "Admin". Format taki prezentuje się następująco:

Admins
{
	"Nazwa Admina"
	{
		"auth"		"[steam|nick|ip]"
		"identity"	"[unikalne id]"
		"[opcja1]"	"[wartość1]"
		"[opcja2]"	"[wartość2]"
		/* .... */
	}
}

Dostępne są następujące opcje:

  • auth: Wymagane. musi być jednym z następujących typów steam, name lub ip które mówią SourceMod jak ma interpretować wartość identity.
  • identity: Wymagane. Unikalna wartość pozwalająca nadać uprawnienia admina danej osobie.
  • password: Opcjonalne. Ustawia jakie hasło będzie wymagane aby nadać admina.
  • group: Opcjonalne. Precyzuje do jakiej grupy należny admin. Admin może należeć do kilku grup jednocześnie. Przed nazwą grup nie może być już symbol '@'.
  • flags: Opcjonalna. Domyslne flagi jakie otrzyma admin.
  • immunity: Opcjonalna. Domyslny poziom immunitetu jaki otrzyma admin.

Przykład:

Admins
{
	"BAILOPAN"
	{
		"auth"		"steam"
		"identity"	"STEAM_0:1:2345"
		"flags"		"abcdef"
		"immunity"	"5"
		"group"		"Niesamowici Admini"
	}

	"Niebieski Krab"
	{
		"auth"		"steam"
		"identity"	"STEAM_0:1:666"
		"flags"		"z"
		"immunity"	"99"
	}
}


Tłumaczenie

Niekompletne tłumaczenie SourceModa wykonane przez Zuko i Trawiatora.

SourceMod tlumaczenie

Linki

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