Většina pluginů nic neudělá, dokud hráči nebo skupině nepřidělíte oprávnění. Vysvětlíme, jak systém oprávnění v Oxide a Carbonu funguje, jak přidělit práva jednomu hráči i celé skupině, jak postavit skupiny VIP a moderátorů a jak vyřešit nejčastější chyby.
Co budete potřebovat
- Rust server s Oxide nebo Carbonem a aspoň jedním pluginem (instalace pluginů)
- Přístup ke konzoli serveru nebo RCON (návod)
- Steam ID64 hráčů, kterým chcete práva přidělit
- Asi 20 minut
Rust u StormHostu
Rust servery u nás připravujeme. Návod platí i pro Rust server na vlastní VPS (postup instalace).
Jak oprávnění fungují#
- Oprávnění je text ve tvaru
plugin.akce, napříkladkits.adminnebonteleportation.home. Zaregistruje ho plugin, když se načte. Seznam oprávnění bývá na stránce pluginu. - Oprávnění přidělujete uživateli (konkrétnímu hráči) nebo skupině. Hráč má součet svých oprávnění a oprávnění všech svých skupin.
- Skupina může mít rodiče (parent). Pak zdědí všechna oprávnění rodičovské skupiny. Díky tomu nemusíte stejná práva přidělovat několikrát.
- Výchozí skupiny:
default– do ní framework automaticky zařadí každého hráče, který se připojí.admin– do ní framework automaticky zařadí hráče s úrovní vlastníka (ownerid).moderator– jen v Carbonu, automaticky pro hráče s úrovní moderátora (moderatorid).
- Oprávnění se jen sčítají. Neexistuje „zákaz“: když má oprávnění skupina, má ho každý její člen, i kdybyste ho odebrali přímo jemu.
- Názvy oprávnění a skupin nerozlišují velká a malá písmena.
Oprávnění pluginů jsou něco jiného než admin práva hry. Úroveň vlastníka nebo moderátora (ownerid, moderatorid) dává přístup k příkazům Rustu (teleport, noclip, ban…). Oprávnění pluginů řídí jen funkce pluginů. Moderátorovi tak můžete dát třeba neviditelnost z pluginu Vanish, aniž by dostal všechny admin příkazy hry.
Oxide ukládá uživatele a skupiny do souborů oxide/ a oxide/. Zálohujte je, nikdy je nemažte (přišli byste o všechna přidělená práva).
Kde příkazy zadávat#
- Konzole serveru (na herním hostingu záložka Konzole) – doporučené místo, příkazy tu fungují vždy.
- RCON (RustAdmin, webová konzole) – totéž co konzole serveru, jen na dálku.
- Konzole F1 ve hře – pokud jste na serveru vlastník (
ownerid).
Příkazy pište bez lomítka. Názvy se mezerami dejte do uvozovek: "Jan Novák".
Steam ID místo jména#
Hráče určujte jeho Steam ID64 (17místné číslo začínající 7656119). Jméno se dá změnit a dva hráči mohou mít podobné jméno; ID je jedinečné a neměnné. Oxide i Carbon navíc přijmou ID i u hráče, který se na server ještě nepřipojil. Jak ID zjistit, popisuje Admin a RCON.
V příkladech používáme 76561198000000000 – dosaďte skutečné ID hráče.
Oprávnění pro jednoho hráče#
Oxide
Přidělení:
oxide.grant user 76561198000000000 kits.adminoxide.grant– přidělit oprávnění (zkráceněo.grant).user– příjemce je hráč (pro skupinugroup). Pište malými písmeny.76561198000000000– Steam ID64 hráče (nebo jeho jméno, pokud je jedinečné).kits.admin– název oprávnění.
Player 'Jan (76561198000000000)' granted permission 'kits.admin'Odebrání:
oxide.revoke user 76561198000000000 kits.adminCarbon
Přidělení:
c.grant user 76561198000000000 kits.adminc.grant– přidělit oprávnění.user– příjemce je hráč (pro skupinugroup).76561198000000000– Steam ID64 hráče.kits.admin– název oprávnění.
Granted user 'Jan' permission 'kits.admin'Odebrání:
c.revoke user 76561198000000000 kits.adminCarbon u jména hledá i částečnou shodu a při více výsledcích použije první nalezený. I proto používejte Steam ID.
Přidělování po jednotlivých hráčích je vhodné pro výjimky. Pro víc lidí se stejnými právy použijte skupiny.
Skupiny#
Ukázka: skupina vip, která dědí vše od default a navíc smí používat VIP kit.
Oxide
Vytvořte skupinu s titulkem a pořadím:
text oxide.group add vip "VIP" 1add vip– vytvoří skupinu s interním názvemvip(používáte ho v dalších příkazech)."VIP"– titulek skupiny pro zobrazení (využívají ho některé pluginy, například chatové).1– pořadí (rank) skupiny. Některé pluginy podle něj určují, která skupina je „vyšší“.
Nastavte rodičovskou skupinu:
text oxide.group parent vip defaultSkupina
vipteď zdědí všechna oprávnění skupinydefault.Přidělte skupině oprávnění:
text oxide.grant group vip kits.vipPřidejte hráče do skupiny:
text oxide.usergroup add 76561198000000000 vipVýstuptext Player '76561198000000000' added to group: vip
Další příkazy:
| Příkaz | Co dělá |
|---|---|
oxide.usergroup remove 76561198000000000 vip | Odebere hráče ze skupiny. |
oxide.revoke group vip kits.vip | Odebere oprávnění skupině. |
oxide.group set vip "[VIP]" 1 | Změní titulek a pořadí skupiny. |
oxide.group remove vip | Smaže skupinu (hráči v ní přijdou o její práva). |
Carbon
Vytvořte skupinu s titulkem a pořadím:
text c.group add vip "VIP" 1Nastavte rodičovskou skupinu:
text c.group parent vip defaultPřidělte skupině oprávnění:
text c.grant group vip kits.vipPřidejte hráče do skupiny:
text c.usergroup add 76561198000000000 vip
Další příkazy:
| Příkaz | Co dělá |
|---|---|
c.usergroup remove 76561198000000000 vip | Odebere hráče ze skupiny. |
c.revoke group vip kits.vip | Odebere oprávnění skupině. |
c.group set vip title "[VIP]" | Změní titulek skupiny (pořadí: c.group set vip rank 1). |
c.group remove vip | Smaže skupinu. |
Oprávnění kitů si pojmenováváte sami
U pluginu Kits zadáváte oprávnění kitu v jeho editoru. Volte název začínající kits. (například kits.vip). Framework jinak upozorní, že oprávnění nemá předponu pluginu. Oprávnění existuje, až když kit uložíte.
Výpis a kontrola#
Oxide
| Příkaz | Co vypíše |
|---|---|
oxide.show groups | Seznam všech skupin. |
oxide.show group vip | Členy skupiny a její oprávnění (včetně rodičovské skupiny). |
oxide.show user 76561198000000000 | Skupiny a oprávnění hráče. |
oxide.show perm kits.vip | Kteří hráči a skupiny oprávnění mají. |
oxide.show perms | Všechna oprávnění, která načtené pluginy zaregistrovaly. |
Carbon
| Příkaz | Co vypíše |
|---|---|
c.show groups | Seznam všech skupin. |
c.show group vip | Členy skupiny a její oprávnění. |
c.show user 76561198000000000 | Skupiny a oprávnění hráče. |
c.show perm kits.vip | Kteří hráči a skupiny oprávnění mají. |
c.show perms | Všechna zaregistrovaná oprávnění. |
oxide.show perms (c.show perms) je nejrychlejší způsob, jak zjistit přesný název oprávnění, když ho neznáte z dokumentace pluginu.
Zástupné znaky#
Hvězdička * přidělí víc oprávnění najednou:
oxide.grant group admin nteleportation.*nteleportation.*– všechna oprávnění, která začínajínteleportation..- Samotná
*– úplně všechna oprávnění všech pluginů.
V Carbonu stejně: c.grant group admin nteleportation.*.
Hvězdička platí jen pro to, co existuje teď
Zástupný znak přidělí oprávnění, která jsou v tu chvíli zaregistrovaná. Pluginy nainstalované později do skupiny automaticky nepřibudou, musíte příkaz zopakovat. A naopak: * přidělí i oprávnění, která obcházejí omezení (bez cooldownů, bez poplatků). Používejte ji jen pro skupinu admin.
Doporučená struktura skupin#
| Skupina | Pro koho | Rodič | Příklady oprávnění |
|---|---|---|---|
default | Všichni hráči (automaticky) | – | nteleportation.home, nteleportation.tpr, backpacks.use, oprávnění startovního kitu |
vip | Podporovatelé serveru | default | kits.vip, nteleportation.vip, větší batoh (backpacks.size.24) |
moderator | Moderátoři | vip | vanish.allow, adminradar.allowed |
admin | Majitel a hlavní admini | moderator | kits.admin, betterchat.admin, removertool.admin, backpacks.admin |
Názvy oprávnění v tabulce odpovídají pluginům z článku Doporučené pluginy. V Oxide skupinu moderator vytvoříte sami (oxide.group add moderator "Moderátor" 2), v Carbonu už existuje.
Postup pro řetěz rodičů v Oxide:
oxide.group parent vip default
oxide.group parent moderator vip
oxide.group parent admin moderatorModerátor tak má práva hráče i VIP, admin má práva všech.
Ukázka: kompletní nastavení nového serveru#
Sada příkazů pro Oxide, která vytvoří strukturu z tabulky výše pro pluginy NTeleportation, Backpacks, Kits, Vanish, Admin Radar, BetterChat a Remover Tool. Zadávejte je do konzole serveru postupně, až budou všechny pluginy načtené (jinak oprávnění neexistují). V Carbonu nahraďte oxide. za c. a místo vytvoření skupiny moderator jen nastavte jejího rodiče.
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 "Moderátor" 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- První blok dává základní funkce všem hráčům (domovy, teleport na žádost, batoh, odstraňování vlastních staveb).
- Blok
vipvytvoří skupinu, napojí ji nadefaulta přidá VIP kit (kit s oprávněnímkits.vipmusíte nejdřív vytvořit), VIP limity teleportů a batoh s 24 políčky. - Blok
moderatorpřidá neviditelnost a radar. - Blok
adminnapojí existující skupinuadminna moderátory, dá jí nejvyšší pořadí (3, Oxide ji vytvořil s pořadím1) a přidá správu kitů, chatu, odstraňování a batohů. V Carbonu se pořadí nastaví příkazemc.group set admin rank 3.
Potom zařazujte lidi: oxide.usergroup add <ID> vip nebo oxide.usergroup add <ID> moderator. Admini (vlastníci) se do skupiny admin dostanou sami.
Skupina admin a ownerid#
ownerid(úroveň 2) je admin práva hry. Nastavuje se v Rustu, viz Admin a RCON.Skupina
adminje skupina oprávnění frameworku. Hráče s úrovní 2 do ní framework zařadí automaticky při připojení.Oxide hráče ze skupiny
adminsám neodebere. Když někomu odebereteownerid(removeowner), zůstane ve skupiněadmina dál má práva pluginů. Odeberte ho ručně:text oxide.usergroup remove 76561198000000000 adminCarbon skupiny
adminamoderatorpři dalším připojení hráče srovná s jeho skutečnou úrovní.
Skupina admin nedostane automaticky všechna oprávnění pluginů. Co v ní má být, přidělte sami.
Ekvivalenty příkazů v Carbonu#
| Oxide | Carbon | Co dělá |
|---|---|---|
oxide.grant user <ID> <PERM> | c.grant user <ID> <PERM> | Přidělí oprávnění hráči. |
oxide.grant group <SKUPINA> <PERM> | c.grant group <SKUPINA> <PERM> | Přidělí oprávnění skupině. |
oxide.revoke … | c.revoke … | Odebere oprávnění. |
oxide.group add <SKUPINA> ["Titulek"] [pořadí] | c.group add <SKUPINA> ["Titulek"] [pořadí] | Vytvoří skupinu. |
oxide.group parent <SKUPINA> <RODIC> | c.group parent <SKUPINA> <RODIC> | Nastaví rodiče. |
oxide.group set <SKUPINA> "Titulek" pořadí | c.group set <SKUPINA> title "Titulek" | Změní titulek (Carbon pořadí: rank). |
oxide.usergroup add <ID> <SKUPINA> | c.usergroup add <ID> <SKUPINA> | Přidá hráče do skupiny. |
oxide.show … | c.show … | Výpisy skupin, hráčů a oprávnění. |
Za <ID> dosaďte Steam ID64, za <PERM> název oprávnění a za <SKUPINA> název skupiny, vše bez špičatých závorek.
Ověření#
- Zadejte
oxide.show user 76561198000000000(Carbonc.show user …) a zkontrolujte, že hráč je v očekávaných skupinách a má očekávaná oprávnění. - Požádejte hráče, ať příkaz pluginu vyzkouší (například
/kit). Některé pluginy načítají oprávnění při připojení – pokud funkce nefunguje hned, ať se hráč znovu připojí.
Když něco nefunguje#
Permission 'kits.vip' doesn't exist#
V Carbonu: Couldn't grant permission - permission does not exist. Oprávnění v tu chvíli nikdo nezaregistroval. Příčiny:
- Plugin se nenačetl. Ověřte
oxide.plugins(c.plugins). - Překlep v názvu. Přesný název najdete výpisem
oxide.show perms(c.show perms). - U kitů: kit s tímto oprávněním ještě není uložený.
Player 'Jan' not found#
V Carbonu: Couldn't grant user permission - user not found, use full name or steam ID. Hráče se jménem nelze najít, protože se ještě nepřipojil nebo má jiné jméno. Použijte Steam ID64 (17 číslic).
Multiple players were found, please specify: …#
Zadanému jménu odpovídá víc hráčů. Použijte Steam ID64.
Group 'vip' doesn't exist#
Skupinu nejdřív vytvořte: oxide.group add vip. U parent musí existovat obě skupiny.
You do not have permission to use the command 'oxide.grant'!#
Příkaz jste zadali ve hře a nejste na serveru vlastník (ownerid). Moderátor (moderatorid) příkazy oprávnění ve hře používat nemůže (pokud nemá stejnojmenné oprávnění, například oxide.grant, které ale moderátorům nedoporučujeme dávat). Zadejte příkaz do konzole serveru nebo přes RCON. V Carbonu vyžadují příkazy c.grant, c.group a další úroveň vlastníka.
Hráč má oprávnění, ale funkce nefunguje#
- Plugin může oprávnění kontrolovat jen při připojení – ať se hráč odpojí a připojí.
- Plugin má pro každou funkci zvláštní oprávnění. Například v NTeleportation dává
nteleportation.homejen domovy, návrat na předchozí místo (/tpb) potřebuje navícnteleportation.tpb. Zkontrolujte dokumentaci pluginu. - Některé pluginy místo oprávnění kontrolují admin úroveň hry. Pak oprávnění nestačí a hráč musí mít
owneridnebomoderatorid.
Odebral jsem oprávnění, ale hráč ho má dál#
Má ho přes skupinu. Zadejte oxide.show user <ID> a podívejte se, ve kterých skupinách je. Oprávnění odeberte skupině, nebo hráče ze skupiny vyřaďte.
Bývalý admin má pořád práva pluginů#
Po removeowner zůstal v Oxide ve skupině admin. Vyřaďte ho: oxide.usergroup remove <ID> admin.
Shrnutí
- Oprávnění
plugin.akcepřidělujete hráči (user) nebo skupině (group); práva se sčítají. - Hráče určujte Steam ID64, ne jménem.
- Skupiny s rodiči (
vipdědí oddefault,moderatorodvip,adminodmoderator) ušetří opakování. - Přesné názvy oprávnění vypíše
oxide.show perms(c.show perms). ownerid(práva hry) a skupinaadmin(práva pluginů) jsou dvě různé věci; Oxide ze skupiny admin nikoho sám neodebere.