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.

Na dzień dzisiejszy projekt jest w fazie mocno raczkującej.

Wymagania

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

Instalacja

Na lokalnym komputerze

Aby zainstalować SourceMod'a na lokalnym komputerze po prostu trzeba wypakować archiwa .zip (Windows) lub .tar.gz (Linux) do folderu z grą (np. cstrike dla Counter-Strike: Source, dod dla Day of Defeat: Source, itp.).

Następnie otwórz addons/metamod/metaplugins.ini ze swojego ulubionego edytora tekstu (może być notatnik). Teraz dodaj tą linijkę:

addons/sourcemod/bin/sourcemod_mm

Zapisz zmiany w pliku i zamknij go.

Na zdalnym serwerze

Aby zainstalować SourceMod na zdalnym komputerze musisz wpierw wypakować archiwum .zip (Windows) lub .tar.gz (Linux) na swoim komputerze (dla przykładu, na Pulpit). Po rozpakowaniu pojawi się folder addons.

Używając jakiegoś klienta FTP znajdź folder z grą (no. cstrike for Counter-Strike: Source, dod dla Day of Defeat: Source, itp.). Teraz prześlij na serwer cały katalog addons.

Następnie wejdź do katalogu addons/metamod/ (jeśli nie masz takiego oznacza to że Metamod:Source nie jest zainstalowany, musisz go zainstalować) i ściągnij plik metaplugins.ini na swój komputer. Otwórz ściągnięty plik np. notatnikiem i dodaj w nim następującą linijkę:

addons/sourcemod/bin/sourcemod_mm

Zapisz zmiany w pliku, zamknij go i wyślij z powrotem na serwer nadpisując starszą wersję.

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 - SourceMod
      • ... - 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.0.0.571   AlliedModders,   RUN     

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.0.0.571
    JIT Version: JIT (x86), 1.0.0.431
    JIT Settings: Generic 80486
    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