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.
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.
Ports required to run the server, they can be changed.
| Port | default |
|---|---|
| Game | 27015 |
| Query | 7777 |
| Req | Minimum | Recommend |
|---|---|---|
| RAM | 500MB | 1.5GB |
| Storage | 2.0GB | 3.0GB |
| Name | Tag |
|---|---|
| ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
Steam App ID used for installation and updates. Rarely needs to be changed.
Name of the server
Maximum number of players allowed
Disabling or enabling automated updates on boot
Modded server, true or false
The password used to join the server
#!/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 "-----------------------------------------"| Installation Image | ghcr.io/ptero-eggs/installers:debian | Installation Entrypoint | bash |
|---|