mantle
mantle copied to clipboard
Add support for the Game Settings permissions system
I use the Permissions tab in Game Settings to allow group roles/specific users to play my game's staging environment. It would be nice if this can be handled with Mantle too.
API:
- GET https://develop.roblox.com/v2/universes/:experienceId/permissions
- JSON body:
{ "data": Array< { "userId": string, "userName": string, "action": "Play" | "Edit", "allowedPermissions": "" | "Play" | "Play,Edit" } | { "groupId": string, "groupName": string, "action": "Play" | "Edit" | null, "allowedPermissions": "" | "Play" | "Play,Edit" } | { "rolesetId": string, "rolesetName": string, "groupId": string, "rank": string, "groupName": string, "action": "Play" | "Edit" | null, "allowedPermissions": "" | "Play" | "Play,Edit" } > }
- JSON body:
- POST https://develop.roblox.com/v2/universes/:experienceId/permissions
- JSON body:
Array<{ "subjectType": "User" | "Group" | "Roleset", "subjectId": string, "action": "Play" | "Edit" }>
- JSON body:
- DELETE https://develop.roblox.com/v2/universes/:experienceId/permissions
- JSON body:
Array<{ "subjectType": "User" | "Group" | "Roleset", "subjectId": string, "action": "Play" | "Edit" }>
- JSON body:
Interesting. I had not seen this before because it's behind Team Create and I had assumed that users of Mantle would not be interested in Team Create since you're editing with Git. However it looks like you can use these permissions to give both Play and Edit access. What permissions exactly does Edit give users? Just the ability to join Team Create?
I am open to adding support for this but to be honest I'm not sure what the right config API is for it. Maybe something like this?
target:
experience:
teamCreate:
enabled: true
permissions:
- userId: 1
level: edit
- groupId: 1
level: play
- roleId: 1
groupId: 1
level: edit
Also note this will need to enable/disable team create:
- Create:
POST https://develop.roblox.com/v1/universes/:experienceId/teamcreate
with{ "isEnabled": boolean }
- Update:
POST https://develop.roblox.com/v1/universes/:experienceId/teamcreate
with{ "isEnabled": boolean }
- Delete: Update to disable it
- Import:
GET https://develop.roblox.com/v1/universes/:experienceId/teamcreate
returns{ "isEnabled": boolean }
What permissions exactly does Edit give users? Just the ability to join Team Create?
@blake-mealey - On personal places, it provides access to team create as well as permissions for things like shutting down servers. It gives incredibly limited access to game settings. On group games, the option is not avaliable AFAIK.