Jak dodać admina na serwer z Sourcemod?
Hiroshima
17.08.2011
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.
SourceMod wspiera standardowo trzy metody autoryzacji adminów:
Poziomy
Wpierw zobaczmy jak wyglądają 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.
Standardowo admini z tym samym poziomem immunitetu nie mogą sobie na wzajem nic zrobić. Opcja ta może zostać zmieniona za pomocą
Hasła
Aby hasła działały administrator serwera musi najpierw ustawić "PassInfoVar" w addons/sourcemod/configs/core.cfg. Na przykład:
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ć:
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:
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:
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:
Dostępne są następujące opcje:
Przykład:
Źródło: hlds.pl
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)
- Trzeci 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:
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_modew 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" } }
Źródło: hlds.pl