Longvinter
GamesLongvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.
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.
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/yolks:debian | ghcr.io/ptero-eggs/yolks:debian |
Startup Command
/home/container/longvinter-linux-server/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping Longvinter -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} Variables (13)
Server Name
Name of the server, appears in Game browser.
- Environment:
SERVER_NAME- Default:
Pterodactyl Longvinter Server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
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:
SERVER_TAG- Default:
Pterodactyl- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
Max Players
Maximum allowed players that can connect at any given time.
- Environment:
MAX_PLAYERS- Default:
32- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|min:1
Server MOTD
Server message that is on a signs around the island.
- Environment:
SERVER_MOTD- Default:
Welcome to Pterodactyl Island!- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
Server Password
Add you password here. Use only number and letters. If left empty there is no password on the server.
- Environment:
SERVER_PASSWORD- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|alpha_num|max:20
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:
COMMUNITY_WEBSITE- Default:
pterodactyl.io- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:64
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:
ADMIN_ID- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|regex:/^([a-z0-9]{32} ?)*$/
Enable PVP
Here you write true or false if you want to enable/disable Player versus Player fights.
- Environment:
ENABLE_PVP- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
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:
ENABLE_TENTDECAY- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Max Tents
Maximum allowed of tents that players that can place in the server
- Environment:
MAX_TENTS- Default:
2- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|min:1
Auto Update
Updates gamefiles when reinstalling. Otherwise the server is freshly installed and you will loose your savegames.
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Query Port
Query port used by steam
- Environment:
QUERY_PORT- Default:
27015- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|between:1024,65536
App ID
- Environment:
SRCDS_APPID- Default:
1007- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:1007
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/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"