SourceMod
(Cały art był do dupy.....) |
(→Komendy Admina) |
||
(Nie pokazano 30 wersji utworzonych przez 4 użytkowników) | |||
Linia 1: | Linia 1: | ||
+ | {{stub}} | ||
+ | |||
+ | |||
=Opis= | =Opis= | ||
− | SourceMod | + | '''SourceMod''' jest dodatkiem do serwera [[SRCDS]], którego podstawową funkcja jest administracja serwerem. Jednakże można go dosłownie napchać masą dodatków zmieniając prawie wszystkie aspekty w grze - od rozszerzenia i uproszczenia komend w administracji, poprzez restrykcje broni, kończąc na totalnych konwersjach, gdzie ostateczny wygląd gry zupełnie nie przypomina oryginalnej rozgrywki. |
− | Na | + | =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 [[Linux]]a) do folderu z grą, <tt>cstrike</tt> dla [[Counter-Strike: Source]], <tt>dod</tt> dla [[Day of Defeat: Source]], <tt>orangebox/tf</tt> dla [[Team Fortress 2]] itp. itd. | ||
+ | |||
+ | ==Sprawdzanie Instalacji== | ||
+ | Struktura folderów na serwerze powinna wyglądać mniej więcej tak: | ||
+ | *<tt>[mod]</tt> - Folder twojego moda (cstrike, dod, itp.) | ||
+ | **<tt>addons</tt> | ||
+ | ***<tt>metamod</tt> - [[Metamod:Source]] | ||
+ | ****<tt>sourcemod.vdf</tt> | ||
+ | ***<tt>sourcemod</tt> - SourceMod | ||
+ | ****<tt>bin</tt> | ||
+ | ****<tt>configs</tt> | ||
+ | ****<tt>data</tt> | ||
+ | ****<tt>extensions</tt> | ||
+ | ****<tt>gamedata</tt> | ||
+ | ****<tt>logs</tt> | ||
+ | ****<tt>plugins</tt> | ||
+ | ****<tt>scripting</tt> | ||
+ | ****<tt>translations</tt> | ||
+ | ***<tt>...</tt> - 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ć: | ||
+ | <pre>meta list</pre> | ||
+ | |||
+ | Jeśli wszystko jest ok powinno wyświetlić się mniej więcej coś takiego: | ||
+ | <pre>] meta list | ||
+ | -Id- Name Version Author Status | ||
+ | [01] SourceMod (1.1.0.2004) by AlliedModders LLC</pre> | ||
+ | |||
+ | Teraz będzie można używać głównych komend SourceModa, które można zobaczyć wpisując: | ||
+ | <pre>sm</pre> | ||
+ | |||
+ | Dla przykładu: | ||
+ | <pre>] 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/ | ||
+ | </pre> | ||
+ | |||
+ | =Aktualizacja= | ||
+ | Przy aktualizacji SourceModa kompatybilność z poprzednimi wersjami jest zachowana, no może poza bardzo rzadkimi wyjątkami. | ||
+ | |||
+ | * Jeśli aktualizujesz do wersji stabilnej (nie do nocnych zrzutów) sprawdź informację o wydaniu w celu znalezienia dokładnych instrukcji. | ||
+ | *Zaktualizuj wszystkie pliki typu <tt>.so</tt>/<tt>.dll</tt> w poniższych folderach: | ||
+ | **<tt>sourcemod/bin</tt> | ||
+ | **<tt>sourcemod/extensions</tt> | ||
+ | * Zaktualizuj wszystkie pliki <tt>.txt</tt> w folderze <tt>sourcemod/gamedata</tt>. | ||
+ | * Zaktualizuj wszystkie pliki <tt>.txt</tt> w folderze <tt>sourcemod/translations</tt>. | ||
+ | * Zaktualizuj wszystkie standardowe pliki <tt>.smx</tt> w folderze <tt>sourcemod/plugins</tt>. | ||
+ | * Przeczytaj informację o wydaniu aby dowiedzieć się czy jakieś pliki konfiguracyjne zostały zmienione. Jeśli tak, trzeba sprawdzić jaki co się zmieniło aby to poprawnie ustawić. | ||
+ | |||
+ | |||
+ | '''Nota:''' Jeśli jakiś plugin przestał działać po aktualizacji SourceModa wyślij informacje do twórców, oni zajmą się tym. | ||
+ | |||
+ | '''Nota:''' jest niezwykle ważne aby uaktualnić wszystkie pliki w folderze <tt>gamedata</tt>, pliki te odpowiadają za współpracę z konkretnymi modami na których działa SourceMod. | ||
+ | |||
+ | =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) | ||
+ | *''[[IP|Adres IP]]'' (pół unikatowy, najlepszy dla sieci LAN) | ||
+ | *''Nick'' (wymaga ustawiania hasła) | ||
+ | |||
+ | ===Poziomy=== | ||
+ | Wpierw zobaczmy jak wyglądają flagi dostępu: | ||
+ | :{| {{Szablon:Tabelka}} | ||
+ | |- {{Szablon:TabelkaNaglowek}} | ||
+ | |Nazwa | ||
+ | |Flaga | ||
+ | | Cel użycia | ||
+ | |- class="t2td" | ||
+ | | rezerwacja | ||
+ | | a | ||
+ | | Zapewnia dostęp do zarezerwowanego slotu. | ||
+ | |- class="t2td" | ||
+ | | Ogólna | ||
+ | | b | ||
+ | | Admin ogólny; flaga wymagana aby mieć admina. | ||
+ | |- class="t2td" | ||
+ | | kopanie | ||
+ | | c | ||
+ | | Można kopać innych graczy. | ||
+ | |- class="t2td" | ||
+ | | banowanie | ||
+ | | d | ||
+ | | Można banować innych graczy. | ||
+ | |- class="t2td" | ||
+ | | odbanowanie | ||
+ | | e | ||
+ | | Usuwanie banów. | ||
+ | |- class="t2td" | ||
+ | | zgładzenie | ||
+ | | f | ||
+ | | Natychmiastowe zabicie innych graczy. | ||
+ | |- class="t2td" | ||
+ | | zmiana mapy | ||
+ | | g | ||
+ | | Możliwość zmiany mapy i niektórych opcji gry. | ||
+ | |- class="t2td" | ||
+ | | cvar (zmienna) | ||
+ | | h | ||
+ | | Możliwość zmiany większości cvarów (zmiennych). | ||
+ | |- class="t2td" | ||
+ | | konfigi | ||
+ | | i | ||
+ | | Możliwość wczytywania plików konfiguracyjnych (konfigów). | ||
+ | |- class="t2td" | ||
+ | | chat | ||
+ | | j | ||
+ | | Możliwość używania pisania na środku ekranu itp. | ||
+ | |- class="t2td" | ||
+ | | głosowania | ||
+ | | k | ||
+ | | Rozpoczynanie i tworzenie głosowań. | ||
+ | |- class="t2td" | ||
+ | | hasło | ||
+ | | l | ||
+ | | Możliwość ustawienia hasła na serwer. | ||
+ | |- class="t2td" | ||
+ | | rcon | ||
+ | | m | ||
+ | | Możliwość użycia komend [[RCON]]. | ||
+ | |- class="t2td" | ||
+ | | oszustwa | ||
+ | | n | ||
+ | | Możliwość zmiany wartości opcji sv_cheats. | ||
+ | |- class="t2td" | ||
+ | | 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ą <tt>sm_immunity_mode</tt> w <tt>cfg/sourcemod.cfg</tt>. | ||
+ | |||
+ | |||
+ | ===Hasła=== | ||
+ | Aby hasła działały administrator serwera musi najpierw ustawić "PassInfoVar" w <tt>addons/sourcemod/configs/core.cfg</tt>. Na przykład: | ||
+ | <pre>"PassInfoVar" "_sm1337"</pre> | ||
+ | |||
+ | Następnie jeśli admin posiada hasło musi je ustawić za pomocą ''setinfo''w konsoli. Na przykład, używając przykładu znajdującego się nieco niżej, <tt>BAILOPAN</tt> będzie musiał wpisać: <pre>setinfo "_sm1337" "Gab3n"</pre> | ||
+ | |||
+ | 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 <tt>SteamApps\Nazwa Konta\Nazwa Gry\Skrócona nazwa gry\cfg</tt>, czyli na przykład: | ||
+ | *<tt>C:\program files\steam\steamapps\bailopan\counter-strike source\cstrike\cfg</tt> | ||
+ | |||
+ | ===Prości admini (Sposób "płaski")=== | ||
+ | Najprostszą drogą dodania administratorów prowadzi przez plik <tt>configs/admins_simple.ini</tt>. 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: | ||
+ | <pre> | ||
+ | "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. | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ===Dokładni admini (plik ze strukturą drzewa)=== | ||
+ | Drugim sposobem jest dodanie adminów za pomocą pliku <tt>configs/admins.cfg</tt>, 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: | ||
+ | |||
+ | <pre>Admins | ||
+ | { | ||
+ | "Nazwa Admina" | ||
+ | { | ||
+ | "auth" "[steam|nick|ip]" | ||
+ | "identity" "[unikalne id]" | ||
+ | "[opcja1]" "[wartość1]" | ||
+ | "[opcja2]" "[wartość2]" | ||
+ | /* .... */ | ||
+ | } | ||
+ | }</pre> | ||
+ | |||
+ | Dostępne są następujące opcje: | ||
+ | *<tt>auth</tt>: Wymagane. musi być jednym z następujących typów <tt>steam</tt>, <tt>name</tt> lub <tt>ip</tt> które mówią SourceMod jak ma interpretować wartość <tt>identity</tt>. | ||
+ | *<tt>identity</tt>: Wymagane. Unikalna wartość pozwalająca nadać uprawnienia admina danej osobie. | ||
+ | *<tt>password</tt>: Opcjonalne. Ustawia jakie hasło będzie wymagane aby nadać admina. | ||
+ | *<tt>group</tt>: 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 '@'. | ||
+ | *<tt>flags</tt>: Opcjonalna. Domyslne flagi jakie otrzyma admin. | ||
+ | *<tt>immunity</tt>: Opcjonalna. Domyslny poziom immunitetu jaki otrzyma admin. | ||
+ | |||
+ | Przykład: | ||
+ | <pre>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" | ||
+ | } | ||
+ | }</pre> | ||
+ | |||
+ | ==Rezerwacja Slotów== | ||
+ | ===Komendy=== | ||
+ | |||
+ | *[[#Typ Rezerwacji|sm_reserve_type <0|1|2>]] | ||
+ | *[[#Zarezerwowane Sloty|sm_reserved_slots <#>]] | ||
+ | *[[#Ukryte Sloty|sm_hide_slots <0|1>]] | ||
+ | *[[#Ilość Adminów|sm_reserve_maxadmins <#>]] | ||
+ | *[[#Sposób Usuwania z Serwera|sm_reserve_kicktype <0|1|2>]] | ||
+ | |||
+ | ===Typ Rezerwacji=== | ||
+ | |||
+ | sm_reserve_type <0|1> | ||
+ | |||
+ | Ta zmienna kontroluje w jaki sposób rezerwacja slotów działa na serwerze (standardowo ustawiona jest na 0). | ||
+ | |||
+ | * <tt>sm_reserve_type 0</tt> | ||
+ | |||
+ | Sloty publiczne będą zajmowane przed slotami zarezerwowanymi, natomiast sloty zarezerwowane będą zwalniane jako pierwsze. | ||
+ | Raz zajęty slot będzie "okupowany" przez gracza póki nie wyjdzie on z gry, nikt na serwerze nie będzie dostawał kopów aby zrobić miejsce. | ||
+ | Jeśli serwer jest pełny i wszystkie sloty zarezerwowane zajęte to osoba która mimo posiadania rezerwacji slota nie połączy się. | ||
+ | |||
+ | * <tt>sm_reserve_type 1</tt> | ||
+ | |||
+ | Jeśli ktoś z rezerwacją slota połączy się, gracz z najwyższym pingiem i bez rezerwacji slota zostanie wykopany (na pierwszy ogień idą obserwatorzy) aby zwolnić miejsce. W tym wypadku zarezerwowane sloty są zawsze wolne, dzięki temu na serwer w każdej chwili może wejść osoba z rezerwacją slota. | ||
+ | |||
+ | * <tt>sm_reserve_type 2</tt> - Dostępne w SourceMod 1.1 i wyższych. | ||
+ | |||
+ | W zasadzie to samo co sm_reserve_type 1 za wyjątkiem tego, że jeśli wyczerpie się ilość slotów (patrz sm_reserve_maxadmins), plugin przestanie wykopywać graczy i zacznie się zachowywać jak sm_reserve_type 0. | ||
+ | |||
+ | ===Zarezerwowane Sloty=== | ||
+ | |||
+ | sm_reserved_slots <#> | ||
+ | |||
+ | Ta zmienna kontroluje ile slotów ma być zarezerwowanych (standardowo 0) | ||
+ | |||
+ | W użyciu z sm_reserve_type 0 ustawia ile osób może podłączyć się z serwerem gdy będą zapełnione sloty publiczne. | ||
+ | W użyciu z sm_reserve_type 1 ustawia ile slotów jest zarezerwowanych dla przełączania adminów (możesz potrzebować więcej niż jednego). | ||
+ | |||
+ | ===Ukryte Sloty=== | ||
+ | |||
+ | sm_hide_slots <0|1> | ||
+ | |||
+ | Kontroluje czy plugin ma ukrywać zarezerwowane sloty (standardowo 0). | ||
+ | |||
+ | Jeśli ukrywanie slotów jest włączone to sloty ukryte nie są widoczne w przeglądarce serwerów. Na przykład jeśli serwer ma 24 sloty, z czego są 2 zarezerwowane to w przeglądarce serwerów będzie widoczny jak by miał 22 sloty. | ||
+ | Aby połączyć się z takim serwerem trzeba w konsoli wpisać 'connect ip:port' (np. 'connect 192.168.1.100:27015') | ||
+ | |||
+ | Niestety nie ma możliwość zrobienia aby slot był ukryty dla zwykłego gracza a widoczny dla admina. Autoryzacja admina odbywa się dopiero gdy ten się w pełni połączy z serwerem i SourceMod może sprawdzić SteamID. Z tego powodu lepiej jest ukrywać sloty, zapobiegnie to łączeniu się a później wykopaniu zwykłych graczy oraz umożliwi w pełni używanie funkcji ‘autojoin’. | ||
+ | |||
+ | ===Ilość Adminów=== | ||
+ | |||
+ | sm_reserve_maxadmins <#> - Dostępne w SourceMod 1.1 i wyższych. | ||
+ | |||
+ | Ta zmienna kontroluje ile adminów może się połączyć na zarezerwowany slot (tylko w przypadku ustawienia sm_reserve_type 2). | ||
+ | |||
+ | ===Sposób Usuwania z Serwera=== | ||
+ | |||
+ | sm_reserve_kicktype <0|1|2> - Dostępne w SourceMod 1.1 i wyższych. | ||
+ | |||
+ | Ta zmienna kontroluje na jakiej podstawie gracze będą usuwani z serwera (tylko dla sm_reserve_type 1 i 2). | ||
+ | |||
+ | 0 - Najwyższy Ping | ||
+ | 1 - Najdłużej Grający | ||
+ | 2 - Losowy Gracz | ||
+ | |||
+ | Gracze z rezerwacją slota oraz gracze posiadający 'sm_reskick_immunity' nie mogą zostać wykopani. Obserwatorzy są wykopywani zawsze przed grającymi. | ||
+ | |||
+ | ===Immunitet=== | ||
+ | |||
+ | |||
+ | Aby uniemożliwić wykopanie gracza z powodu rezerwacji slotów trzeba my nadać/nadpisać dostęp do 'sm_reskick_immunity' (użytkownicy z flagą 'root' i rezerwacją slotów są już "odporni"). | ||
+ | |||
+ | Notka: Ma to zastosowanie tylko przy sm_reserve_type 1 i 2. | ||
+ | |||
+ | Można bardzo łatwo nadpisać dostęp używając admin_overrides.cfg (np. "sm_reskick_immunity" "o" - aby dać wszystkim użytkownikom z flagą 'o' (własna flaga 1) immunitet na rezerwacje slota). | ||
+ | |||
+ | Lub | ||
+ | |||
+ | Nadać dostęp grupie przez dopisanie w admin_groups.cfg (np. "sm_reskick_immunity" "allow") | ||
+ | |||
+ | ==Lista Pluginów== | ||
+ | Poniżej jest przedstawiona lista standardowych pluginów jakie oferuje SourceMod. | ||
+ | |||
+ | Pluginy z '''wytłuszczoną''' nazwą nie myszą być wyłączane podczas trwania meczy, nie przeszkadzają w niczym ani nie dają przewagi. | ||
+ | |||
+ | ===Standardowe Pluginy=== | ||
+ | {| {{Szablon:Tabelka}} | ||
+ | |- {{Szablon:TabelkaNaglowek}} | ||
+ | |Plugin | ||
+ | |Opis Pluginu | ||
+ | |- class="t2td" | ||
+ | | '''admin-flatfile''' | ||
+ | | Ładuje listę adminów z pliku konfiguracyjnego. | ||
+ | |- class="t2td" | ||
+ | | '''adminhelp''' | ||
+ | | Udostępnia komendę sm_help (lista wszystkich komend wraz z opisem). | ||
+ | |- class="t2td" | ||
+ | | '''adminmenu''' | ||
+ | | Zapewnia menu admina oraz główne funkcje. | ||
+ | |- class="t2td" | ||
+ | | antiflood | ||
+ | | Zapobiega spamowaniu na chacie w grze przez graczy. | ||
+ | |- class="t2td" | ||
+ | | '''basebans''' | ||
+ | | Zapewnia podstawowe komendy banowania oraz menu banowania. | ||
+ | |- class="t2td" | ||
+ | | basechat | ||
+ | | Zapewnia komendy do pisania na ekranie. | ||
+ | |- class="t2td" | ||
+ | | basecomm | ||
+ | | Umożliwia zarządzanie komunikacją głosową graczy. | ||
+ | |- class="t2td" | ||
+ | | '''basecommands''' | ||
+ | | Zapewnia podstawowe komendy administracyjne (np. zmianę mapy, zmianę ustawień, kopanie graczy). | ||
+ | |- class="t2td" | ||
+ | | basetriggers | ||
+ | | Odpowiada za obsłygę zdarzeń na chacie takich jak "nextmap", "thetime" i "timeleft". | ||
+ | |- class="t2td" | ||
+ | | basevotes | ||
+ | | Zapewnia podstawowe komendy do głosowania (np na zmianę mapy). | ||
+ | |- class="t2td" | ||
+ | | funcommands | ||
+ | | Zapewnia "śmieszne" komendy np. slapowanie. | ||
+ | |- class="t2td" | ||
+ | | funvotes | ||
+ | | Zapewnia głosowania na "śmieszne" dla zabawy. | ||
+ | |- class="t2td" | ||
+ | | '''nextmap''' | ||
+ | | Pozwala adminom lub innym pluginom na dynamiczne zarządzanie mapcyklem. | ||
+ | |- class="t2td" | ||
+ | | reservedslots | ||
+ | | Udostępnia zarezerwowane sloty dla adminów (lub uprzywilejowanych graczy). | ||
+ | |} | ||
+ | |||
+ | ===Ekstra Pluginy=== | ||
+ | Poniższe pluginy są standardowo wyłączone i znajdują się w <tt>addons/sourcemod/plugins/disabled</tt>, aby ich użyć trzeba je wkleić do folderu z pluginami. | ||
+ | |||
+ | {| {{Szablon:Tabelka}} | ||
+ | |- {{Szablon:TabelkaNaglowek}} | ||
+ | |Plugin | ||
+ | |Opis Pluginu | ||
+ | |- class="t2td" | ||
+ | | '''admin-sql-prefetch''' | ||
+ | | Ładuje adminów z bazy SQL podczas zmiany mapy. Jeśli ten plugin jest włączony to <tt>admin-sql-threaded</tt> musi być wyłączony. | ||
+ | |- class="t2td" | ||
+ | | '''admin-sql-threaded''' | ||
+ | | Ładuje adminów z bazy SQL dynamicznie, podczas połączenia się gracza z serwerem. Jeśli ten plugin jest włączony to <tt>admin-sql-prefetch</tt> musi być wyłączony. | ||
+ | |- class="t2td" | ||
+ | | mapchooser | ||
+ | | Zapewnia automatyczny system głosowań na następną mapę. | ||
+ | |- class="t2td" | ||
+ | | randomcycle | ||
+ | | Losuje nastepną mapę z mapcyklu. | ||
+ | |- class="t2td" | ||
+ | | rockthevote | ||
+ | | Zapewnia system głosowań na mapę zainicjowany przez graczy. | ||
+ | |} | ||
+ | |||
+ | |||
+ | =Komendy w SourceModzie= | ||
+ | W tej części znajduje się lista najważniejszych komend admina jakie dostarcza SourceMod. | ||
+ | |||
+ | '''Komendy na chacie''': Należy pamiętać, że nie wszystkie komendy muszą być wpisywane w konsoli; mają swój skrót, który można wpisać na chacie. Na przykład przez wpisanie na chacie !ban bail da ten sam efekt co wykonanie komendy "sm_ban bail" i wyświetlenie informacji o banie na chacie. Można także używać przedrostka "/" zamiast "!" aby nie było widać komendy wpisanej na chacie. | ||
+ | |||
+ | ==Jak wybrać cel== | ||
+ | |||
+ | '''Cele ogólne''': | ||
+ | <ul> | ||
+ | <li>name - Dokładna nazwa (nick) gracza lub też unikalna część jego nazwy.</li> | ||
+ | <li>#userid - Numer użytkownika na serwerze (można go wyszukać za pomocą komendy "users").</li> | ||
+ | <li>#steamid - Po prostu [[SteamID]]. Jeśli wpisując SteamID używasz dwukropków (:) musisz całe ID umieścić w cudzysłowach ewentualnie możesz także użyć podkreśleń (_). Przykłady:<tt>"#STEAM_0:1:4433"</tt>, <tt>#STEAM_0_1_4433</tt></li> | ||
+ | <li>#<name> - Dokładna nazwa poprzedzona znakiem #. | ||
+ | <li>@all - Wszyscy gracze an serwerze (dostępne dla większości komend).</li> | ||
+ | <li>@bots - Wszystkie boty na serwerze (dostępne dla większości komend).</li> | ||
+ | <li>@alive - Wszyscy żywi gracze (dostępne dla większości komend akceptujących żywych graczy).</li> | ||
+ | <li>@dead - Wszyscy martwi gracze (dostępne dla większości komend akceptujących martwych graczy).</li> | ||
+ | <li>@humans - Wszyscy użytkownicy "nie boty" (dostępne dla większości komend).</li> | ||
+ | <li>@aim - Osoba będąca w tej chwili na celowniku.</li> | ||
+ | <li>@me - Osoba wpisująca komende.</li> | ||
+ | <li>@!me - Wszyscy oprócz osoby wpisującej komendę.</li> | ||
+ | </ul> | ||
+ | |||
+ | Trzeba pamiętać, że cele zaczynające się od # i @ są uprzywilejowane. Oznacza to, że jeśli ktoś będzie miał nicka "@all" i w konsoli wpisane zostanie np. sm_slay @all to zginą wszyscy gracze na serwerze a nie tylko ten gracz. W takim wypadku trzeba użyć polecenia sm_slay "#@all". | ||
+ | |||
+ | '''Tylko dla [[Counter-Strike: Source]]''': | ||
+ | <ul> | ||
+ | <li>@ct lub @cts - Wszyscy antyterroryści</li> | ||
+ | <li>@t lub @ts - Wszyscy terroryści</li> | ||
+ | </ul> | ||
+ | |||
+ | '''Tylko dla [[Team Fortress 2]]''': | ||
+ | <ul> | ||
+ | <li>@red - Wszyscy w drużynie RED</li> | ||
+ | <li>@blue - Wszyscy w drużynie BLU</li> | ||
+ | </ul> | ||
+ | |||
+ | |||
+ | ==Podstawowe komendy== | ||
+ | |||
+ | {| {{Szablon:Tabelka}} | ||
+ | |- {{Szablon:TabelkaNaglowek}} | ||
+ | | Komenda | ||
+ | | Plugin | ||
+ | | Dostęp | ||
+ | | Format | ||
+ | | Opis | ||
+ | |- class="t2td" | ||
+ | | sm_addban | ||
+ | | basebans | ||
+ | | rcon | ||
+ | | <czas> <steamid> [przyczyna] | ||
+ | | Dodaje SteamID do listy banów. | ||
+ | |- class="t2td" | ||
+ | | sm_admin | ||
+ | | adminmenu | ||
+ | | admin | ||
+ | | | ||
+ | | Wyświetla menu admin. | ||
+ | |- class="t2td" | ||
+ | | sm_ban | ||
+ | | basebans | ||
+ | | ban | ||
+ | | <nowiki><#userid|name> <minuty|0> </nowiki>[przyczyna] | ||
+ | | Bans a client. | ||
+ | |- class="t2td" | ||
+ | | sm_banip | ||
+ | | basebans | ||
+ | | rcon | ||
+ | | <nowiki><ip|#userid|name> <czas></nowiki> [przyczyna] | ||
+ | | Dodaje bana na adres IP. | ||
+ | |- class="t2td" | ||
+ | | sm_cancelvote | ||
+ | | basecommands | ||
+ | | vote | ||
+ | | | ||
+ | | Anuluje każde głosowanie będące aktualnie w toku. | ||
+ | |- class="t2td" | ||
+ | | sm_cvar | ||
+ | | basecommands | ||
+ | | cvar | ||
+ | | <cvar> [wartość] | ||
+ | | Zwraca obecną wartość zmiennych lub nadaje im pożądaną wartość. Chronione zmienne mogą być ustawiane tylko dostępem rcon, sv_cheats może byc ustawiony tylko z dostępem "cheat access:. | ||
+ | |- class="t2td" | ||
+ | | sm_execcfg | ||
+ | | basecommands | ||
+ | | config | ||
+ | | <nazwa pliku> | ||
+ | | Wykonuje plik konfiguracyjny (ścieżka nie jest potrzebna, rozszerzenie już tak). | ||
+ | |- class="t2td" | ||
+ | | sm_help | ||
+ | | adminhelp | ||
+ | | admin | ||
+ | | <nowiki>[strona|szukana komenda]</nowiki> | ||
+ | | Wyświetla wszystkie komendy admina raz z opisami. Wyświetlana pomoc jest podzielona na strony. Można także wyszukiwać jakiejś komendy. | ||
+ | |- class="t2td" | ||
+ | | sm_kick | ||
+ | | basecommands | ||
+ | | kick | ||
+ | | <nowiki><#userid|name></nowiki> [przyczyna] | ||
+ | | Kopie wybranego gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_map | ||
+ | | basecommands | ||
+ | | map | ||
+ | | <map> | ||
+ | | Zmienia obecna mapę. | ||
+ | |- class="t2td" | ||
+ | | sm_rcon | ||
+ | | basecommands | ||
+ | | rcon | ||
+ | | <argumenty> | ||
+ | | Wykonuje komendę na serwerze jak za pomocą [[RCON]]a. Z powodu ograniczeń silnika [[Source]] nie można zobaczyć danych zwróconych za pomocą tej komendy. | ||
+ | |- class="t2td" | ||
+ | | sm_reloadadmins | ||
+ | | basecommands | ||
+ | | config | ||
+ | | | ||
+ | | Odświeża listę administratorów. | ||
+ | |- class="t2td" | ||
+ | | sm_unban | ||
+ | | basebans | ||
+ | | unban | ||
+ | | <steamid> | ||
+ | | Odbanowuje SteamID. | ||
+ | |- class="t2td" | ||
+ | | sm_who | ||
+ | | basecommands | ||
+ | | admin | ||
+ | | <nowiki>[#userid|name]</nowiki> | ||
+ | | Wyświetla wszystkich użytkowników i ich prawa na serwerze. | ||
+ | |} | ||
+ | |||
+ | ==Rozszerzone komendy== | ||
+ | |||
+ | {| {{Szablon:Tabelka}} | ||
+ | |- {{Szablon:TabelkaNaglowek}} | ||
+ | | Komenda | ||
+ | | Plugin | ||
+ | | Dostęp | ||
+ | | Format | ||
+ | | Opis | ||
+ | |- class="t2td" | ||
+ | | sm_beacon | ||
+ | | funcommands | ||
+ | | slay | ||
+ | | <cel> | ||
+ | | Dodaje łatwy do zauważenia pierścień wokół gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_burn | ||
+ | | funcommands | ||
+ | | slay | ||
+ | | <cel> [czas] | ||
+ | | Ustawia gracza w ogniu na pewien okres czasu (nie dłużej niż do śmierci). Może nie działać w niektórych grach, np. w TF2 brakuje spritea ognia ale gracze tracą życie. | ||
+ | |- class="t2td" | ||
+ | | sm_chat | ||
+ | | basechat | ||
+ | | chat | ||
+ | | <wiadomość> | ||
+ | | Wysyła wiadomość na chacie tylko do adminów. | ||
+ | |- class="t2td" | ||
+ | | sm_csay | ||
+ | | basechat | ||
+ | | chat | ||
+ | | <wiadomość> | ||
+ | | Wysyła wiadomość na środku ekranu do wszystkich graczy. | ||
+ | |- class="t2td" | ||
+ | | sm_gag | ||
+ | | basecomm | ||
+ | | chat | ||
+ | | <cel> | ||
+ | | Uniemożliwia graczowi pisanie na chacie. | ||
+ | |- class="t2td" | ||
+ | | sm_hsay | ||
+ | | basechat | ||
+ | | chat | ||
+ | | <wiadomość> | ||
+ | | Wysyła wiadomość do wszystkich graczy w specjalnej otoczce. | ||
+ | |- class="t2td" | ||
+ | | sm_msay | ||
+ | | basechat | ||
+ | | chat | ||
+ | | <wiadomość> | ||
+ | | Wysyła wiadomość do graczy jako menu w grze (tylko dla gier obsługujących to menu). | ||
+ | |- class="t2td" | ||
+ | | sm_mute | ||
+ | | basecomm | ||
+ | | chat | ||
+ | | <cel> | ||
+ | | Uniemożliwia graczowi mówienie do mikrofonu. | ||
+ | |- class="t2td" | ||
+ | | sm_play | ||
+ | | sounds | ||
+ | | admin | ||
+ | | <cel> <plik> | ||
+ | | Odtwarza na serwerze dźwięk dla wszystkich graczy. | ||
+ | |- class="t2td" | ||
+ | | sm_psay | ||
+ | | basechat | ||
+ | | chat | ||
+ | | <cel> <wiadomość> | ||
+ | | Wysyła prywatną wiadomość do pojedynczego gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_rename | ||
+ | | playercommands | ||
+ | | slay | ||
+ | | <nowiki><#userid|name></nowiki> | ||
+ | | Zmienia nazwę graczowi. | ||
+ | |- class="t2td" | ||
+ | | sm_resetcvar | ||
+ | | basecommands | ||
+ | | cvar | ||
+ | | <nowiki><cvar></nowiki> | ||
+ | | Ustawia wartość zmiennej na domyślną. | ||
+ | |- class="t2td" | ||
+ | | sm_say | ||
+ | | basechat | ||
+ | | chat | ||
+ | | <wiadomość> | ||
+ | | Wysyła wiadomość na chacie do wszystkich graczy. | ||
+ | |- class="t2td" | ||
+ | | sm_silence | ||
+ | | basecomm | ||
+ | | chat | ||
+ | | <cel> | ||
+ | | Uniemożliwia pisanie na chacie i komunikację głosową graczowi. | ||
+ | |- class="t2td" | ||
+ | | sm_slap | ||
+ | | playercommands | ||
+ | | slay | ||
+ | | <cel> [obrażenia] | ||
+ | | Daje klapsa graczowi za zadaną ilość obrażeń. | ||
+ | |- class="t2td" | ||
+ | | sm_slay | ||
+ | | playercommands | ||
+ | | slay | ||
+ | | <cel> | ||
+ | | Zabija gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_tsay | ||
+ | | basechat | ||
+ | | chat | ||
+ | | [color] <wiadomość> | ||
+ | | Wysyła kolorową wiadomość do wszystkich graczy. Jeśli kolor nie jest sprecyzowany wiadomość będzie biała. Lista kolorów: white, red, green, blue, yellow, purple, cyan, orange, pink, olive, lime, violet, lightblue. | ||
+ | |- class="t2td" | ||
+ | | sm_ungag | ||
+ | | basecomm | ||
+ | | chat | ||
+ | | <cel> | ||
+ | | Pozwala graczowi znów pisać na chacie. | ||
+ | |- class="t2td" | ||
+ | | sm_unmute | ||
+ | | basecomm | ||
+ | | chat | ||
+ | | <cel> | ||
+ | | Pozwala graczowi znów rozmawiać przez mikrofon. | ||
+ | |- class="t2td" | ||
+ | | sm_unsilence | ||
+ | | basecomm | ||
+ | | chat | ||
+ | | <cel> | ||
+ | | Pozwala graczowi znów pisać na chacie i używać komunikacji głosowej. | ||
+ | |} | ||
+ | |||
+ | ==Komendy do głosowań== | ||
+ | |||
+ | {| {{Szablon:Tabelka}} | ||
+ | |- {{Szablon:TabelkaNaglowek}} | ||
+ | | Komenda | ||
+ | | Plugin | ||
+ | | Dostęp | ||
+ | | Format | ||
+ | | Opis | ||
+ | |- class="t2td" | ||
+ | | sm_vote | ||
+ | | basevotes | ||
+ | | vote | ||
+ | | <pytanie> [odpoweidź1] [odpoweidź2] [odpoweidź3] ... | ||
+ | | Zaczyna głosowanie na zadeklarowane odpowiedzi. | ||
+ | |- class="t2td" | ||
+ | | sm_votealltalk | ||
+ | | funvotes | ||
+ | | vote | ||
+ | | | ||
+ | | Rozpoczyna głosowanie czy zmienić wartość sv_alltalk. | ||
+ | |- class="t2td" | ||
+ | | sm_voteban | ||
+ | | basevotes | ||
+ | | vote, ban | ||
+ | | <cel> [przyczyna] | ||
+ | | Rozpoczyna głosowanie o bana na 30 minut dla danego gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_voteburn | ||
+ | | funvotes | ||
+ | | vote, slay | ||
+ | | <cel> | ||
+ | | Rozpoczyna głosowanie czy podpalić gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_voteff | ||
+ | | funvotes | ||
+ | | vote | ||
+ | | | ||
+ | | Rozpoczyna głosowanie czy zmienić wartość mp_friendlyfire. | ||
+ | |- class="t2td" | ||
+ | | sm_votegravity | ||
+ | | funvotes | ||
+ | | vote | ||
+ | | <wartość> [wartość2] [wartość3] ... | ||
+ | | Rozpoczyna głosowanie czy zmienić wartość sv_gravity. | ||
+ | |- class="t2td" | ||
+ | | sm_votekick | ||
+ | | basevotes | ||
+ | | vote, kick | ||
+ | | <cel> [przyczyna] | ||
+ | | Rozpoczyna głosowanie czy wykopać gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_votemap | ||
+ | | basevotes | ||
+ | | vote, map | ||
+ | | <mapa> [mapa2] [mapa3] ... | ||
+ | | Rozpoczyna głosowanie czy zmienić mapę. | ||
+ | |- class="t2td" | ||
+ | | sm_voteslay | ||
+ | | funvotes | ||
+ | | vote, slay | ||
+ | | <cel> | ||
+ | | Rozpoczyna głosowanie czy zgładzić gracza. | ||
+ | |} | ||
+ | |||
+ | ==Komendy publiczne== | ||
+ | {| {{Szablon:Tabelka}} | ||
+ | |- {{Szablon:TabelkaNaglowek}} | ||
+ | | Komenda | ||
+ | | Plugin | ||
+ | | Format | ||
+ | | Opis | ||
+ | |- class="t2td" | ||
+ | | currentmap | ||
+ | | basetriggers.smx | ||
+ | | | ||
+ | | Wyświetla nazwę obecnej mapy. | ||
+ | |- class="t2td" | ||
+ | | ff | ||
+ | | basetriggers.smx | ||
+ | | | ||
+ | | Wyświetla status ognia przyjacielskiego. | ||
+ | |- class="t2td" | ||
+ | | motd | ||
+ | | basetriggers.smx | ||
+ | | | ||
+ | | Wyświetla okienko [[MOTD]]. | ||
+ | |- class="t2td" | ||
+ | | nextmap | ||
+ | | nextmap.smx | ||
+ | | | ||
+ | | Wyświetla następną mapę w mapcyklu. | ||
+ | |- class="t2td" | ||
+ | | nominate | ||
+ | | rockthevote.smx | ||
+ | | <mapa> | ||
+ | | Nominates a map for rtv. | ||
+ | |- class="t2td" | ||
+ | | rtv lub rockthevote | ||
+ | | rockthevote.smx | ||
+ | | | ||
+ | | Wysyła żądanie rozpoczęcia głosowania na zmianę mapy. | ||
+ | |- class="t2td" | ||
+ | | thetime | ||
+ | | basetriggers.smx | ||
+ | | | ||
+ | | Wyświetla aktualny czas na serwerze. | ||
+ | |- class="t2td" | ||
+ | | timeleft | ||
+ | | basetriggers.smx | ||
+ | | | ||
+ | | Wyświetla czas/ilość rund do końca mapy. | ||
+ | |- class="t2td" | ||
+ | | sm_settings | ||
+ | | clientprefs.smx | ||
+ | | | ||
+ | | Wyświetla menu ustawień gracza. | ||
+ | |- class="t2td" | ||
+ | | sm_cookies | ||
+ | | clientprefs.smx | ||
+ | | <nazwa> [wartość] | ||
+ | | Bez argumentu wyświetla listę nazw zapisanych "ciasteczek". Z konkretną nazwą wyświetla wartości, z nazwą i wartością ustawia wartość dla danego ciasteczka. | ||
+ | |} | ||
+ | |||
+ | =Tłumaczenie= | ||
+ | |||
+ | <strike>Tłumaczenie SourceModa wykonane przez [[Zuko]] i [[Trawiator]]a znajduje się w oficjalne bazie językowej SourceModa, ma ono zostać dodane do finalnej wersji SourceMod 1.1. | ||
+ | |||
+ | Niekompletne tłumaczenie jest tutaj: [[SourceMod tlumaczenie]]</strike> | ||
+ | |||
+ | Tłumaczenie zostało oficjalnie dodane do SourceMod'a 1.1! | ||
+ | Autorzy: [[Zuko]] / [[Trawiator]] | ||
=Linki= | =Linki= | ||
+ | |||
*[http://sourcemod.net Oficjalna Strona] | *[http://sourcemod.net Oficjalna Strona] | ||
*[http://www.sourcemod.net/devlog/ Developer Log] | *[http://www.sourcemod.net/devlog/ Developer Log] | ||
[[kategoria:SRCDS]] | [[kategoria:SRCDS]] |
Aktualna wersja na dzień 11:54, 9 gru 2009
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 serwera SRCDS, którego podstawową funkcja jest administracja serwerem. Jednakże można go dosłownie napchać masą dodatków zmieniając prawie wszystkie aspekty w grze - od rozszerzenia i uproszczenia komend w administracji, poprzez restrykcje broni, kończąc na totalnych konwersjach, gdzie ostateczny wygląd gry zupełnie nie przypomina oryginalnej rozgrywki.
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, orangebox/tf dla Team Fortress 2 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
- metamod - Metamod:Source
- addons
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/
Aktualizacja
Przy aktualizacji SourceModa kompatybilność z poprzednimi wersjami jest zachowana, no może poza bardzo rzadkimi wyjątkami.
- Jeśli aktualizujesz do wersji stabilnej (nie do nocnych zrzutów) sprawdź informację o wydaniu w celu znalezienia dokładnych instrukcji.
- Zaktualizuj wszystkie pliki typu .so/.dll w poniższych folderach:
- sourcemod/bin
- sourcemod/extensions
- Zaktualizuj wszystkie pliki .txt w folderze sourcemod/gamedata.
- Zaktualizuj wszystkie pliki .txt w folderze sourcemod/translations.
- Zaktualizuj wszystkie standardowe pliki .smx w folderze sourcemod/plugins.
- Przeczytaj informację o wydaniu aby dowiedzieć się czy jakieś pliki konfiguracyjne zostały zmienione. Jeśli tak, trzeba sprawdzić jaki co się zmieniło aby to poprawnie ustawić.
Nota: Jeśli jakiś plugin przestał działać po aktualizacji SourceModa wyślij informacje do twórców, oni zajmą się tym.
Nota: jest niezwykle ważne aby uaktualnić wszystkie pliki w folderze gamedata, pliki te odpowiadają za współpracę z konkretnymi modami na których działa SourceMod.
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" } }
Rezerwacja Slotów
Komendy
- sm_reserve_type <0|1|2>
- sm_reserved_slots <#>
- sm_hide_slots <0|1>
- sm_reserve_maxadmins <#>
- sm_reserve_kicktype <0|1|2>
Typ Rezerwacji
sm_reserve_type <0|1>
Ta zmienna kontroluje w jaki sposób rezerwacja slotów działa na serwerze (standardowo ustawiona jest na 0).
- sm_reserve_type 0
Sloty publiczne będą zajmowane przed slotami zarezerwowanymi, natomiast sloty zarezerwowane będą zwalniane jako pierwsze. Raz zajęty slot będzie "okupowany" przez gracza póki nie wyjdzie on z gry, nikt na serwerze nie będzie dostawał kopów aby zrobić miejsce. Jeśli serwer jest pełny i wszystkie sloty zarezerwowane zajęte to osoba która mimo posiadania rezerwacji slota nie połączy się.
- sm_reserve_type 1
Jeśli ktoś z rezerwacją slota połączy się, gracz z najwyższym pingiem i bez rezerwacji slota zostanie wykopany (na pierwszy ogień idą obserwatorzy) aby zwolnić miejsce. W tym wypadku zarezerwowane sloty są zawsze wolne, dzięki temu na serwer w każdej chwili może wejść osoba z rezerwacją slota.
- sm_reserve_type 2 - Dostępne w SourceMod 1.1 i wyższych.
W zasadzie to samo co sm_reserve_type 1 za wyjątkiem tego, że jeśli wyczerpie się ilość slotów (patrz sm_reserve_maxadmins), plugin przestanie wykopywać graczy i zacznie się zachowywać jak sm_reserve_type 0.
Zarezerwowane Sloty
sm_reserved_slots <#>
Ta zmienna kontroluje ile slotów ma być zarezerwowanych (standardowo 0)
W użyciu z sm_reserve_type 0 ustawia ile osób może podłączyć się z serwerem gdy będą zapełnione sloty publiczne. W użyciu z sm_reserve_type 1 ustawia ile slotów jest zarezerwowanych dla przełączania adminów (możesz potrzebować więcej niż jednego).
Ukryte Sloty
sm_hide_slots <0|1>
Kontroluje czy plugin ma ukrywać zarezerwowane sloty (standardowo 0).
Jeśli ukrywanie slotów jest włączone to sloty ukryte nie są widoczne w przeglądarce serwerów. Na przykład jeśli serwer ma 24 sloty, z czego są 2 zarezerwowane to w przeglądarce serwerów będzie widoczny jak by miał 22 sloty. Aby połączyć się z takim serwerem trzeba w konsoli wpisać 'connect ip:port' (np. 'connect 192.168.1.100:27015')
Niestety nie ma możliwość zrobienia aby slot był ukryty dla zwykłego gracza a widoczny dla admina. Autoryzacja admina odbywa się dopiero gdy ten się w pełni połączy z serwerem i SourceMod może sprawdzić SteamID. Z tego powodu lepiej jest ukrywać sloty, zapobiegnie to łączeniu się a później wykopaniu zwykłych graczy oraz umożliwi w pełni używanie funkcji ‘autojoin’.
Ilość Adminów
sm_reserve_maxadmins <#> - Dostępne w SourceMod 1.1 i wyższych.
Ta zmienna kontroluje ile adminów może się połączyć na zarezerwowany slot (tylko w przypadku ustawienia sm_reserve_type 2).
Sposób Usuwania z Serwera
sm_reserve_kicktype <0|1|2> - Dostępne w SourceMod 1.1 i wyższych.
Ta zmienna kontroluje na jakiej podstawie gracze będą usuwani z serwera (tylko dla sm_reserve_type 1 i 2).
0 - Najwyższy Ping 1 - Najdłużej Grający 2 - Losowy Gracz
Gracze z rezerwacją slota oraz gracze posiadający 'sm_reskick_immunity' nie mogą zostać wykopani. Obserwatorzy są wykopywani zawsze przed grającymi.
Immunitet
Aby uniemożliwić wykopanie gracza z powodu rezerwacji slotów trzeba my nadać/nadpisać dostęp do 'sm_reskick_immunity' (użytkownicy z flagą 'root' i rezerwacją slotów są już "odporni").
Notka: Ma to zastosowanie tylko przy sm_reserve_type 1 i 2.
Można bardzo łatwo nadpisać dostęp używając admin_overrides.cfg (np. "sm_reskick_immunity" "o" - aby dać wszystkim użytkownikom z flagą 'o' (własna flaga 1) immunitet na rezerwacje slota).
Lub
Nadać dostęp grupie przez dopisanie w admin_groups.cfg (np. "sm_reskick_immunity" "allow")
Lista Pluginów
Poniżej jest przedstawiona lista standardowych pluginów jakie oferuje SourceMod.
Pluginy z wytłuszczoną nazwą nie myszą być wyłączane podczas trwania meczy, nie przeszkadzają w niczym ani nie dają przewagi.
Standardowe Pluginy
Plugin | Opis Pluginu |
admin-flatfile | Ładuje listę adminów z pliku konfiguracyjnego. |
adminhelp | Udostępnia komendę sm_help (lista wszystkich komend wraz z opisem). |
adminmenu | Zapewnia menu admina oraz główne funkcje. |
antiflood | Zapobiega spamowaniu na chacie w grze przez graczy. |
basebans | Zapewnia podstawowe komendy banowania oraz menu banowania. |
basechat | Zapewnia komendy do pisania na ekranie. |
basecomm | Umożliwia zarządzanie komunikacją głosową graczy. |
basecommands | Zapewnia podstawowe komendy administracyjne (np. zmianę mapy, zmianę ustawień, kopanie graczy). |
basetriggers | Odpowiada za obsłygę zdarzeń na chacie takich jak "nextmap", "thetime" i "timeleft". |
basevotes | Zapewnia podstawowe komendy do głosowania (np na zmianę mapy). |
funcommands | Zapewnia "śmieszne" komendy np. slapowanie. |
funvotes | Zapewnia głosowania na "śmieszne" dla zabawy. |
nextmap | Pozwala adminom lub innym pluginom na dynamiczne zarządzanie mapcyklem. |
reservedslots | Udostępnia zarezerwowane sloty dla adminów (lub uprzywilejowanych graczy). |
Ekstra Pluginy
Poniższe pluginy są standardowo wyłączone i znajdują się w addons/sourcemod/plugins/disabled, aby ich użyć trzeba je wkleić do folderu z pluginami.
Plugin | Opis Pluginu |
admin-sql-prefetch | Ładuje adminów z bazy SQL podczas zmiany mapy. Jeśli ten plugin jest włączony to admin-sql-threaded musi być wyłączony. |
admin-sql-threaded | Ładuje adminów z bazy SQL dynamicznie, podczas połączenia się gracza z serwerem. Jeśli ten plugin jest włączony to admin-sql-prefetch musi być wyłączony. |
mapchooser | Zapewnia automatyczny system głosowań na następną mapę. |
randomcycle | Losuje nastepną mapę z mapcyklu. |
rockthevote | Zapewnia system głosowań na mapę zainicjowany przez graczy. |
Komendy w SourceModzie
W tej części znajduje się lista najważniejszych komend admina jakie dostarcza SourceMod.
Komendy na chacie: Należy pamiętać, że nie wszystkie komendy muszą być wpisywane w konsoli; mają swój skrót, który można wpisać na chacie. Na przykład przez wpisanie na chacie !ban bail da ten sam efekt co wykonanie komendy "sm_ban bail" i wyświetlenie informacji o banie na chacie. Można także używać przedrostka "/" zamiast "!" aby nie było widać komendy wpisanej na chacie.
Jak wybrać cel
Cele ogólne:
- name - Dokładna nazwa (nick) gracza lub też unikalna część jego nazwy.
- #userid - Numer użytkownika na serwerze (można go wyszukać za pomocą komendy "users").
- #steamid - Po prostu SteamID. Jeśli wpisując SteamID używasz dwukropków (:) musisz całe ID umieścić w cudzysłowach ewentualnie możesz także użyć podkreśleń (_). Przykłady:"#STEAM_0:1:4433", #STEAM_0_1_4433
- #<name> - Dokładna nazwa poprzedzona znakiem #.
- @all - Wszyscy gracze an serwerze (dostępne dla większości komend).
- @bots - Wszystkie boty na serwerze (dostępne dla większości komend).
- @alive - Wszyscy żywi gracze (dostępne dla większości komend akceptujących żywych graczy).
- @dead - Wszyscy martwi gracze (dostępne dla większości komend akceptujących martwych graczy).
- @humans - Wszyscy użytkownicy "nie boty" (dostępne dla większości komend).
- @aim - Osoba będąca w tej chwili na celowniku.
- @me - Osoba wpisująca komende.
- @!me - Wszyscy oprócz osoby wpisującej komendę.
Trzeba pamiętać, że cele zaczynające się od # i @ są uprzywilejowane. Oznacza to, że jeśli ktoś będzie miał nicka "@all" i w konsoli wpisane zostanie np. sm_slay @all to zginą wszyscy gracze na serwerze a nie tylko ten gracz. W takim wypadku trzeba użyć polecenia sm_slay "#@all".
Tylko dla Counter-Strike: Source:
- @ct lub @cts - Wszyscy antyterroryści
- @t lub @ts - Wszyscy terroryści
Tylko dla Team Fortress 2:
- @red - Wszyscy w drużynie RED
- @blue - Wszyscy w drużynie BLU
Podstawowe komendy
Komenda | Plugin | Dostęp | Format | Opis |
sm_addban | basebans | rcon | <czas> <steamid> [przyczyna] | Dodaje SteamID do listy banów. |
sm_admin | adminmenu | admin | Wyświetla menu admin. | |
sm_ban | basebans | ban | <#userid|name> <minuty|0> [przyczyna] | Bans a client. |
sm_banip | basebans | rcon | <ip|#userid|name> <czas> [przyczyna] | Dodaje bana na adres IP. |
sm_cancelvote | basecommands | vote | Anuluje każde głosowanie będące aktualnie w toku. | |
sm_cvar | basecommands | cvar | <cvar> [wartość] | Zwraca obecną wartość zmiennych lub nadaje im pożądaną wartość. Chronione zmienne mogą być ustawiane tylko dostępem rcon, sv_cheats może byc ustawiony tylko z dostępem "cheat access:. |
sm_execcfg | basecommands | config | <nazwa pliku> | Wykonuje plik konfiguracyjny (ścieżka nie jest potrzebna, rozszerzenie już tak). |
sm_help | adminhelp | admin | [strona|szukana komenda] | Wyświetla wszystkie komendy admina raz z opisami. Wyświetlana pomoc jest podzielona na strony. Można także wyszukiwać jakiejś komendy. |
sm_kick | basecommands | kick | <#userid|name> [przyczyna] | Kopie wybranego gracza. |
sm_map | basecommands | map | <map> | Zmienia obecna mapę. |
sm_rcon | basecommands | rcon | <argumenty> | Wykonuje komendę na serwerze jak za pomocą RCONa. Z powodu ograniczeń silnika Source nie można zobaczyć danych zwróconych za pomocą tej komendy. |
sm_reloadadmins | basecommands | config | Odświeża listę administratorów. | |
sm_unban | basebans | unban | <steamid> | Odbanowuje SteamID. |
sm_who | basecommands | admin | [#userid|name] | Wyświetla wszystkich użytkowników i ich prawa na serwerze. |
Rozszerzone komendy
Komenda | Plugin | Dostęp | Format | Opis |
sm_beacon | funcommands | slay | <cel> | Dodaje łatwy do zauważenia pierścień wokół gracza. |
sm_burn | funcommands | slay | <cel> [czas] | Ustawia gracza w ogniu na pewien okres czasu (nie dłużej niż do śmierci). Może nie działać w niektórych grach, np. w TF2 brakuje spritea ognia ale gracze tracą życie. |
sm_chat | basechat | chat | <wiadomość> | Wysyła wiadomość na chacie tylko do adminów. |
sm_csay | basechat | chat | <wiadomość> | Wysyła wiadomość na środku ekranu do wszystkich graczy. |
sm_gag | basecomm | chat | <cel> | Uniemożliwia graczowi pisanie na chacie. |
sm_hsay | basechat | chat | <wiadomość> | Wysyła wiadomość do wszystkich graczy w specjalnej otoczce. |
sm_msay | basechat | chat | <wiadomość> | Wysyła wiadomość do graczy jako menu w grze (tylko dla gier obsługujących to menu). |
sm_mute | basecomm | chat | <cel> | Uniemożliwia graczowi mówienie do mikrofonu. |
sm_play | sounds | admin | <cel> <plik> | Odtwarza na serwerze dźwięk dla wszystkich graczy. |
sm_psay | basechat | chat | <cel> <wiadomość> | Wysyła prywatną wiadomość do pojedynczego gracza. |
sm_rename | playercommands | slay | <#userid|name> | Zmienia nazwę graczowi. |
sm_resetcvar | basecommands | cvar | <cvar> | Ustawia wartość zmiennej na domyślną. |
sm_say | basechat | chat | <wiadomość> | Wysyła wiadomość na chacie do wszystkich graczy. |
sm_silence | basecomm | chat | <cel> | Uniemożliwia pisanie na chacie i komunikację głosową graczowi. |
sm_slap | playercommands | slay | <cel> [obrażenia] | Daje klapsa graczowi za zadaną ilość obrażeń. |
sm_slay | playercommands | slay | <cel> | Zabija gracza. |
sm_tsay | basechat | chat | [color] <wiadomość> | Wysyła kolorową wiadomość do wszystkich graczy. Jeśli kolor nie jest sprecyzowany wiadomość będzie biała. Lista kolorów: white, red, green, blue, yellow, purple, cyan, orange, pink, olive, lime, violet, lightblue. |
sm_ungag | basecomm | chat | <cel> | Pozwala graczowi znów pisać na chacie. |
sm_unmute | basecomm | chat | <cel> | Pozwala graczowi znów rozmawiać przez mikrofon. |
sm_unsilence | basecomm | chat | <cel> | Pozwala graczowi znów pisać na chacie i używać komunikacji głosowej. |
Komendy do głosowań
Komenda | Plugin | Dostęp | Format | Opis |
sm_vote | basevotes | vote | <pytanie> [odpoweidź1] [odpoweidź2] [odpoweidź3] ... | Zaczyna głosowanie na zadeklarowane odpowiedzi. |
sm_votealltalk | funvotes | vote | Rozpoczyna głosowanie czy zmienić wartość sv_alltalk. | |
sm_voteban | basevotes | vote, ban | <cel> [przyczyna] | Rozpoczyna głosowanie o bana na 30 minut dla danego gracza. |
sm_voteburn | funvotes | vote, slay | <cel> | Rozpoczyna głosowanie czy podpalić gracza. |
sm_voteff | funvotes | vote | Rozpoczyna głosowanie czy zmienić wartość mp_friendlyfire. | |
sm_votegravity | funvotes | vote | <wartość> [wartość2] [wartość3] ... | Rozpoczyna głosowanie czy zmienić wartość sv_gravity. |
sm_votekick | basevotes | vote, kick | <cel> [przyczyna] | Rozpoczyna głosowanie czy wykopać gracza. |
sm_votemap | basevotes | vote, map | <mapa> [mapa2] [mapa3] ... | Rozpoczyna głosowanie czy zmienić mapę. |
sm_voteslay | funvotes | vote, slay | <cel> | Rozpoczyna głosowanie czy zgładzić gracza. |
Komendy publiczne
Komenda | Plugin | Format | Opis |
currentmap | basetriggers.smx | Wyświetla nazwę obecnej mapy. | |
ff | basetriggers.smx | Wyświetla status ognia przyjacielskiego. | |
motd | basetriggers.smx | Wyświetla okienko MOTD. | |
nextmap | nextmap.smx | Wyświetla następną mapę w mapcyklu. | |
nominate | rockthevote.smx | <mapa> | Nominates a map for rtv. |
rtv lub rockthevote | rockthevote.smx | Wysyła żądanie rozpoczęcia głosowania na zmianę mapy. | |
thetime | basetriggers.smx | Wyświetla aktualny czas na serwerze. | |
timeleft | basetriggers.smx | Wyświetla czas/ilość rund do końca mapy. | |
sm_settings | clientprefs.smx | Wyświetla menu ustawień gracza. | |
sm_cookies | clientprefs.smx | <nazwa> [wartość] | Bez argumentu wyświetla listę nazw zapisanych "ciasteczek". Z konkretną nazwą wyświetla wartości, z nazwą i wartością ustawia wartość dla danego ciasteczka. |
Tłumaczenie
Tłumaczenie SourceModa wykonane przez Zuko i Trawiatora znajduje się w oficjalne bazie językowej SourceModa, ma ono zostać dodane do finalnej wersji SourceMod 1.1.
Niekompletne tłumaczenie jest tutaj: SourceMod tlumaczenie
Tłumaczenie zostało oficjalnie dodane do SourceMod'a 1.1! Autorzy: Zuko / Trawiator