Rimworld: Open World
gamesThe Open World mod allows you to create and join servers to play with people all around the world, it introduces plenty of new features including trading, gifting, bartering, PvP and so much more! https://github.com/D12-Dev/OpenWorld
README
Open World
From their site
The Open World mod allows you to create and join servers to play with people all around the world, it introduces plenty of new features including trading, gifting, bartering, PvP and so much more!
Server Ports
| Port | default |
|---|---|
| Game | 25555 |
Mods/Plugins may require ports to be added to the server. See here for help
Docker Images (2)
| Name | Image |
|---|---|
Dotnet 3.1 | ghcr.io/ptero-eggs/yolks:dotnet_3.1 |
Dotnet 6 | ghcr.io/ptero-eggs/yolks:dotnet_6 |
Startup Command
./OpenWorldServer Variables (8)
Open World Version
- Environment:
VERSION- Default:
latest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:8
Max Players
sets the maximum number of players allowed to connect at once.
- Environment:
MAX_PLAYERS- Default:
10- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|int
Enforce Mods
This forces players to use the mods listed in the the "Mods Enforced" folder, with this disabled it will allow players to join with any mods they would like
- Environment:
ENFORCE_MODS- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Use Mod Blacklist
enabled you to blacklist mods from being used, usually used when enforced mods are disabled.
- Environment:
USE_MOD_BLACKLIST- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Use Custom Difficulty
forces all players to use the difficulty setting set in the "Difficulty" file. MAKE SURE YOU GIVE A VALUE TO EVERYTHING OR IT WILL BE AT 0%
- Environment:
USE_CUSTOM_DIFF- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Use Whitelist
allows only the usernames listed in the "Whitelist" file to join the server.
- Environment:
WHITELIST- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Allow Custom Scenarios
allows people to create custom scenarios when creating their save on the server.
- Environment:
CUSTOM_SCEN- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Player Version
version the server will accept clients joining in with. TO see the latest: https://discord.com/channels/992806266109964319/992881103071354890 for example for v1.12 you would write 1.12
- Environment:
PLAYER_VERSION- Default:
1.2- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:10
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/bin/bash
#Create the server directory
mkdir -p /mnt/server
cd /mnt/server
apt update
apt -y install curl jq unzip git
#Check for latest release & download URLs
LATEST_JSON=$(curl --silent "https://api.github.com/repos/D12-Dev/OpenWorld/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/D12-Dev/OpenWorld/releases")
ARCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "linux-x64" || echo "linux-arm64")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${ARCH} | head -1)
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${ARCH} | head -1)
else
echo -e "defaulting to latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${ARCH}| head -1)
fi
fi
#Download the Rimworld Open World server
echo -e "Running curl -sSL ${DOWNLOAD_URL} -o ${ARCH}.zip"
curl -sSL ${DOWNLOAD_URL} -o ${ARCH}.zip
echo -e "Unzipping ${ARCH}.zip"
unzip -o ${ARCH}.zip
mv ${ARCH}/* /mnt/server
chmod +x "OpenWorldServer"
rm -rf ${ARCH}.zip ${ARCH}/
cd /mnt/server
FILE=/mnt/server/Data/Config.json
if [ -f "$FILE" ]; then
echo "config already exists."
else
echo "Config does not exist, making one"
mkdir -p /mnt/server/Data
cd /mnt/server/Data
cat << EOF > "Config.json"
{
"LocalAddress": "0.0.0.0",
"ServerPort": 25555,
"MaxPlayers": 10,
"PlayerVersion": "1.2",
"EnforceMods": false,
"UseModBlacklist": false,
"UseCustomDifficulty": false,
"UseWhitelist": false,
"AllowCustomScenarios": false
}
EOF
fi
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"