Skip to content

Longvinter

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

egg-longvinter.json

updated

Ports

Add an allocation on the node for each port.

  • Game (Primary Port in Pterodactyl) 7777 (UDP)
  • Query 27015 (UDP/TCP)
  • Query +1 27016 (UDP/TCP)

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Steam app
1007
Steam login
not required
Install script
76 lines

Image

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

Panel features

  • steam_disk_space

    The Panel tells the user when SteamCMD does not have enough disk space.

Startup

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

13 variables

Startup command

/home/container/longvinter-linux-server/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping Longvinter -Port=7777 (UDP) -QueryPort=27015

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

  • Name of the server, appears in Game browser.

    SERVER_NAMEUsers can edit

    required|string|max:64

  • 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.

    SERVER_TAGUsers can edit

    required|string|max:20

  • Maximum allowed players that can connect at any given time.

    MAX_PLAYERSUsers can edit

    required|integer|min:1

  • Server message that is on a signs around the island.

    SERVER_MOTDUsers can edit

    required|string|max:64

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

    SERVER_PASSWORDUsers can edit

    nullable|alpha_num|max:20

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

    COMMUNITY_WEBSITEUsers can edit

    nullable|string|max:64

  • 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.

    ADMIN_IDUsers can edit

    nullable|regex:/^([a-z0-9]{32} ?)*$/

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

    ENABLE_PVPUsers can edit

    required|string|in:true,false

  • 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.

    ENABLE_TENTDECAYUsers can edit

    required|string|in:true,false

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

    MAX_TENTSUsers can edit

    required|integer|min:1

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

    AUTO_UPDATEUsers can edit

    required|boolean

  • Query port used by steam

    QUERY_PORTUsers can see

    required|integer|between:1024,65536

  • SRCDS_APPIDUsers cannot see

    required|string|in:1007

Wings

Stop command
^C (SIGINT)
Running when the console shows
CreateSession: Successfully created session

Files Wings edits

Wings sets these values in these files before each start.

longvinter-linux-server/Longvinter/Saved/Config/LinuxServer/Game.ini file

ServerName
ServerName={{server.build.env.SERVER_NAME}}
ServerTag
ServerTag={{server.build.env.SERVER_TAG}}
MaxPlayers
MaxPlayers={{server.build.env.MAX_PLAYERS}}
ServerMOTD
ServerMOTD={{server.build.env.SERVER_MOTD}}
Password
Password={{server.build.env.SERVER_PASSWORD}}
CommunityWebsite
CommunityWebsite={{server.build.env.COMMUNITY_WEBSITE}}
AdminSteamID
AdminSteamID={{server.build.env.ADMIN_ID}}
PVP
PVP={{server.build.env.ENABLE_PVP}}
TentDecay
TentDecay={{server.build.env.ENABLE_TENTDECAY}}
MaxTents
MaxTents={{server.build.env.MAX_TENTS}}

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.

Changes

  1. Add steamcmd based eggs

    · Daniel Barton · 60ef9fb

All changes on GitHub

Problem with this egg?

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

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