VEIN is a post-apocalyptic survival multiplayer sandbox game. Gather supplies to survive, explore abandoned buildings, combat bandits, defend your home, assist friendly NPCs, and rebuild society with friends.
Bare Minimum | Recommended | |
---|---|---|
Processor | Almost any proccessor will work (AMD64 only) | - |
RAM | 3 GiB | 4 GiB |
Storage | 6 GiB | 8 GiB |
Network | Any reasonable speed | - |
Game Ownership | Not needed | * |
Ports required to run the server in a table format.
Port | default |
---|---|
Game | 7777 |
Query | 27015 |
Some config values can be changed under the startup tab.
Everything else must manual be changed in Vein/Saved/Config/LinuxServer/Game.ini
See here what every option means.
Do not touch the Vein/Saved/Config/LinuxServer/Engine.ini
file, it will brake the console!
Name | Tag |
---|---|
ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
App ID | SRCDS_APPID | 2131400 | No | No | |
Auto update | Auto update the server on start | AUTO_UPDATE | 1 | Yes | Yes |
Query Port | QUERY_PORT | 27015 | Yes | No | |
Max players | MAX_PLAYERS | 16 | Yes | Yes | |
Public Server | Change this to false if you don’t want your game to be listed in the server browser | PUBLIC_SERVER | True | Yes | Yes |
Server Name | SERVER_NAME | Vein Server | Yes | Yes | |
Server Password | SERVER_PASSWORD | Yes | Yes |
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'
##
# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.
#apt -y update
#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates
## just in case someone removed the defaults.
if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
echo -e "steam user is not set.\n"
echo -e "Using anonymous user.\n"
STEAM_USER=anonymous
STEAM_PASS=""
STEAM_AUTH=""
else
echo -e "user set to ${STEAM_USER}"
fi
## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/steamcmd
# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so
## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so
## add below your custom commands if needed
FILE=/mnt/server/Vein/Saved/Config/LinuxServer/Game.ini
if [ -f "$FILE" ]; then
echo "Config file exitis, skipping"
else
echo "Config file does not exits, making one"
mkdir -p /mnt/server/Vein/Saved/Config/LinuxServer/
## Will only work if the egg is merged
curl -sSL -o /mnt/server/Vein/Saved/Config/LinuxServer/Game.ini https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/vein/Game.ini
curl -sSL -o /mnt/server/Vein/Saved/Config/LinuxServer/Engine.ini https://pteropaste.com/lt75qughcmfj
fi
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"