Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the advent of human civilization, or take your own path.
The server supports mods
Egg supports following branches for server files: pre, unstable, stable
Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the advent of human civilization, or take your own path. New to the game? Make sure to checkout their starter page.
Vintage Story requires a single port
Port | default |
---|---|
Game | 42420 |
Name | Tag |
---|---|
Dotnet 7 | ghcr.io/ptero-eggs/yolks:dotnet_7 |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
Start options | OPTIONS | Yes | Yes | ||
Release branch | FILES_BRANCH | stable | Yes | Yes | |
Release version | RELEASE_VERSION | latest | Yes | Yes | |
Max Clients | MAX_CLIENTS | 16 | Yes | Yes | |
Sqlite temporary files directory | Defines the location for the temporary files in sqlite. This is needed for the "/db vacuum" command (added in 1.19) since else it will use the /tmp folder which by default only has 100MB and is in memory. | SQLITE_TMPDIR | /home/container/data/Backups | Yes | No |
#!/bin/bash
# Vintage Story Installation Script
#
# Server Files: /mnt/server
apt update
apt -y install curl jq
declare -A API_URLS=(
["stable"]="http://api.vintagestory.at/stable.json"
["unstable"]="http://api.vintagestory.at/unstable.json"
)
declare -A DOWNLOAD_URLS=(
["stable"]="https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_${RELEASE_VERSION}.tar.gz"
["unstable"]="https://cdn.vintagestory.at/gamefiles/unstable/vs_server_linux-x64_${RELEASE_VERSION}.tar.gz"
["pre"]="https://cdn.vintagestory.at/gamefiles/pre/vs_server_linux-x64_${RELEASE_VERSION}.tar.gz"
)
BRANCH="${FILES_BRANCH}"
if [ -z "${RELEASE_VERSION}" ] || [ "${RELEASE_VERSION}" == "latest" ] && [ "${BRANCH}" == "pre" ]; then
echo "-----------------------------------------"
echo "Installation failed..."
echo "Please specify the version when using RELEASE BRANCH: pre"
echo "-----------------------------------------"
exit
fi
if [ -z "${RELEASE_VERSION}" ] || [ "${RELEASE_VERSION}" == "latest" ]; then
API_URL="${API_URLS[$BRANCH]}"
echo "API URL: $API_URL"
DOWNLOAD_URL=$(curl -SsL "$API_URL" | jq -r 'if ([.[]] | .[0].linuxserver.urls.cdn) != null then [.[]] | .[0].linuxserver.urls.cdn else [.[]] | .[0].linuxserver.urls.local end')
else
DOWNLOAD_URL="${DOWNLOAD_URLS[$BRANCH]}"
fi
echo "Download URL: $DOWNLOAD_URL"
cd /mnt/server/ || exit
# make sure to cleanup the prior installation else this might cause issue with old asset files that do not exist in the new version
if [ -d "assets" ]; then
echo "Removing old installation files"
rm -rf assets/
rm -rf Lib/
fi
curl -o vs_server.tar.gz "${DOWNLOAD_URL}"
tar -xzf vs_server.tar.gz
if [ $? -ne 0 ]; then
echo "-----------------------------------------"
echo "Installation failed..."
echo "Please make sure the specified version exists: $RELEASE_VERSION"
echo "-----------------------------------------"
rm vs_server.tar.gz
exit
fi
rm vs_server.tar.gz
rm server.sh
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"