Rimworld Together
A community driven multiplayer mod, for Rimworld.
Ports
Add an allocation on the node for each port.
- Game 25555
Install
- Installer image
- ghcr.io/ptero-eggs/installers:debian
- Install script
- 40 lines
Image
- .NET 7 ghcr.io/ptero-eggs/yolks:dotnet_7
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
3 variables
Startup command
./GameServerVERSIONUsers can edit
required|string|max:20
The maximum amount of players that can join. Default: 100
MAX_PLAYERSUsers can edit
required|numeric|between:1,150
If the console output should be verbose or not.
VERBOSEUsers can edit
required|string|in:false,true
Wings
- Stop command
- quit
- Running when the console shows
- Server launched
Files Wings edits
Wings sets these values in these files before each start.
Configs/ServerConfig.json json
- IP
- 0.0.0.0
- Port
- {{server.build.default.port}}
- MaxPlayers
- {{server.build.env.MAX_PLAYERS}}
- VerboseLogs
- {{server.build.env.VERBOSE}}
Readme
Changes
- Rimworld Together: Update config file path
· Daniel Barton · 64fb6b0
- Add standalone games
· Daniel Barton · 74c706a
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 40 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/bin/bash
## get release info and download links
LATEST_JSON=$(curl -L --silent "https://api.github.com/repos/RimworldTogether/Rimworld-Together/releases/latest")
RELEASES=$(curl -L --silent "https://api.github.com/repos/RimworldTogether/Rimworld-Together/releases")
MATCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "Linux-x64 " || echo "Linux-ARM-x64")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
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 ${MATCH})
else
echo -e "defaulting to latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
fi
fi
mkdir -p /mnt/server
cd /mnt/server
curl -sSL -o server.zip ${DOWNLOAD_URL}
unzip -o server.zip
rm server.zip
chmod +x GameServer
if [ -f "/mnt/server/Core/ServerConfig.json" ]; then
echo "Config file exits"
else
mkdir -p /mnt/server/Core
echo "{\"IP\":\"0.0.0.0\",\"Port\":$SERVER_PORT,\"MaxPlayers\":$MAX_PLAYERS,\"verboseLogs\":$VERBOSE}" | jq . > /mnt/server/Core/ServerConfig.json
fi
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"