Większość pluginów nic nie robi, dopóki nie nadasz uprawnienia graczowi lub grupie. Ten poradnik wyjaśnia, jak działa system uprawnień w Oxide i Carbonie, jak nadać prawa pojedynczemu graczowi i całej grupie, jak skonfigurować grupy VIP i moderatorów oraz jak naprawić najczęstsze błędy.
Czego potrzebujesz
- Serwer Rust z Oxide lub Carbonem i co najmniej jednym pluginem (instalacja pluginów)
- Dostęp do konsoli serwera lub RCON (poradnik)
- Steam ID64 graczy, którym chcesz nadać prawa
- Około 20 minut
Rust w StormHost
Serwery Rust wciąż przygotowujemy. Ten poradnik dotyczy także serwera Rust na własnym VPS (poradnik instalacji).
Jak działają uprawnienia#
- Uprawnienie to ciąg w formie
plugin.akcja, na przykładkits.adminlubnteleportation.home. Plugin rejestruje je przy załadowaniu. Lista uprawnień jest zwykle na stronie pluginu. - Uprawnienia nadajesz użytkownikowi (konkretnemu graczowi) albo grupie. Gracz ma sumę własnych uprawnień i uprawnień wszystkich swoich grup.
- Grupa może mieć rodzica. Dziedziczy wtedy wszystkie uprawnienia grupy nadrzędnej. Dzięki temu nie musisz nadawać tych samych praw kilka razy.
- Grupy domyślne:
default– framework automatycznie dodaje do niej każdego gracza, który się połączy.admin– framework automatycznie dodaje graczy z poziomem właściciela (ownerid).moderator– tylko Carbon, automatycznie dla graczy z poziomem moderatora (moderatorid).
- Uprawnienia tylko się sumują. Nie ma „odmowy”: jeśli grupa ma uprawnienie, ma je każdy członek, nawet jeśli odebrano mu je bezpośrednio.
- Nazwy uprawnień i grup nie rozróżniają wielkości liter.
Uprawnienia pluginów to nie to samo co prawa admina gry. Poziom właściciela lub moderatora (ownerid, moderatorid) daje dostęp do własnych poleceń Rusta (teleport, noclip, ban…). Uprawnienia pluginów sterują tylko funkcjami pluginów. Możesz więc na przykład dać moderatorowi niewidzialność z pluginu Vanish, nie dając mu wszystkich poleceń admina gry.
Oxide przechowuje użytkowników i grupy w plikach oxide/ i oxide/. Archiwizuj je i nigdy ich nie usuwaj (straciłbyś wszystkie nadane prawa).
Gdzie wpisywać polecenia#
- Konsola serwera (na hostingu gier zakładka Konsola) – zalecane miejsce; polecenia zawsze tu działają.
- RCON (RustAdmin, konsola WWW) – to samo co konsola serwera, tylko zdalnie.
- Konsola F1 w grze – jeśli jesteś właścicielem na serwerze (
ownerid).
Polecenia wpisuj bez ukośnika. Nazwy ze spacjami umieszczaj w cudzysłowie: "Jan Nowak".
Steam ID zamiast nazwy#
Graczy identyfikuj po Steam ID64 (17-cyfrowy numer zaczynający się od 7656119). Nazwa może się zmienić, a dwóch graczy może mieć podobne nazwy; ID jest unikalne i nigdy się nie zmienia. Oxide i Carbon przyjmują też ID gracza, który jeszcze nie połączył się z serwerem. Jak znaleźć ID, opisuje artykuł Admin i RCON.
Przykłady używają 76561198000000000 – zamień je na prawdziwe ID gracza.
Uprawnienia dla jednego gracza#
Oxide
Nadawanie:
oxide.grant user 76561198000000000 kits.adminoxide.grant– nadaje uprawnienie (krótka formao.grant).user– odbiorcą jest gracz (dla grupygroup). Pisz małymi literami.76561198000000000– Steam ID64 gracza (albo jego nazwa, jeśli jest unikalna).kits.admin– nazwa uprawnienia.
Player 'Jan (76561198000000000)' granted permission 'kits.admin'Odbieranie:
oxide.revoke user 76561198000000000 kits.adminCarbon
Nadawanie:
c.grant user 76561198000000000 kits.adminc.grant– nadaje uprawnienie.user– odbiorcą jest gracz (dla grupygroup).76561198000000000– Steam ID64 gracza.kits.admin– nazwa uprawnienia.
Granted user 'Jan' permission 'kits.admin'Odbieranie:
c.revoke user 76561198000000000 kits.adminPrzy podaniu nazwy Carbon szuka też częściowych dopasowań i przy kilku wynikach używa pierwszego znalezionego. To kolejny powód, aby używać Steam ID.
Nadawanie praw gracz po graczu nadaje się do wyjątków. Dla kilku osób z tymi samymi prawami używaj grup.
Grupy#
Przykład: grupa vip, która dziedziczy wszystko z default i może dodatkowo używać kitu VIP.
Oxide
Utwórz grupę z tytułem i rangą:
text oxide.group add vip "VIP" 1add vip– tworzy grupę o wewnętrznej nazwievip(używasz jej w kolejnych poleceniach)."VIP"– wyświetlany tytuł grupy (używają go niektóre pluginy, na przykład czatowe).1– ranga grupy. Niektóre pluginy używają jej do ustalenia, która grupa jest „wyższa”.
Ustaw grupę nadrzędną:
text oxide.group parent vip defaultGrupa
vipdziedziczy teraz wszystkie uprawnienia grupydefault.Nadaj grupie uprawnienie:
text oxide.grant group vip kits.vipDodaj gracza do grupy:
text oxide.usergroup add 76561198000000000 vipWyniktext Player '76561198000000000' added to group: vip
Więcej poleceń:
| Polecenie | Co robi |
|---|---|
oxide.usergroup remove 76561198000000000 vip | Usuwa gracza z grupy. |
oxide.revoke group vip kits.vip | Odbiera grupie uprawnienie. |
oxide.group set vip "[VIP]" 1 | Zmienia tytuł i rangę grupy. |
oxide.group remove vip | Usuwa grupę (jej członkowie tracą jej prawa). |
Carbon
Utwórz grupę z tytułem i rangą:
text c.group add vip "VIP" 1Ustaw grupę nadrzędną:
text c.group parent vip defaultNadaj grupie uprawnienie:
text c.grant group vip kits.vipDodaj gracza do grupy:
text c.usergroup add 76561198000000000 vip
Więcej poleceń:
| Polecenie | Co robi |
|---|---|
c.usergroup remove 76561198000000000 vip | Usuwa gracza z grupy. |
c.revoke group vip kits.vip | Odbiera grupie uprawnienie. |
c.group set vip title "[VIP]" | Zmienia tytuł grupy (ranga: c.group set vip rank 1). |
c.group remove vip | Usuwa grupę. |
Uprawnienia kitów nazywasz sam
W pluginie Kits uprawnienie kitu wpisujesz w jego edytorze. Wybierz nazwę zaczynającą się od kits. (na przykład kits.vip). Inaczej framework ostrzega, że uprawnienie nie ma prefiksu pluginu. Uprawnienie istnieje dopiero po zapisaniu kitu.
Wypisywanie i kontrola#
Oxide
| Polecenie | Co wypisuje |
|---|---|
oxide.show groups | Wszystkie grupy. |
oxide.show group vip | Członków i uprawnienia grupy (łącznie z grupą nadrzędną). |
oxide.show user 76561198000000000 | Grupy i uprawnienia gracza. |
oxide.show perm kits.vip | Którzy gracze i grupy mają uprawnienie. |
oxide.show perms | Wszystkie uprawnienia zarejestrowane przez załadowane pluginy. |
Carbon
| Polecenie | Co wypisuje |
|---|---|
c.show groups | Wszystkie grupy. |
c.show group vip | Członków i uprawnienia grupy. |
c.show user 76561198000000000 | Grupy i uprawnienia gracza. |
c.show perm kits.vip | Którzy gracze i grupy mają uprawnienie. |
c.show perms | Wszystkie zarejestrowane uprawnienia. |
oxide.show perms (c.show perms) to najszybszy sposób znalezienia dokładnej nazwy uprawnienia, gdy nie znasz jej z dokumentacji pluginu.
Symbole wieloznaczne#
Gwiazdka * nadaje kilka uprawnień naraz:
oxide.grant group admin nteleportation.*nteleportation.*– wszystkie uprawnienia zaczynające się odnteleportation..- Sama
*– każde uprawnienie każdego pluginu.
To samo działa w Carbonie: c.grant group admin nteleportation.*.
Gwiazdka obejmuje tylko to, co istnieje teraz
Symbol wieloznaczny nadaje uprawnienia zarejestrowane w danym momencie. Pluginy zainstalowane później nie są dodawane do grupy automatycznie; trzeba uruchomić polecenie ponownie. I odwrotnie: * nadaje także uprawnienia omijające ograniczenia (brak cooldownów, brak opłat). Używaj jej tylko dla grupy admin.
Zalecana struktura grup#
| Grupa | Dla kogo | Rodzic | Przykładowe uprawnienia |
|---|---|---|---|
default | Wszyscy gracze (automatycznie) | – | nteleportation.home, nteleportation.tpr, backpacks.use, uprawnienie kitu startowego |
vip | Wspierający serwer | default | kits.vip, nteleportation.vip, większy plecak (backpacks.size.24) |
moderator | Moderatorzy | vip | vanish.allow, adminradar.allowed |
admin | Właściciel i główni admini | moderator | kits.admin, betterchat.admin, removertool.admin, backpacks.admin |
Nazwy uprawnień w tabeli odpowiadają pluginom z artykułu Zalecane pluginy. W Oxide grupę moderator tworzysz sam (oxide.group add moderator "Moderator" 2); w Carbonie już istnieje.
Ustawienie łańcucha rodziców w Oxide:
oxide.group parent vip default
oxide.group parent moderator vip
oxide.group parent admin moderatorModerator ma wtedy prawa gracza i VIP-a, a admin prawa wszystkich.
Przykład: kompletna konfiguracja nowego serwera#
Zestaw poleceń Oxide budujący strukturę z tabeli wyżej dla pluginów NTeleportation, Backpacks, Kits, Vanish, Admin Radar, BetterChat i Remover Tool. Wpisuj je w konsoli serwera po kolei, gdy załadują się wszystkie pluginy (inaczej uprawnienia nie istnieją). W Carbonie zamień oxide. na c., a zamiast tworzenia grupy moderator ustaw tylko jej rodzica.
oxide.grant group default nteleportation.home
oxide.grant group default nteleportation.tpr
oxide.grant group default backpacks.use
oxide.grant group default backpacks.gui
oxide.grant group default removertool.normal
oxide.group add vip "VIP" 1
oxide.group parent vip default
oxide.grant group vip kits.vip
oxide.grant group vip nteleportation.vip
oxide.grant group vip backpacks.size.24
oxide.group add moderator "Moderator" 2
oxide.group parent moderator vip
oxide.grant group moderator vanish.allow
oxide.grant group moderator adminradar.allowed
oxide.group parent admin moderator
oxide.group set admin "Admin" 3
oxide.grant group admin kits.admin
oxide.grant group admin betterchat.admin
oxide.grant group admin removertool.admin
oxide.grant group admin backpacks.admin- Pierwszy blok daje wszystkim graczom podstawowe funkcje (domy, prośby o teleport, plecak, usuwanie własnych budowli).
- Blok
viptworzy grupę, łączy ją zdefaulti dodaje kit VIP (najpierw musisz utworzyć kit z uprawnieniemkits.vip), limity teleportów VIP i plecak na 24 sloty. - Blok
moderatordodaje niewidzialność i radar. - Blok
adminłączy istniejącą grupęadminz moderatorami, daje jej najwyższą rangę (3; Oxide utworzył ją z rangą1) i dodaje zarządzanie kitami, czatem, usuwaniem i plecakami. W Carbonie rangę ustawisz przezc.group set admin rank 3.
Następnie dodaj osoby: oxide.usergroup add <ID> vip lub oxide.usergroup add <ID> moderator. Admini (właściciele) trafiają do grupy admin automatycznie.
Grupa admin a ownerid#
ownerid(poziom 2) to prawa admina gry. Ustawia się go w samym Ruście, zobacz Admin i RCON.Grupa
adminto grupa uprawnień frameworka. Framework automatycznie dodaje do niej graczy z poziomem 2 przy połączeniu.Oxide sam nie usuwa graczy z grupy
admin. Jeśli odbierzesz komuśownerid(removeowner), zostaje w grupieadmini zachowuje prawa pluginów. Usuń go ręcznie:text oxide.usergroup remove 76561198000000000 adminCarbon synchronizuje grupy
adminimoderatorz faktycznym poziomem gracza przy jego następnym połączeniu.
Grupa admin nie dostaje automatycznie wszystkich uprawnień pluginów. Nadaj jej sam to, co ma mieć.
Odpowiedniki poleceń w Carbonie#
| Oxide | Carbon | Co robi |
|---|---|---|
oxide.grant user <ID> <PERM> | c.grant user <ID> <PERM> | Nadaje uprawnienie graczowi. |
oxide.grant group <GRUPA> <PERM> | c.grant group <GRUPA> <PERM> | Nadaje uprawnienie grupie. |
oxide.revoke … | c.revoke … | Odbiera uprawnienie. |
oxide.group add <GRUPA> ["Tytuł"] [ranga] | c.group add <GRUPA> ["Tytuł"] [ranga] | Tworzy grupę. |
oxide.group parent <GRUPA> <RODZIC> | c.group parent <GRUPA> <RODZIC> | Ustawia rodzica. |
oxide.group set <GRUPA> "Tytuł" ranga | c.group set <GRUPA> title "Tytuł" | Zmienia tytuł (ranga w Carbonie: rank). |
oxide.usergroup add <ID> <GRUPA> | c.usergroup add <ID> <GRUPA> | Dodaje gracza do grupy. |
oxide.show … | c.show … | Wypisuje grupy, graczy i uprawnienia. |
Zamiast <ID> wstaw Steam ID64, zamiast <PERM> nazwę uprawnienia, a zamiast <GRUPA> nazwę grupy, wszystko bez nawiasów ostrych.
Weryfikacja#
- Wpisz
oxide.show user 76561198000000000(Carbon:c.show user …) i sprawdź, czy gracz jest w oczekiwanych grupach i ma oczekiwane uprawnienia. - Poproś gracza, aby wypróbował polecenie pluginu (na przykład
/kit). Niektóre pluginy wczytują uprawnienia przy połączeniu gracza – jeśli funkcja nie działa od razu, niech gracz połączy się ponownie.
Rozwiązywanie problemów#
Permission 'kits.vip' doesn't exist#
W Carbonie: Couldn't grant permission - permission does not exist. Nic nie zarejestrowało uprawnienia w tym momencie. Przyczyny:
- Plugin się nie załadował. Sprawdź
oxide.plugins(c.plugins). - Literówka w nazwie. Dokładną nazwę wypisz przez
oxide.show perms(c.show perms). - Przy kitach: kit z tym uprawnieniem nie został jeszcze zapisany.
Player 'Jan' not found#
W Carbonie: Couldn't grant user permission - user not found, use full name or steam ID. Nie można znaleźć gracza o tej nazwie, bo jeszcze się nie połączył albo ma inną nazwę. Użyj Steam ID64 (17 cyfr).
Multiple players were found, please specify: …#
Do wpisanej nazwy pasuje więcej niż jeden gracz. Użyj Steam ID64.
Group 'vip' doesn't exist#
Najpierw utwórz grupę: oxide.group add vip. Przy parent muszą istnieć obie grupy.
You do not have permission to use the command 'oxide.grant'!#
Wpisano polecenie w grze, a nie jesteś właścicielem na serwerze (ownerid). Moderator (moderatorid) nie może używać poleceń uprawnień w grze (chyba że ma uprawnienie o tej samej nazwie, na przykład oxide.grant, którego moderatorom nie zalecamy). Wpisz polecenie w konsoli serwera albo przez RCON. W Carbonie c.grant, c.group i podobne polecenia wymagają poziomu właściciela.
Gracz ma uprawnienie, ale funkcja nie działa#
- Plugin może sprawdzać uprawnienia tylko przy połączeniu – niech gracz rozłączy się i połączy ponownie.
- Plugin ma osobne uprawnienie dla każdej funkcji. W NTeleportation na przykład
nteleportation.homedaje tylko domy; powrót do poprzedniej lokalizacji (/tpb) wymaga teżnteleportation.tpb. Sprawdź dokumentację pluginu. - Niektóre pluginy sprawdzają poziom admina gry zamiast uprawnień. Wtedy uprawnienie nie wystarcza i gracz potrzebuje
owneridlubmoderatorid.
Odebrano uprawnienie, ale gracz nadal je ma#
Ma je przez grupę. Wpisz oxide.show user <ID> i zobacz, w których grupach jest. Odbierz uprawnienie grupie albo usuń gracza z grupy.
Były admin nadal ma prawa pluginów#
Po removeowner został w Oxide w grupie admin. Usuń go: oxide.usergroup remove <ID> admin.
Podsumowanie
- Uprawnienia
plugin.akcjanadajesz graczowi (user) albo grupie (group); prawa się sumują. - Graczy identyfikuj po Steam ID64, nie po nazwie.
- Grupy z rodzicami (
vipdziedziczy zdefault,moderatorzvip,adminzmoderator) oszczędzają powtórzeń. oxide.show perms(c.show perms) wypisuje dokładne nazwy uprawnień.ownerid(prawa gry) i grupaadmin(prawa pluginów) to dwie różne rzeczy; Oxide nigdy sam nikogo nie usuwa z grupy admin.