Egg Repository

Pterodactyl Community Egg Repository

NeosVR

Neos VR is a metaverse engineered for the unknown! It’s one of the most versatile and feature rich metaverses for virtual reality, designed so everybody can find something interesting or useful to do in a social setting.

Read Me

Neos VR headless client

From https://neos.com

Developing Neos, short for neo spatium - new space, a highly collaborative virtual and augmented reality metaverse.

Notice

To use this egg you will need a beta code and a Steam account. Currently the beta code can only acquired by going to the Neos Patreon, subscribing to the "Gunter" level, and linking your Patreon to Discord. Then you will be able to see the #headless-client channel and the password will be pinned in the command after -betapassword. The account will also need to have Neos VR in its library. You can do this by running app_license_request 740250 in steamcmd if you have never installed Neos VR on this Steam account. For more information related to configuration go here: https://wiki.neos.com/Headless_Client/Server

This game does not require any port forwarding, but instead uses UDP NAT hole punching (and/or relay) on a random port. You can force a certain port in the config for direct connections, but most communcation is done via NAT hole punch using LiteNetLib (LNL).

Yolks
NameTag
Monoghcr.io/ptero-eggs/yolks:mono_latest
Variables and Startup

Startup Command

mono Neos.exe -c ./Config/Config.json -l ./Logs $(if {{ENABLE_MODLOADER}}; then echo "-LoadAssembly ./NeosModLoaderHeadless.dll"; fi)

Variables

Steam Account User

The username for your Steam account.

Environment Variable: STEAM_USER
Default Value:
User Viewable:
User Editable:
Steam Account Password

The password for your Steam account.

Environment Variable: STEAM_PASS
Default Value:
User Viewable:
User Editable:
Steam Account Token/Code

The Steam Guard code or Login Token emailed to you.

Environment Variable: STEAM_AUTH
Default Value:
User Viewable:
User Editable:
Enable Mod Loader

See: https://github.com/neos-modding-group/NeosModLoader for more information on Neos Mod Loader.

Environment Variable: ENABLE_MODLOADER
Default Value: false
User Viewable:
User Editable:
Beta Password

This is the "Beta Password" that is only acquired by going to the Neos Patreon, subscribing to the "Gunter" level, and linking your Patreon to Discord. Then you will be able to see the #headless-client channel and the password will be pinned in the command after -betapassword.

Environment Variable: SRCDS_BETAPASS
Default Value:
User Viewable:
User Editable:
Beta branch name

Environment Variable: SRCDS_BETAID
Default Value: headless-client
User Viewable:
User Editable:
Auto update

Auto update the server on startup

Environment Variable: AUTO_UPDATE
Default Value: 1
User Viewable:
User Editable:
Steam App ID

Environment Variable: SRCDS_APPID
Default Value: 740250
User Viewable:
User Editable:
Install Script
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'


## 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

## create default config
mkdir -p /mnt/server/Config
rm -rf /mnt/server/Config/Config.json
curl -sSL -o /mnt/server/Config/Config.json https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/neosvr/Config.json

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypointbash