Egg Repository

Pterodactyl Community Egg Repository

Longvinter

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

Read Me

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).
PortDefault
Game (Primary Port in Pterodactyl)7777 (UDP)
Query27015 (UDP/TCP)
Query +127016 (UDP/TCP)

Installation/System Requirements

Minimum
RAM2048 MiB
Storage2 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.

Yolks
NameTag
ghcr.io/ptero-eggs/yolks:debianghcr.io/ptero-eggs/yolks:debian
Variables and Startup

Startup Command

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

Variables

Server Name

Name of the server, appears in Game browser.

Environment Variable: SERVER_NAME
Default Value: Pterodactyl Longvinter Server
User Viewable:
User 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.

Environment Variable: SERVER_TAG
Default Value: Pterodactyl
User Viewable:
User Editable:
Max Players

Maximum allowed players that can connect at any given time.

Environment Variable: MAX_PLAYERS
Default Value: 32
User Viewable:
User Editable:
Server MOTD

Server message that is on a signs around the island.

Environment Variable: SERVER_MOTD
Default Value: Welcome to Pterodactyl Island!
User Viewable:
User Editable:
Server Password

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

Environment Variable: SERVER_PASSWORD
Default Value:
User Viewable:
User 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.

Environment Variable: COMMUNITY_WEBSITE
Default Value: pterodactyl.io
User Viewable:
User 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.

Environment Variable: ADMIN_ID
Default Value:
User Viewable:
User Editable:
Enable PVP

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

Environment Variable: ENABLE_PVP
Default Value: true
User Viewable:
User 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.

Environment Variable: ENABLE_TENTDECAY
Default Value: true
User Viewable:
User Editable:
Max Tents

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

Environment Variable: MAX_TENTS
Default Value: 2
User Viewable:
User Editable:
Auto Update

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

Environment Variable: AUTO_UPDATE
Default Value: 1
User Viewable:
User Editable:
Query Port

Query port used by steam

Environment Variable: QUERY_PORT
Default Value: 27015
User Viewable:
User Editable:
App ID

Environment Variable: SRCDS_APPID
Default Value: 1007
User Viewable:
User Editable:
Install Script
#!/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"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypointbash