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.

egg-vintage-story.json

updated

Ports

Add an allocation on the node for each port.

  • Game 42420

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Install script
64 lines

Images

New servers use the first image. Users can change it on the Startup page.

  • Dotnet 8 default 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

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

5 variables

Startup command

./VintagestoryServer --dataPath ./data --port=42420 --maxclients=16 {{OPTIONS}}

Dotted values come from the server settings. These values are examples.

  • OPTIONSUsers can edit

    nullable|string|max:200

  • FILES_BRANCHUsers can edit

    required|string|in:stable,unstable,pre

  • RELEASE_VERSIONUsers can edit

    required|string|max:20

  • MAX_CLIENTSUsers can edit

    required|integer|max:256

  • 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_TMPDIRUsers can see

    required|string|max:40

Wings

Stop command
/stop
Running when the console shows
Dedicated Server now running on Port

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

Changes

  1. Vintage Story: Update docker images (#471)

    · Red Banana · e54d05c

  2. Add Dotnet 8 to vintage story

    · Red Banana · 2565465

  3. Add standalone games

    · Daniel Barton · 74c706a

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 64 lines bash in ghcr.io/ptero-eggs/installers:debian 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 "-----------------------------------------"