Enshrouded is an open-world fantasy RPG with cooperative gameplay, allowing up to 16 players on a single server. It has received overwhelmingly positive reviews on Steam (86%).
Pros:
Cons:
Story (immersion relies on reading notes and collecting items)
Playing Enshrouded solo or with a group offers completely different experiences and emotions. You could say that the developers primarily focus on multiplayer gameplay on dedicated servers.
In this article, we’ll describe how to set up a private dedicated server for Enshrouded.
The current version at the time of writing is v0.8.0.1.
Minimum requirements:
In this guide, we will use a cloud server from Hostman with the following fixed configuration:
After connecting to the server, update the packages and install Docker:
apt update && apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Create a directory for the server files:
mkdir /opt/enshrouded
Navigate to the directory:
cd /opt/enshrouded
We will use the "Enshrouded Dedicated Server with Autoupdate (supervisord)" Docker image.
Next, create a compose.yaml
file with the following content:
services:
enshrouded:
container_name: enshrouded
image: mornedhels/enshrouded-server:latest
restart: unless-stopped
stop_grace_period: 90s
ports:
- "15637:15637/udp"
volumes:
- ./game:/opt/enshrouded
environment:
- SERVER_NAME=Hostman
- UPDATE_CRON=*/30 * * * *
Run the server:
docker compose up -d
Check the server status:
docker compose ps
View server logs:
docker compose logs -f
All necessary files and updates will be downloaded during the first launch, and the server will start with default settings.
Stop the container before making changes:
docker compose down
Edit the server configuration files:
nano game/server/enshrouded_server.json
Example configuration for enshrouded_server.json
:
{
"name": "Hostman",
"saveDirectory": "./savegame",
"logDirectory": "./logs",
"ip": "0.0.0.0",
"queryPort": 15637,
"slotCount": 16,
"voiceChatMode": "Proximity",
"enableVoiceChat": false,
"enableTextChat": false,
"gameSettingsPreset": "Default",
"gameSettings": {
"playerHealthFactor": 1,
"playerManaFactor": 1,
"playerStaminaFactor": 1,
"playerBodyHeatFactor": 1,
"enableDurability": true,
"enableStarvingDebuff": false,
"foodBuffDurationFactor": 1,
"fromHungerToStarving": 600000000000,
"shroudTimeFactor": 1,
"tombstoneMode": "AddBackpackMaterials",
"enableGliderTurbulences": true,
"weatherFrequency": "Normal",
"miningDamageFactor": 1,
"plantGrowthSpeedFactor": 1,
"resourceDropStackAmountFactor": 1,
"factoryProductionSpeedFactor": 1,
"perkUpgradeRecyclingFactor": 0.5,
"perkCostFactor": 1,
"experienceCombatFactor": 1,
"experienceMiningFactor": 1,
"experienceExplorationQuestsFactor": 1,
"randomSpawnerAmount": "Normal",
"aggroPoolAmount": "Normal",
"enemyDamageFactor": 1,
"enemyHealthFactor": 1,
"enemyStaminaFactor": 1,
"enemyPerceptionRangeFactor": 1,
"bossDamageFactor": 1,
"bossHealthFactor": 1,
"threatBonus": 1,
"pacifyAllEnemies": false,
"tamingStartleRepercussion": "LoseSomeProgress",
"dayTimeDuration": 1800000000000,
"nightTimeDuration": 720000000000
},
"userGroups": [
{
"name": "Admins",
"password": "secret1",
"canKickBan": true,
"canAccessInventories": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 1
},
{
"name": "Friends",
"password": "secret2",
"canKickBan": false,
"canAccessInventories": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 3
},
{
"name": "Guests",
"password": "secret3",
"canKickBan": false,
"canAccessInventories": false,
"canEditBase": false,
"canExtendBase": false,
"reservedSlots": 0
}
]
}
Let's take a closer look at the parameters in the gameSettings block:
playerHealthFactor: 1
— Health multiplier from 0.25 to 4playerManaFactor: 1
— Mana multiplier from 0.25 to 4playerStaminaFactor: 1
— Stamina multiplier from 0.25 to 4enableDurability: true
— Enable equipment durabilityenableStarvingDebuff: false
— Enable starvationfoodBuffDurationFactor: 1
— Food effect duration from 0.5 to 2fromHungerToStarving: 600000000000
— Time until starvation, from 300000000000 (5 minutes) to 1200000000000 (20 minutes)shroudTimeFactor: 1
— Time factor in the shroud from 0.5 to 2tombstoneMode: "AddBackpackMaterials"
— Item retention mode on deathenableGliderTurbulences: true
— Wind effects while glidingweatherFrequency: "Normal"
— Weather change frequency (Disabled/Rare/Normal/Often)miningDamageFactor: 1
— Ore mining yield multiplier from 0.5 to 2plantGrowthSpeedFactor: 1
— Plant growth speed multiplier from 0.5 to 2resourceDropStackAmountFactor: 1
— Resource drop multiplier from 0.5 to 2factoryProductionSpeedFactor: 1
— Factory production speed multiplier from 0.5 to 2perkUpgradeRecyclingFactor: 0.5
— Rune return multiplier when dismantling weapons from 0 to 1perkCostFactor: 1
— Rune cost multiplier for upgrades from 0.5 to 2experienceCombatFactor: 1
— Combat experience multiplier from 0.25 to 2experienceMiningFactor: 1
— Mining experience multiplier from 0 to 2experienceExplorationQuestsFactor: 1
— Exploration experience multiplier from 0.25 to 2randomSpawnerAmount: "Normal"
— Enemy spawn amount (Few/Normal/Many/Extreme)aggroPoolAmount: "Normal"
— Number of enemies that can attack simultaneously (Few/Normal/Many/Extreme)enemyDamageFactor: 1
— Enemy (excluding bosses) damage multiplier from 0.25 to 5enemyHealthFactor: 1
— Enemy (excluding bosses) health multiplier from 0.25 to 4enemyStaminaFactor: 1
— Enemy (excluding bosses) stamina multiplier from 0.25 to 2enemyPerceptionRangeFactor: 1
— Enemy (excluding bosses) detection range multiplier from 0.25 to 2bossDamageFactor: 1
— Boss damage multiplier from 0.25 to 5bossHealthFactor: 1
— Boss health multiplier from 0.25 to 5threatBonus: 1
— Enemy attack frequency (excluding bosses) from 0.25 to 4pacifyAllEnemies: false
— Enemies won't attack unless provokedtamingStartleRepercussion: "LoseSomeProgress"
— Taming progress loss if startleddayTimeDuration: 1800000000000
— Day duration from 2 to 60 minutesnightTimeDuration: 720000000000
— Night duration from 2 to 60 minutesYou should specify these in the environment block of the compose.yaml
file.
Main variables:
SERVER_NAME = "enshrouded"
— Server nameSERVER_SLOT_COUNT = 16
— Maximum number of players on the serverSERVER_QUERY_PORT = 15637
— Service port numberSERVER_IP = "0.0.0.0"
— Server IP addressSERVER_SAVE_DIR = "./savegame"
— Save directorySERVER_LOG_DIR = "./logs"
— Log directorySERVER_VOICE_CHAT_MODE = "Proximity"
— Voice chat mode (Proximity = only nearby players can hear, Global = all players can hear)SERVER_ENABLE_VOICE_CHAT = false
— Enable/disable voice chat (default: disabled)SERVER_ENABLE_TEXT_CHAT = false
— Enable/disable text chat (default: disabled)UPDATE_CRON = ""
— World update schedule (similar to reopening a single-player game, restoring resources, and updating the global map)UPDATE_CHECK_PLAYERS = false
— Check for connected players before updating (default: disabled)BACKUP_CRON = ""
— Backup scheduleBACKUP_DIR = "./backup"
— Backup directoryBACKUP_MAX_COUNT = 0
— Maximum number of stored backupsHere’s an example of a docker-compose.yml
file with the environment block:
services:
enshrouded:
image: mornedhels/enshrouded-server:latest
container_name: enshrouded
restart: unless-stopped
stop_grace_period: 90s
ports:
- "15637:15637/udp"
volumes:
- ./game:/opt/enshrouded
environment:
- SERVER_NAME=Hostman
- SERVER_ROLE_0_NAME=Admins
- SERVER_ROLE_0_PASSWORD=secret1
- SERVER_ROLE_0_CAN_KICK_BAN=true
- SERVER_ROLE_0_CAN_ACCESS_INVENTORIES=true
- SERVER_ROLE_0_CAN_EDIT_BASE=true
- SERVER_ROLE_0_CAN_EXTEND_BASE=true
- SERVER_ROLE_0_RESERVED_SLOTS=1
- SERVER_ROLE_1_NAME=Friends
- SERVER_ROLE_1_PASSWORD=secret2
- SERVER_ROLE_1_CAN_ACCESS_INVENTORIES=true
- SERVER_ROLE_1_CAN_EDIT_BASE=true
- SERVER_ROLE_1_CAN_EXTEND_BASE=true
- SERVER_ROLE_1_RESERVED_SLOTS=3
- SERVER_ROLE_2_NAME=Guests
- SERVER_ROLE_2_PASSWORD=secret3
After making changes to the settings, restart the container:
docker compose up -d
To add the server to favorites:
Once added, your Enshrouded server will be available in the Join section when launching the game.
To update the game server, connect to it and restart the container:
cd /opt/satisfactory
docker compose down
docker compose up -d
Enshrouded is a relaxing and immersive game that offers a world of exploration and adventure.
With detailed server configuration, you can tailor the gameplay to your preferences—simplifying resource gathering, increasing enemy strength, or enjoying creative building features.
This game appeals to a wide range of players, regardless of age or gender. Try playing with friends, your partner, or children over 12 for an engaging cooperative experience!