The Mods page has a third tab, PROFILES. A profile is a saved list of which mods are on, in what order and at what version; every mod stays installed once, in the one Mods folder. Loading a profile rewrites mods.json, switches off what it does not name, and downloads from Thunderstore what it names that is missing. Profiles live in Mods/profiles.json. A profile travels the way r2modman's do, so the two managers read each other's: export.r2x inside a .r2z file, and a code on Thunderstore's profile service. Config files in an r2modman profile are ignored. Installing or updating a Thunderstore package now brings the packages it depends on, needed ones first, leaving out any already installed at a new enough version. A mod pack is a package that is nothing else. A kick, by an admin or by a passed vote, used to keep the player out until the server restarted. "kick_minutes" in the players section of the config (1-1440; 0, the default, is still until the restart) and the console command "kick-time <minutes>|restart" now set how long it lasts. The player is told how long when they are kicked, and how many minutes are left if they try to join early. A kick keeps the time it was given, so changing the setting is for later kicks. Bans are unchanged.
7.7 KiB
ReSkate dedicated server: roles
Who may do what on a server is in data/roles.json, next to data/bans.json. The server writes the file the first time it starts. Edit it while the server is stopped, or edit it and type roles reload. A file with a mistake isn't loaded: the server says what's wrong and keeps the roles it had.
The plain-text reference that ships with the server, with every command described, is README-roles.txt.
The file
{
"default_role": "player",
"roles": [
{
"name": "moderator",
"tag": "Mod",
"color": "#5EC8FF",
"rank": 50,
"inherit": true,
"commands": ["kick", "ban", "unban", "bans", "msg"],
"permissions": ["reserved_slot", "anticheat_alerts"]
}
],
"players": {
"76561198000000000": "moderator"
}
}
| Key | What it is |
|---|---|
default_role |
The role of every player who was given none. "" means no default: those players can chat, vote, use parties and whisper, and nothing else. |
roles |
Up to 32 roles. |
players |
Who has which role, by SteamID64. Up to 4,096 players; one role each. |
A role
| Field | Meaning |
|---|---|
name |
1–24 characters: a-z, 0-9, -, _. Not none. |
tag |
The word shown before the player's name in chat and on their nametag. Up to 16 characters, "" for none. It can't be a tag the game uses itself (Server, ReSkate, ReSkate Admin, Host, Friend, Dev, Developer, Staff, Homie, Centrix, Content Creator). |
color |
The tag's colour, #RRGGBB. |
rank |
0–1000. See Rank. |
inherit |
true (the default): the role also has everything the default role has. false: only what it lists itself. Use false for a role that takes something away, such as muted. |
commands |
Server commands the role may use. See Commands. |
permissions |
What it may do besides commands. See Permissions. |
Rank
- A player can't kick, ban or change the role of anyone whose rank is the same as theirs or higher.
- A player can't give out a role whose rank is the same as theirs or higher, and can't change their own role.
- The server's own window is above every role.
So a moderator (50) can mute a player (0) or make them a VIP (10), but can't touch an admin (100) or make anyone a moderator.
Permissions
What every player normally has (leave one out of a role with "inherit": false to take it away):
| Permission | Allows |
|---|---|
chat |
Talking in chat. Without it the player is muted and told so. |
votes |
Starting the votes that are on, and voting. |
parties |
Parties and party chat (/p). |
whisper |
Private messages (/w). |
Extras:
| Permission | Allows |
|---|---|
reserved_slot |
Joining when the server is full. |
unlimited_objects |
No object limit; building when placement is admins; resizing when object scaling is off. |
movement |
Noclip, teleport, No Bail and boosts when the server has turned them off for players. |
no_afk_kick |
Never removed for being away. |
vote_kick_immune |
Can't be the target of a kick vote. |
anticheat_alerts |
Told in chat what the anti-cheat finds. |
polls |
Starting polls when polls are set to admins, and ending anyone's poll. |
Commands
A player whose role has a command types it in chat with / in front (/kick Name), uses mp server <command> in the game's console, or uses the matching control in the game's menus. The game only shows a player the controls their role gives them.
"*"is every command exceptroleandreserved. A role has those two only if it lists them by name, e.g.["*", "role"].- Any role with at least one command can also use
helpandroles.
| Group | Commands |
|---|---|
| Players | players, kick, ban, unban, bans, tpall, tphere, teleport, role, reserved |
| Messages | msg, msg-party, msg-admins, announce, announce-to, announcements |
| Map and world | map, maps, map-pool, rotation, park, park-mod, layer-sync, layer, layers, tod |
| Server settings | name, password, welcome, listed, chat-color, status, net, activity-log |
| What players may do | voice, voice-range, placement, objects, object-scaling, clear-objects, effects, noclip, nobail, boosts, tuning, parties, party-size, afk-kick, kick-time, announce-throwdowns |
| Votes and polls | votes, vote, vote-cancel, poll |
| Network | distances, crowd, rate, tps |
| Anti-cheat | speed-check, board-check, score-check, score-allow, bone-scale, bone-reach |
Server window only, never for a role: say, poll-run, update, quit. A name that isn't a command does nothing, so check spelling against this list. What each command does is in README-roles.txt.
Managing roles while the server runs
roles list the roles and who has them
roles reload read data/roles.json again
role <player or SteamID64> <role> give a player a role
role <player or SteamID64> none take it away (back to the default role)
The player is told in chat when their role changes, their game shows the new tag and controls at once, and the change is saved to the file. To mute someone: role <player> muted.
The roles a new server starts with
| Role | Rank | Tag | Has |
|---|---|---|---|
player (default) |
0 | none | chat, votes, parties, whisper |
vip |
10 | VIP | reserved_slot |
moderator |
50 | Mod | Commands: kick, ban, unban, bans, players, msg, msg-party, msg-admins, tphere, vote-cancel, announce-to, role. Permissions: reserved_slot, no_afk_kick, vote_kick_immune, anticheat_alerts, polls |
admin |
100 | Admin | Commands: "*", role, reserved. Every permission. |
muted |
0 | none | inherit: false; only votes and parties |
vip, moderator and admin inherit from player, so they also chat, vote, use parties and whisper.
Examples
A helper who can only message and teleport players:
{"name": "helper", "tag": "Helper", "color": "#7CFC9A", "rank": 20,
"commands": ["msg", "tphere", "players"], "permissions": ["no_afk_kick"]}
A builder who is never limited, on a server where only staff build:
{"name": "builder", "tag": "Builder", "color": "#FFA94D", "rank": 15,
"commands": [], "permissions": ["unlimited_objects"]}
Someone who runs events (map, time, parks, announcements) but can't kick:
{"name": "events", "tag": "Events", "color": "#C792EA", "rank": 30,
"commands": ["map", "map-pool", "rotation", "tod", "park", "announce", "poll", "vote", "vote-cancel"],
"permissions": ["polls", "reserved_slot"]}
A player who may talk but not start votes:
{"name": "no-votes", "tag": "", "color": "#FFFFFF", "rank": 0, "inherit": false,
"commands": [], "permissions": ["chat", "parties", "whisper"]}
Everybody gets a tag: give the default role one.
{"name": "player", "tag": "Skater", "color": "#FFFFFF", "rank": 0,
"commands": [], "permissions": ["chat", "votes", "parties", "whisper"]}
Good to know
- Two different "admins": a server's
adminrole (tag "Admin") is the owner's own staff. "ReSkate Admin" is the ReSkate team's tag, comes from the ReSkate backend, and can't be given by a server. - First admin on a new server: type
role <your SteamID64> adminin the server window. - Older configs: admins listed under
"access"inReSkateServer.jsonare moved into theadminrole the first time the new server starts.admin add,admin removeandadminsare gone; useroleandroles. - Server window: the server's own window has a roles editor for creating and changing roles without editing the file.