Overview
This document leads through the roles and also highlights areas that hosts need to be aware of.
Peer-to-peer hosting
For hosts of a peer-to-peer session, the server can be configured from within the game in the Host Settings menu.
There are 3 pre-defined groups and hosts can set up passwords for each group. The password used to join the server then determines the level of permissions for the joining player.
If a group is enabled but no password is set, every player can freely join this server with the permission level of that particular group.
The presets are:
- Helper:
- Combat, looting, exploration, and progress in the game world are allowed.
- Using chests and other containers is not allowed.
- Changes to the player bases are not allowed.
- Friend:
- Combat, looting, exploration, and progress in the game world are allowed.
- Using chests and other containers are allowed.
- Adding and removing blocks and props and also terraforming is allowed.
- Adding new Flame Altars, upgrading Flame Altars and removing Flame Altars are not allowed
- Admin:
- Combat, looting, exploration, and progress in the game world are allowed.
- Using chests and other containers is allowed.
- Adding and removing blocks and props and also terraforming is allowed.
- Adding new Flame Altars, upgrading Flame Altars and removing Flame Altars is allowed
- Kicking and banning other players is allowed.
The settings are stored in the file “enshrouded_user.json” for the host player which can be found in the same folder as the save data. Connecting players will be shown the following window when accessing a server with password protected roles:
Dedicated server hosting - Using the previous settings
The Update 2 of Enshrouded aims to provide additional options for players without interfering with existing setups. However, in order to allow the management of several passwords needed for the various user groups, the structure of the “enshrouded_server.json” had to be adapted.
The password for a server was previously defined in line 3 of the file “enshrouded_server.json” via “password”: “”
This line is no longer used to setup the password for dedicated servers!
However, if the game detects a password defined in line 3, it will set up a new “userGroup” called “default” which uses the password and automatically grants the same permission level as what players were accustomed to up until update 2.
This means if the host of a dedicated server chooses to not change anything, the dedicated server will still be protected by the same password and the permissions of joining players will stay the same.
Dedicated server hosting - Setting up user groups
Player permissions for playing on servers are handled via user groups. Each group can be set up in the “enshrouded_server.json” with a unique configuration of permissions and an accompanying password that grants the permissions to the logged-in player.
By default, the “enshrouded_server.json” starts with 3 user groups which may serve as a base for hosts. The presets are:
- Admin:
- Changes to the player bases are allowed.
- Using chests and other containers are allowed.
- Kicking and banning other players is allowed.
- Friend:
- Changes to the player bases are allowed.
- Using chests and other containers are allowed.
- Guest:
- Changes to the player bases are not allowed.
- Using chests and other containers are not allowed.
Please note: all user groups have full access to the game world outside the player bases and can engage in combat, collect materials, dig for resources, solve quests etc.
Please also note: the presets mentioned above are only generated when the “enshrouded_server.json” is freshly created after updating Enshrouded with update 2. When the game detects an already defined password, only the “default” user group is created with the permission configuration identical to “Friend” from the presets above.
By default, randomized passwords are created to prevent unwanted players from joining the server.
- In the entry “password” a password can be defined that players need to enter before being allowed to join the server.
- It is highly recommended to set a password. Every player can see the server and can access it, if no password is set. At this point there is no rights management for the server other than the password. We will work on better admin tools and rights management in the near future.
The “enshrouded_server.json” also allows setting up new and unique user groups. Simply add a new user group section with a new name, define a password and select the permissions needed for the player group.
For example, it could be interesting to allow a user group to access the content of chests, other containers or workstations but not to allow adding/deleting props and voxels in the player bases.
Another setting that can be configured for each user group is a number of reserved slots for that particular user group.
This is set by adding this line to the user group:
"reservedSlots": 1
When 1 or more reserved slots are set, the lobby will be marked as “full” for players who try to log into the server under a different user group and would fill up all session slots. This allows for example Admins or Friends to join even if there is a high demand for slots by “Guests”.
Custom Configuration UI for dedicated server settings
If a third party tool allows easy editing of the “enshrouded_server.json”, e.g. provides a mask to define the password, then this third party tool needs to be updated to correctly match the updated structure of the “enshrouded_server.json” as mentioned in the previous chapters.
It could also be beneficial to allow setting up and managing the user groups.
Example of an updated server config
{
"name": "Enshrouded Server",
"password": "",
"saveDirectory": "./savegame",
"logDirectory": "./logs",
"ip": "0.0.0.0",
"queryPort": 15637,
"slotCount": 16,
"userGroups": [
{
"name": "Admin",
"password": "Randomized password 01",
"canKickBan": true,
"canAccessInventories": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 1
},
{
"name": "Friend",
"password": "Randomized password 02",
"canKickBan": false,
"canAccessInventories": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 3
},
{
"name": "Guest",
"password": "Randomized password 03",
"canKickBan": false,
"canAccessInventories": false,
"canEditBase": false,
"canExtendBase": false,
"reservedSlots": 0
}
]
}