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.
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
10 variables
This is a required setting and cannot be set to anonymous.
STEAM_USERUsers cannot see
nullable|string
Steam User Password
STEAM_PASSUsers cannot see
nullable|string
The ID corresponding to the game to download and run using SRCDS
SRCDS_APPIDUsers cannot see
string
Steam account auth code. Required if you have 2fa enabled
STEAM_AUTHUsers cannot see
nullable|string|max:5
This is to auto-update the game server
AUTO_UPDATEUsers can edit
required|boolean
Starting map difficulty, choose from [easy, medium, hard, extreme]. Used for the very first map, if one is not supplied from an imported character.
DifficultyUsers can edit
required|in:easy,medium,hard,extreme
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.
PASSWORDUsers can edit
nullable|max:20
If an admin password is set, players with the correct password can authenticate in-game in order to kick and ban other players.
ADMIN_PASSWORDUsers can edit
required|string|max:20
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.
MAX_PLAYERUsers can edit
required|numeric
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.
CHEATSUsers can edit
required|boolean
Wings
- Stop command
- ^C (SIGINT)
- Running when the console shows
- Game mode became ready
Files Wings edits
Wings sets these values in these files before each start.
NWX/Config/ServerSettings.ini file
- StartingDifficulty
- StartingDifficulty={{server.build.env.Difficulty}}
- Password
- Password={{server.build.env.PASSWORD}}
- AdminPassword
- AdminPassword={{server.build.env.ADMIN_PASSWORD}}
Readme
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
| Name | Github Profile |
|---|---|
| brainshead | https://github.com/brainshead |
Server Ports
Nightingale requires up to 1 ports
| Port | default |
|---|---|
| Game | 7777 |
This can be changed to any port.
Install Notes
| Requirements | Memory | Storage |
|---|---|---|
| Minimal | 4GB | 15 GB |
| Recommended | 6-8+ GB | 40GB+ |
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
Changes
- Nightingale: Fix startup command (#425)
· brainshead · 41a4aeb
- Add: Nightingale
· brainshead · 19a9f77
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 56 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/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 "-----------------------------------------"