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.
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
| Name | Github Profile |
|---|---|
| brainshead | https://github.com/brainshead |
Nightingale requires up to 1 ports
| Port | default |
|---|---|
| Game | 7777 |
This can be changed to any port.
| Requirements | Memory | Storage |
|---|---|---|
| Minimal | 4GB | 15 GB |
| Recommended | 6-8+ GB | 40GB+ |
Most setting can be done by Panel Variable Settings.
Location of server Files : NWX/Config/ServerSettings.ini
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.
To reset the server to an empty state, remove the following directories:
● NWX/Saved/Offline
● NWX/Saved/Config
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
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
No Official Support!
Not tested
| Name | Tag |
|---|---|
| Debian | ghcr.io/ptero-eggs/steamcmd:debian |
This is a required setting and cannot be set to anonymous.
Steam User Password
The ID corresponding to the game to download and run using SRCDS
Steam account auth code. Required if you have 2fa enabled
This is to auto-update the game server
Starting map difficulty, choose from [easy, medium, hard, extreme]. Used for the very first map, if one is not supplied from an imported character.
By 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.
If an admin password is set, players with the correct password can authenticate in-game in order to kick and ban other players.
By 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.
To 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.
#!/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 "-----------------------------------------"| Installation Image | ghcr.io/ptero-eggs/installers:debian | Installation Entrypoint | bash |
|---|