Skip to content

Vintage Story

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.

Report an issue
updated
variables
5
images
3
author
mail@wuffy.eu
sha256
34a824acadd3

Readme

Vintage Story

The Vintage Story Server

The server supports mods

Egg supports following branches for server files: pre, unstable, stable

from the developers

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.

Server Ports

Vintage Story requires a single port

Port default
Game 42420

Startup command

./VintagestoryServer --dataPath ./data --port={{SERVER_PORT}} --maxclients={{MAX_CLIENTS}} {{OPTIONS}}

The parts in blue are filled in by the panel when the server starts, from the variables below.

Docker images

  • Dotnet 8 ghcr.io/ptero-eggs/yolks:dotnet_8
  • Dotnet 9 ghcr.io/ptero-eggs/yolks:dotnet_9
  • Dotnet 10 ghcr.io/ptero-eggs/yolks:dotnet_10

2 contributors

Variables

5 settings

  • Start options

    env
    OPTIONS
    default
    none
    rules
    nullable|string|max:200
    • viewable
    • editable
  • Release branch

    env
    FILES_BRANCH
    default
    stable
    rules
    required|string|in:stable,unstable,pre
    • viewable
    • editable
  • Release version

    env
    RELEASE_VERSION
    default
    latest
    rules
    required|string|max:20
    • viewable
    • editable
  • Max Clients

    env
    MAX_CLIENTS
    default
    16
    rules
    required|integer|max:256
    • viewable
    • editable
  • 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.

    env
    SQLITE_TMPDIR
    default
    /home/container/data/Backups
    rules
    required|string|max:40
    • viewable
Installation script 64 lines container ghcr.io/ptero-eggs/installers:debian entrypoint bash show
#!/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 "-----------------------------------------"