Nuclear Option
GamesFly 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.
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 |
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
Startup Command
export LD_LIBRARY_PATH="$(pwd)/linux64:$LD_LIBRARY_PATH"; ./NuclearOptionServer.x86_64 Variables (7)
Steam App ID
Steam App ID used for installation and updates. Rarely needs to be changed.
- Environment:
SRCDS_APPID- Default:
3930080- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:3930080
Server Name
Name of the server
- Environment:
SERVER_NAME- Default:
Pterodactyl-server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:30
Max Players
Maximum number of players allowed
- Environment:
MAX_PLAYERS- Default:
20- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Auto Update
Disabling or enabling automated updates on boot
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Modded Server
Modded server, true or false
- Environment:
MODDED_SERVER- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Server Password
The password used to join the server
- Environment:
SERVER_PASSWORD- Default:
ChangeMe- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string
Query Port
- Environment:
QUERY_PORT- Default:
7777- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/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 "-----------------------------------------"