Egg Repository

Pterodactyl Community Egg Repository

Nightingale

Nightingale is an open world survival crafting game, where you’ll adventure across the mysterious and dangerous Fae Realms. As a daring Realmwalker, you’ll defeat monstrous enemies, survive hostile environments, and build elaborate estates in a visually stunning Gaslamp Fantasy world.

Read Me

Nightingale

Nightingale is an open world survival crafting game, where you’ll adventure across the mysterious and dangerous Fae Realms. As a daring Realmwalker, you’ll defeat monstrous enemies, survive hostile environments, and build elaborate estates in a visually stunning Gaslamp Fantasy world

Author & Contributers

NameGithub Profile
brainsheadhttps://github.com/brainshead

Server Ports

Nightingale requires up to 1 ports

Portdefault
Game7777

This can be changed to any port.

Install Notes

RequirementsMemoryStorage
Minimal4GB15 GB
Recommended6-8+ GB40GB+

Settings

Most setting can be done by Panel Variable Settings.

Location of server Files : NWX/Config/ServerSettings.ini

Persistence (Saved Data)

Realm data is be stored in: NWX/Saved/Offline/DedicatedServer/Deploy

Character data is stored in: NWX/Saved/Offline//Profiles where

PlatformID is the Steam or Epic ID of each connecting user.

Backups

Copying the following directories to a backup location is sufficient to capture the state of a Nightingale dedicated server:

● NWX/Saved/Offline

● NWX/Saved/Config

● NWX/Config

The first time the dedicated server is launched on a particular weekday, it will copy the Offline

directory into the OfflineBackup directory.

Resetting Server Persistence

To reset the server to an empty state, remove the following directories:

● NWX/Saved/Offline

● NWX/Saved/Config

Enabling Cheats Mode on Clients

To enable debug/cheats, the client must be launched with the -EnableCheats commandline argument.

Players will need to authenticate with the admin password to use the cheats in-game

IMPORTANT

Also Server need to have Cheats enabled

Further Adjustements available

Status Endpoint (not built in egg )

To enable scraping server status from an http endpoint, add -statusPort= to the commandline, where is a port in the range 1024-65535.

Status can be scraped from the /status endpoint periodically.

By default this will bind to localhost only. To bind to a specific IP,

add -ini:Engine:[HTTPServer.Listeners]:+ListenerOverrides=(Port=,BindAddress=) to the commandline as well, or use 0.0.0.0 to bind to all available interfaces.

If the server is still loading and not yet ready for players, it will return a 503 Server Unavailable http status and a JSON object

Once the server is ready for players, it will return a 200 OK status and a JSON object

Mod Support

No Official Support!

Not tested

Yolks
NameTag
Debianghcr.io/ptero-eggs/steamcmd:debian
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
Steam UserThis is a required setting and cannot be set to anonymous.STEAM_USERNoNo
Steam PasswordSteam User PasswordSTEAM_PASSNoNo
Game IDThe ID corresponding to the game to download and run using SRCDSSRCDS_APPID3796810NoNo
Steam AuthSteam account auth code. Required if you have 2fa enabledSTEAM_AUTHNoNo
Auto Update ServerThis is to auto-update the game serverAUTO_UPDATE1YesYes
DifficultyStarting map difficulty, choose from [easy, medium, hard, extreme]. Used for the very first map, if one is not supplied from an imported character.DifficultyeasyYesYes
PasswordBy default the server will start with no password required for players to connect. It is recommended to set one to ensure only players you intend can connect.PASSWORDchangemeYesYes
Admin PasswordIf an admin password is set, players with the correct password can authenticate in-game in order to kick and ban other players.ADMIN_PASSWORDletmeinYesYes
Max playersBy default Nightingale supports a maximum of six players in a realm. This maximum can bechanged through a command-line argument. Please note that increasing the maximum number of players past six is unsupported and may result in unintended behaviour.MAX_PLAYER6YesYes
Cheats ModeTo allow use of the cheat/debug menu and commands, add the enable cheats command-line argument. Players will need to authenticate with the admin password to use the cheats in-game.CHEATS1YesYes
Install Script
#!/bin/bash
# steamcmd Base Installation Script


## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; 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
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

#Custom Commands

# Copy default server settings if none exist
if [ ! -f /mnt/server/NWX/Config/ServerSettings.ini ]; then
    cp /mnt/server/NWX/Config/ExampleServerSettings.ini /mnt/server/NWX/Config/ServerSettings.ini
    echo "ServerSettings.ini created from ExampleServerSettings.ini"
else
    echo "ServerSettings.ini already exists, keeping current settings."
fi

# Make sure file is executable
chmod +x /mnt/server/NWX/Binaries/Linux/NWXServer-Linux-Shipping


echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"