Skip to content

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.

Report an issue
updated
variables
7
images
1
author
ptero@redbananaofficial.com
sha256
73b150bec6c3

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

Startup command

export LD_LIBRARY_PATH="$(pwd)/linux64:$LD_LIBRARY_PATH"; ./NuclearOptionServer.x86_64

The parts in blue are filled in by the panel when the server starts, from the variables below.

Docker image

  • ghcr.io/ptero-eggs/steamcmd:debian

1 contributor

Variables

7 settings

  • Steam App ID

    Steam App ID used for installation and updates. Rarely needs to be changed.

    env
    SRCDS_APPID
    default
    3930080
    rules
    required|string|in:3930080
  • Server Name

    Name of the server

    env
    SERVER_NAME
    default
    Pterodactyl-server
    rules
    required|string|max:30
    • viewable
    • editable
  • Max Players

    Maximum number of players allowed

    env
    MAX_PLAYERS
    default
    20
    rules
    required|string
    • viewable
    • editable
  • Auto Update

    Disabling or enabling automated updates on boot

    env
    AUTO_UPDATE
    default
    1
    rules
    required|boolean
    • viewable
    • editable
  • Modded Server

    Modded server, true or false

    env
    MODDED_SERVER
    default
    false
    rules
    required|string
    • viewable
    • editable
  • Server Password

    The password used to join the server

    env
    SERVER_PASSWORD
    default
    ChangeMe
    rules
    nullable|string
    • viewable
    • editable
  • Query Port

    env
    QUERY_PORT
    default
    7777
    rules
    required|string
    • viewable
    • editable
Installation script 67 lines container ghcr.io/ptero-eggs/installers:debian entrypoint bash show
#!/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 "-----------------------------------------"