Planetary Annihilation Titans Dedicated Server
1.3K
Dedicated Server Setup for Planetary Annihilation
I wanted to use docker, as all the images were depreciated by now. However there are challenges to making this 100% automated and available on the hub. Namely, steamcmd will not work anonymously. You must login and persist that login.
Planetary Annihilation Titans is a standalone expansion of the original Planetary Annihilation, a real-time strategy game. It was released on August 18, 2015, and adds 21 new units to the game, including five Titan-class units. It also adds multi-level terrain, a bounty mode, and an improved tutorial1. The game allows players to command armies with numbers in the thousands across multiple planets on land, sea, air, and even in orbit. It also features epic multiplayer, where up to ten friends can play in massive free-for-all and team-based matches.
This Docker image contains the dedicated server of the game.
Initial one-time setup
As of now, you can't download the PA Titans dedicated server using +login anonymous. You need to cache your Steam credentials first.
Use the provided setup script to automate credential caching:
$ ./setup-credentials.sh
This script will:
If you prefer to do the setup manually:
If you're using docker-compose (recommended), create the volume with the docker-compose prefix:
$ docker volume create docker_steamcmd_login_volume
Or if you're using plain Docker commands:
$ docker volume create steamcmd_login_volume
Important: You need a Steam account that owns PA Titans. You can use your main account or create a dedicated one.
Replace [STEAMUSER] and [ACCOUNTPASSWORD] with your actual Steam credentials:
$ docker run -it --rm \
-v "docker_steamcmd_login_volume:/home/steam/Steam" \
obiwantoby/pa-dedicated-server:latest \
bash /home/steam/steamcmd/steamcmd.sh +login [STEAMUSER] [ACCOUNTPASSWORD] +quit
If Steam Guard is enabled (recommended), you'll be prompted for your authentication code. This step will permanently save your login session in the volume.
Clone or download this repository
Either:
.env.example to .env and edit the values:
$ cp .env.example .env
$ nano .env # or use your preferred editor
docker-compose.yml file directly and replace the placeholder valuesCreate the data directory and set permissions:
$ mkdir -p ./pa-data
$ chmod 755 ./pa-data
$ docker-compose up -d
Running with plain Docker (alternative to docker-compose)
If you prefer to use plain Docker commands instead of docker-compose:
$ mkdir -p $(pwd)/pa-data
$ chmod 755 $(pwd)/pa-data
$ docker run -d --net=host \
-v $(pwd)/pa-data:/home/steam/PlanetaryAnnihilation-dedicated/ \
-v "steamcmd_login_volume:/home/steam/Steam" \
--name=pa-dedicated \
-e STEAMUSER=[STEAMUSER] \
-e PA_SERVERNAME="My PA Server" \
-e PA_PW="changeme" \
obiwantoby/pa-dedicated-server:latest
Replace [STEAMUSER] with your Steam username (same as used in the credential caching step).
If you see a "Steam login failed" error, your cached credentials may have expired. Re-run Step 2 to refresh them.
If you see this error, it means the PA Titans files downloaded successfully but the server executable couldn't be located. This can happen if:
To debug this issue:
docker-compose logs padocker-compose logs pa or docker logs pa-dedicatedpa-data directory has correct permissionsThe container automatically updates the game on startup. To force an update, restart the container:
$ docker-compose restart pa
Note: While chmod 777 works, it's more secure to use chmod 755 and ensure proper ownership. The container runs as an unprivileged user for security.
This repository is based on https://github.com/CM2Walki/CS2/ .
This repository is inspired by https://github.com/XanderXAJ/docker-planetary-annihilation-server/
The container will automatically update the game on startup, so if there is a game update just restart the container.
Content type
Image
Digest
sha256:bf232837b…
Size
410.5 MB
Last updated
2 months ago
docker pull obiwantoby/pa-dedicated-server