Nuclear Option
Fly near-future aircraft with immersive physics on intense battlefields, facing land, air and sea threats. Wage war against AI or other players with an array of potent weapons. Wield tactical and strategic nuclear weapons, capable of annihilating anything in their path.
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
7 variables
Startup command
export LD_LIBRARY_PATH="$(pwd)/linux64:$LD_LIBRARY_PATH"; ./NuclearOptionServer.x86_64Steam App ID used for installation and updates. Rarely needs to be changed.
SRCDS_APPIDUsers cannot see
required|string|in:3930080
Name of the server
SERVER_NAMEUsers can edit
required|string|max:30
Maximum number of players allowed
MAX_PLAYERSUsers can edit
required|string
Disabling or enabling automated updates on boot
AUTO_UPDATEUsers can edit
required|boolean
Modded server, true or false
MODDED_SERVERUsers can edit
required|string
The password used to join the server
SERVER_PASSWORDUsers can edit
nullable|string
QUERY_PORTUsers can edit
required|string
Wings
- Stop command
- ^C (SIGINT)
- Running when the console shows
- [DedicatedServerManager] Waiting for Players before loading next map
Files Wings edits
Wings sets these values in these files before each start.
DedicatedServerConfig.json json
- ServerName
- {{server.build.env.SERVER_NAME}}
- Password
- {{server.build.env.SERVER_PASSWORD}}
- MaxPlayers
- {{server.build.env.MAX_PLAYERS}}
- ModdedServer
- {{server.build.env.MODDED_SERVER}}
- Port.Value
- {{server.build.default.port}}
- QueryPort.Value
- {{server.build.env.QUERY_PORT}}
- MissionDirectory
- /home/container/NuclearOption-Missions
Readme
Nuclear Option
Steam Page
Fly near-future aircraft with immersive physics on intense battlefields, facing land, air and sea threats. Wage war against AI or other players with an array of potent weapons. Wield tactical and strategic nuclear weapons, capable of annihilating anything in their path.
Server Ports
Ports required to run the server, they can be changed.
| Port | default |
|---|---|
| Game | 27015 |
| Query | 7777 |
Requirements of RAM and storage on a empty server.
| Req | Minimum | Recommend |
|---|---|---|
| RAM | 500MB | 1.5GB |
| Storage | 2.0GB | 3.0GB |
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 67 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}" == "" ]] || [[ "${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 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
cat > /mnt/server/DedicatedServerConfig.json <<EOF
{
"BanListPaths": [ "ban_list.txt" ],
"MaxPlayers": 20,
"MissionDirectory": "/home/steam/NuclearOption-Missions",
"MissionRotation": [
{
"Key": { "Group": "BuiltIn", "Name": "Escalation" },
"MaxTime": 7200
},
{
"Key": { "Group": "BuiltIn", "Name": "Terminal Control" },
"MaxTime": 7200
}
],
"ModdedServer": false,
"NoPlayerStopTime": 30,
"Password": "ChangeMe",
"Port": { "IsOverride": true, "Value": ${SERVER_PORT} },
"QueryPort": { "IsOverride": true, "Value": ${QUERY_PORT} },
"RotationType": 0,
"ServerName": "Pterodactyl-server"
}
EOF
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"