De meeste plugins doen niets zolang je een speler of een groep geen recht toekent. We leggen uit hoe het rechtensysteem in Oxide en Carbon werkt, hoe je rechten toekent aan één speler en aan een hele groep, hoe je groepen voor VIP's en moderators opzet en hoe je de meest voorkomende fouten oplost.
Wat je nodig hebt
- Een Rust-server met Oxide of Carbon en minstens één plugin (plugins installeren)
- Toegang tot de console van de server of RCON (handleiding)
- Het Steam ID64 van de spelers aan wie je rechten wilt toekennen
- Ongeveer 20 minuten
Rust bij StormHost
Rust-servers zijn bij ons in voorbereiding. Deze handleiding geldt ook voor een Rust-server op je eigen VPS (installatiestappen).
Hoe rechten werken#
- Een recht is een tekst in de vorm
plugin.actie, bijvoorbeeldkits.adminofnteleportation.home. De plugin registreert het zodra hij wordt geladen. De lijst met rechten staat meestal op de pagina van de plugin. - Je kent een recht toe aan een gebruiker (een specifieke speler) of aan een groep. Een speler heeft de optelsom van zijn eigen rechten en de rechten van al zijn groepen.
- Een groep kan een ouder hebben (parent). Dan erft ze alle rechten van de oudergroep. Daardoor hoef je dezelfde rechten niet meerdere keren toe te kennen.
- Standaardgroepen:
default– hierin plaatst het framework automatisch elke speler die verbinding maakt.admin– hierin plaatst het framework automatisch spelers met het eigenaarsniveau (ownerid).moderator– alleen in Carbon, automatisch voor spelers met het moderatorniveau (moderatorid).
- Rechten worden alleen opgeteld. Er bestaat geen “verbod”: heeft een groep een recht, dan heeft elk lid het, ook als je het bij die speler zelf intrekt.
- Bij de namen van rechten en groepen maakt het niet uit of je hoofdletters of kleine letters gebruikt.
De rechten van plugins zijn iets anders dan de adminrechten van het spel. Het eigenaars- of moderatorniveau (ownerid, moderatorid) geeft toegang tot de commando's van Rust (teleport, noclip, ban…). De rechten van plugins bepalen alleen de functies van plugins. Zo kun je een moderator bijvoorbeeld onzichtbaarheid uit de plugin Vanish geven zonder dat hij alle admincommando's van het spel krijgt.
Oxide slaat gebruikers en groepen op in de bestanden oxide/ en oxide/. Maak er een back-up van en verwijder ze nooit (je zou alle toegekende rechten kwijtraken).
Waar je de commando's invoert#
- De console van de server (bij gamehosting het tabblad Console) – de aanbevolen plek, de commando's werken hier altijd.
- RCON (RustAdmin, webconsole) – hetzelfde als de console van de server, alleen op afstand.
- De console F1 in het spel – als je op de server eigenaar bent (
ownerid).
Typ de commando's zonder schuine streep. Zet namen met spaties tussen aanhalingstekens: "Jan Novák".
Steam ID in plaats van een naam#
Duid een speler aan met zijn Steam ID64 (een getal van 17 cijfers dat begint met 7656119). Een naam kan veranderen en twee spelers kunnen een vergelijkbare naam hebben, het ID is uniek en verandert nooit. Oxide en Carbon accepteren het ID bovendien ook voor een speler die nog geen verbinding met de server heeft gemaakt. Hoe je het ID vindt, staat in Admin en RCON.
In de voorbeelden gebruiken we 76561198000000000 – vul het echte ID van de speler in.
Rechten voor één speler#
Oxide
Toekennen:
oxide.grant user 76561198000000000 kits.adminoxide.grant– een recht toekennen (korto.grant).user– de ontvanger is een speler (voor een groepgroup). Schrijf het in kleine letters.76561198000000000– het Steam ID64 van de speler (of zijn naam, als die uniek is).kits.admin– de naam van het recht.
Player 'Jan (76561198000000000)' granted permission 'kits.admin'Intrekken:
oxide.revoke user 76561198000000000 kits.adminCarbon
Toekennen:
c.grant user 76561198000000000 kits.adminc.grant– een recht toekennen.user– de ontvanger is een speler (voor een groepgroup).76561198000000000– het Steam ID64 van de speler.kits.admin– de naam van het recht.
Granted user 'Jan' permission 'kits.admin'Intrekken:
c.revoke user 76561198000000000 kits.adminCarbon zoekt bij een naam ook naar een gedeeltelijke overeenkomst en gebruikt bij meerdere resultaten het eerste dat het vindt. Ook daarom gebruik je beter het Steam ID.
Rechten per speler toekennen is geschikt voor uitzonderingen. Voor meerdere mensen met dezelfde rechten gebruik je groepen.
Groepen#
Voorbeeld: de groep vip, die alles van default erft en daarnaast de VIP-kit mag gebruiken.
Oxide
Maak een groep aan met een titel en een rang:
text oxide.group add vip "VIP" 1add vip– maakt een groep aan met de interne naamvip(die gebruik je in de volgende commando's)."VIP"– de titel van de groep voor weergave (sommige plugins gebruiken die, bijvoorbeeld chatplugins).1– de rang (rank) van de groep. Sommige plugins bepalen aan de hand daarvan welke groep “hoger” is.
Stel de oudergroep in:
text oxide.group parent vip defaultDe groep
viperft nu alle rechten van de groepdefault.Ken de groep een recht toe:
text oxide.grant group vip kits.vipVoeg een speler toe aan de groep:
text oxide.usergroup add 76561198000000000 vipUitvoertext Player '76561198000000000' added to group: vip
Meer commando's:
| Commando | Wat het doet |
|---|---|
oxide.usergroup remove 76561198000000000 vip | Haalt de speler uit de groep. |
oxide.revoke group vip kits.vip | Trekt het recht van de groep in. |
oxide.group set vip "[VIP]" 1 | Wijzigt de titel en de rang van de groep. |
oxide.group remove vip | Verwijdert de groep (de spelers erin verliezen de rechten van de groep). |
Carbon
Maak een groep aan met een titel en een rang:
text c.group add vip "VIP" 1Stel de oudergroep in:
text c.group parent vip defaultKen de groep een recht toe:
text c.grant group vip kits.vipVoeg een speler toe aan de groep:
text c.usergroup add 76561198000000000 vip
Meer commando's:
| Commando | Wat het doet |
|---|---|
c.usergroup remove 76561198000000000 vip | Haalt de speler uit de groep. |
c.revoke group vip kits.vip | Trekt het recht van de groep in. |
c.group set vip title "[VIP]" | Wijzigt de titel van de groep (rang: c.group set vip rank 1). |
c.group remove vip | Verwijdert de groep. |
De rechten van kits geef je zelf een naam
Bij de plugin Kits vul je het recht van een kit in de editor van die kit in. Kies een naam die begint met kits. (bijvoorbeeld kits.vip). Anders waarschuwt het framework dat het recht het voorvoegsel van de plugin mist. Het recht bestaat pas als je de kit hebt opgeslagen.
Opvragen en controleren#
Oxide
| Commando | Wat het toont |
|---|---|
oxide.show groups | De lijst met alle groepen. |
oxide.show group vip | De leden van de groep en haar rechten (inclusief de oudergroep). |
oxide.show user 76561198000000000 | De groepen en rechten van de speler. |
oxide.show perm kits.vip | Welke spelers en groepen het recht hebben. |
oxide.show perms | Alle rechten die de geladen plugins hebben geregistreerd. |
Carbon
| Commando | Wat het toont |
|---|---|
c.show groups | De lijst met alle groepen. |
c.show group vip | De leden van de groep en haar rechten. |
c.show user 76561198000000000 | De groepen en rechten van de speler. |
c.show perm kits.vip | Welke spelers en groepen het recht hebben. |
c.show perms | Alle geregistreerde rechten. |
oxide.show perms (c.show perms) is de snelste manier om de exacte naam van een recht te achterhalen als je die niet uit de documentatie van de plugin kent.
Wildcards#
Een sterretje * kent meerdere rechten tegelijk toe:
oxide.grant group admin nteleportation.*nteleportation.*– alle rechten die beginnen metnteleportation..- Alleen
*– werkelijk alle rechten van alle plugins.
In Carbon gaat het op dezelfde manier: c.grant group admin nteleportation.*.
Het sterretje geldt alleen voor wat er nu bestaat
Een wildcard kent de rechten toe die op dat moment geregistreerd zijn. Plugins die je later installeert, komen er niet automatisch bij in de groep: je moet het commando herhalen. En omgekeerd: * kent ook rechten toe die beperkingen omzeilen (geen cooldowns, geen kosten). Gebruik het alleen voor de groep admin.
Aanbevolen groepsstructuur#
| Groep | Voor wie | Ouder | Voorbeelden van rechten |
|---|---|---|---|
default | Alle spelers (automatisch) | – | nteleportation.home, nteleportation.tpr, backpacks.use, het recht van de startkit |
vip | Supporters van de server | default | kits.vip, nteleportation.vip, een grotere rugzak (backpacks.size.24) |
moderator | Moderators | vip | vanish.allow, adminradar.allowed |
admin | De eigenaar en de hoofdadmins | moderator | kits.admin, betterchat.admin, removertool.admin, backpacks.admin |
De namen van de rechten in de tabel horen bij de plugins uit het artikel Aanbevolen plugins. In Oxide maak je de groep moderator zelf aan (oxide.group add moderator "Moderator" 2), in Carbon bestaat ze al.
Zo zet je de keten van ouders op in Oxide:
oxide.group parent vip default
oxide.group parent moderator vip
oxide.group parent admin moderatorEen moderator heeft zo de rechten van een speler en van een VIP, een admin heeft de rechten van iedereen.
Voorbeeld: volledige instelling van een nieuwe server#
Een reeks commando's voor Oxide die de structuur uit de tabel hierboven opzet voor de plugins NTeleportation, Backpacks, Kits, Vanish, Admin Radar, BetterChat en Remover Tool. Voer ze één voor één in de console van de server in zodra alle plugins geladen zijn (anders bestaan de rechten niet). In Carbon vervang je oxide. door c. en stel je voor de groep moderator alleen de ouder in, in plaats van de groep aan te maken.
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- Het eerste blok geeft alle spelers de basisfuncties (homes, teleporteren op verzoek, een rugzak, het verwijderen van eigen bouwwerken).
- Het blok
vipmaakt de groep aan, koppelt haar aandefaulten voegt de VIP-kit toe (de kit met het rechtkits.vipmoet je eerst aanmaken), de VIP-limieten voor teleports en een rugzak met 24 vakken. - Het blok
moderatorvoegt onzichtbaarheid en de radar toe. - Het blok
adminkoppelt de bestaande groepadminaan de moderators, geeft haar de hoogste rang (3, Oxide heeft haar met rang1aangemaakt) en voegt het beheer van kits, de chat, het verwijderen en rugzakken toe. In Carbon stel je de rang in met het commandoc.group set admin rank 3.
Deel daarna de mensen in: oxide.usergroup add <ID> vip of oxide.usergroup add <ID> moderator. Admins (eigenaren) komen vanzelf in de groep admin terecht.
De groep admin en ownerid#
ownerid(niveau 2) zijn de adminrechten van het spel. Je stelt het in Rust in, zie Admin en RCON.De groep
adminis een groep met rechten van het framework. Spelers met niveau 2 plaatst het framework er automatisch in zodra ze verbinding maken.Oxide haalt spelers niet zelf uit de groep
admin. Als je iemandsowneridintrekt (removeowner), blijft hij in de groepadminen houdt hij de rechten van plugins. Haal hem er handmatig uit:text oxide.usergroup remove 76561198000000000 adminCarbon brengt de groepen
adminenmoderatorbij de volgende verbinding van de speler in overeenstemming met zijn werkelijke niveau.
De groep admin krijgt niet automatisch alle rechten van plugins. Wat erin moet zitten, ken je zelf toe.
Equivalente commando's in Carbon#
| Oxide | Carbon | Wat het doet |
|---|---|---|
oxide.grant user <ID> <PERM> | c.grant user <ID> <PERM> | Kent een recht toe aan een speler. |
oxide.grant group <GROUP> <PERM> | c.grant group <GROUP> <PERM> | Kent een recht toe aan een groep. |
oxide.revoke … | c.revoke … | Trekt een recht in. |
oxide.group add <GROUP> ["Titel"] [rang] | c.group add <GROUP> ["Titel"] [rang] | Maakt een groep aan. |
oxide.group parent <GROUP> <PARENT> | c.group parent <GROUP> <PARENT> | Stelt de ouder in. |
oxide.group set <GROUP> "Titel" rang | c.group set <GROUP> title "Titel" | Wijzigt de titel (rang in Carbon: rank). |
oxide.usergroup add <ID> <GROUP> | c.usergroup add <ID> <GROUP> | Voegt een speler toe aan een groep. |
oxide.show … | c.show … | Overzichten van groepen, spelers en rechten. |
Vervang <ID> door het Steam ID64, <PERM> door de naam van het recht en <GROUP> door de naam van de groep, alles zonder de punthaken.
Controle#
- Voer
oxide.show user 76561198000000000in (Carbonc.show user …) en controleer of de speler in de verwachte groepen zit en de verwachte rechten heeft. - Vraag de speler om een commando van de plugin uit te proberen (bijvoorbeeld
/kit). Sommige plugins laden de rechten bij het verbinden – werkt de functie niet meteen, laat de speler dan opnieuw verbinding maken.
Als iets niet werkt#
Permission 'kits.vip' doesn't exist#
In Carbon: Couldn't grant permission - permission does not exist. Op dat moment heeft niemand het recht geregistreerd. Oorzaken:
- De plugin is niet geladen. Controleer
oxide.plugins(c.plugins). - Een typfout in de naam. De exacte naam vind je met
oxide.show perms(c.show perms). - Bij kits: de kit met dit recht is nog niet opgeslagen.
Player 'Jan' not found#
In Carbon: Couldn't grant user permission - user not found, use full name or steam ID. Een speler met die naam is niet te vinden, omdat hij nog geen verbinding heeft gemaakt of een andere naam heeft. Gebruik het Steam ID64 (17 cijfers).
Multiple players were found, please specify: …#
De ingevoerde naam past bij meerdere spelers. Gebruik het Steam ID64.
Group 'vip' doesn't exist#
Maak de groep eerst aan: oxide.group add vip. Bij parent moeten beide groepen bestaan.
You do not have permission to use the command 'oxide.grant'!#
Je hebt het commando in het spel ingevoerd en je bent op de server geen eigenaar (ownerid). Een moderator (moderatorid) kan de rechtencommando's in het spel niet gebruiken (tenzij hij het gelijknamige recht heeft, bijvoorbeeld oxide.grant, maar we raden af om dat aan moderators te geven). Voer het commando in de console van de server in of via RCON. In Carbon vereisen de commando's c.grant, c.group en andere het eigenaarsniveau.
De speler heeft het recht, maar de functie werkt niet#
- De plugin controleert de rechten mogelijk alleen bij het verbinden – laat de speler de verbinding verbreken en opnieuw verbinden.
- De plugin heeft voor elke functie een apart recht. In NTeleportation geeft
nteleportation.homebijvoorbeeld alleen homes, terugkeren naar de vorige plek (/tpb) heeft daarnaastnteleportation.tpbnodig. Raadpleeg de documentatie van de plugin. - Sommige plugins controleren het adminniveau van het spel in plaats van een recht. Dan is een recht niet genoeg en moet de speler
owneridofmoderatoridhebben.
Ik heb het recht ingetrokken, maar de speler heeft het nog steeds#
Hij heeft het via een groep. Voer oxide.show user <ID> in en kijk in welke groepen hij zit. Trek het recht van de groep in, of haal de speler uit de groep.
Een voormalige admin heeft nog steeds de rechten van plugins#
Na removeowner is hij in Oxide in de groep admin gebleven. Haal hem eruit: oxide.usergroup remove <ID> admin.
Samenvatting
- Een recht
plugin.actieken je toe aan een speler (user) of aan een groep (group), rechten worden opgeteld. - Duid spelers aan met hun Steam ID64, niet met hun naam.
- Groepen met ouders (
viperft vandefault,moderatorvanvip,adminvanmoderator) besparen je herhaling. - De exacte namen van de rechten toont
oxide.show perms(c.show perms). ownerid(rechten van het spel) en de groepadmin(rechten van plugins) zijn twee verschillende dingen: Oxide haalt zelf niemand uit de groep admin.