Skip to content

Longvinter

Longvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.

Report an issue
updated
variables
13
images
1
author
tueye@tuworld.de
sha256
428ee050b451

Readme

Longvinter

Longvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.


Server Ports

  • Default server ports are listed below, but all three ports can be changed freely.
  • Note: The query ports does not seem to be used at all at the moment (at least on the linux server).
Port Default
Game (Primary Port in Pterodactyl) 7777 (UDP)
Query 27015 (UDP/TCP)
Query +1 27016 (UDP/TCP)

Installation/System Requirements

Minimum
RAM 2048 MiB
Storage 2 GB

Known Errors/Warnings

The following errors or warnings you see in the console can safely be ignored:

[2022.05.15-00.07.35:353][508]LogEOS: Error: UpdateSession: 
Successfully updated session 'Test' with ID '18exxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

↑ This error is displayed regularly, but does not affect the server functions. An open issue already exists in the developers repository.

Startup command

/home/container/longvinter-linux-server/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping Longvinter -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}}

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

Docker image

  • ghcr.io/ptero-eggs/yolks:debian

Panel features

  • steam_disk_space

1 contributor

Variables

13 settings

  • Server Name

    Name of the server, appears in Game browser.

    env
    SERVER_NAME
    default
    Pterodactyl Longvinter Server
    rules
    required|string|max:64
    • viewable
    • editable
  • Server Tag

    It's the tag that allows for easier search of the server. Please don't use the word OFFICIAL on it. And only place one tag.

    env
    SERVER_TAG
    default
    Pterodactyl
    rules
    required|string|max:20
    • viewable
    • editable
  • Max Players

    Maximum allowed players that can connect at any given time.

    env
    MAX_PLAYERS
    default
    32
    rules
    required|integer|min:1
    • viewable
    • editable
  • Server MOTD

    Server message that is on a signs around the island.

    env
    SERVER_MOTD
    default
    Welcome to Pterodactyl Island!
    rules
    required|string|max:64
    • viewable
    • editable
  • Server Password

    Add you password here. Use only number and letters. If left empty there is no password on the server.

    env
    SERVER_PASSWORD
    default
    none
    rules
    nullable|alpha_num|max:20
    • viewable
    • editable
  • Community Website

    Allows you to promote a website on a same place where the server message is shown. This link can be opened in-game.

    env
    COMMUNITY_WEBSITE
    default
    pterodactyl.io
    rules
    nullable|string|max:64
    • viewable
    • editable
  • Admin EOS Account ID

    Here you can add all the admins that you want to have in the server. If you want to add multiple separate the ID's with single space. The ID is found in-game under Options > General.

    env
    ADMIN_ID
    default
    none
    rules
    nullable|regex:/^([a-z0-9]{32} ?)*$/
    • viewable
    • editable
  • Enable PVP

    Here you write true or false if you want to enable/disable Player versus Player fights.

    env
    ENABLE_PVP
    default
    true
    rules
    required|string|in:true,false
    • viewable
    • editable
  • Tent Decay

    Here you write true or false if you want to enable/disable tent decay to make sure there isn't an abundant number of abandoned tents in the server.

    env
    ENABLE_TENTDECAY
    default
    true
    rules
    required|string|in:true,false
    • viewable
    • editable
  • Max Tents

    Maximum allowed of tents that players that can place in the server

    env
    MAX_TENTS
    default
    2
    rules
    required|integer|min:1
    • viewable
    • editable
  • Auto Update

    Updates gamefiles when reinstalling. Otherwise the server is freshly installed and you will loose your savegames.

    env
    AUTO_UPDATE
    default
    1
    rules
    required|boolean
    • viewable
    • editable
  • Query Port

    Query port used by steam

    env
    QUERY_PORT
    default
    27015
    rules
    required|integer|between:1024,65536
    • viewable
  • App ID

    env
    SRCDS_APPID
    default
    1007
    rules
    required|string|in:1007
Installation script 76 lines container ghcr.io/ptero-eggs/installers:debian entrypoint bash show
#!/bin/bash

# File: Pterodactyl Longvinter Egg - egg-longvinter.json
# Authors: TuEye
# Date: 2022/05/15
# License: MIT License


## Install Git LFS
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt -y install git-lfs

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


# Set up 32 and 64 bit libraries
mkdir -p /mnt/server/.steam/sdk{32,64}
cp -v linux32/steamclient.so /mnt/server/.steam/sdk32/steamclient.so
cp -v linux64/steamclient.so /mnt/server/.steam/sdk64/steamclient.so

## Longvinter setup
# If not using auto update and gamedir exist, remove it
if [ ! "${AUTO_UPDATE}" ] && [ -d "$HOME/longvinter-linux-server" ]; then
    echo -e "\nDelete game dir\n"
    rm -r $HOME/longvinter-linux-server
fi

# Clone Longvinter Dedicated Server repo or do auto update if activated
cd $HOME
if [ ! -d "$HOME/longvinter-linux-server" ]; then
    git clone "https://github.com/Uuvana-Studios/longvinter-linux-server.git"
elif [ "${AUTO_UPDATE}" ]; then
    echo -e "\nUpdating gamefiles\n"
    cd $HOME/longvinter-linux-server
    git config pull.rebase false
    git restore .
    git stash
    git pull "https://github.com/Uuvana-Studios/longvinter-linux-server.git" main
fi
chmod -R ugo+rwx $HOME/longvinter-linux-server/


# Create base config if not exist
if [ ! -f $HOME/longvinter-linux-server/Longvinter/Saved/Config/LinuxServer/Game.ini ]; then
    echo -e "\nCreating game config\n"
    cp $HOME/longvinter-linux-server/Longvinter/Saved/Config/LinuxServer/Game.ini.default $HOME/longvinter-linux-server/Longvinter/Saved/Config/LinuxServer/Game.ini
    if ! grep -q "ServerTag=" "$HOME/longvinter-linux-server/Longvinter/Saved/Config/LinuxServer/Game.ini"; then
        sed -i '/^ServerName=.*/a ServerTag=Default' $HOME/longvinter-linux-server/Longvinter/Saved/Config/LinuxServer/Game.ini
    fi
fi

echo -e "\nLongvinter Dedicated Server successfully installed!\n"