Skip to content

OpenRA - Tiberian Dawn

OpenRA is a project that recreates and modernizes the classic Command & Conquer real time strategy games. We have developed a flexible open source game engine (the OpenRA engine) that provides a common platform for rebuilding and reimagining classic 2D and 2.5D RTS games (the OpenRA mods).

egg-openra-tiberian-dawn.json

updated

Ports

Add an allocation on the node for each port.

  • Game 5500

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Install script
55 lines

Image

  • Debian ghcr.io/pterodactyl/yolks:debian

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

8 variables

Startup command

./squashfs-root/AppRun --server Server.Name="OpenRAServer" Server.ListenPort=5500 Server.AdvertiseOnline=false Server.EnableSingleplayer=false Server.Password="{{PASSWORD}}" Server.EnableGeoIP=false Server.ShareAnonymizedIPs=true

Dotted values come from the server settings. These values are examples.

  • The Name of the Server

    SERVER_NAMEUsers can edit

    required|string

  • Shall this server be public

    PUBLICUsers can edit

    required|string|in:true,false

  • Enable Singleplayer ?

    SINGLEPLAYERUsers can edit

    required|string|in:true,false

  • Enable Authentification

    AUTHUsers can edit

    required|string|in:true,false

  • Server Password

    PASSWORDUsers can edit

    nullable:string

  • Enable GEOIP

    GEOIPUsers can edit

    string|max:20|in:true,false

  • Hide IPs

    ANONYMOUSUsers can edit

    string|max:20|in:true,false

  • VERSION

    VERSIONUsers cannot see

    required|string|max:20

Wings

Stop command
^C (SIGINT)
Running when the console shows
Starting dedicated server for mod

Readme

OpenRA Tiberian Dawn

The classic command & conquer Server

from the developers

OpenRA is a project that recreates and modernizes the classic Command & Conquer real time strategy games. We have developed a flexible open source game engine (the OpenRA engine) that provides a common platform for rebuilding and reimagining classic 2D and 2.5D RTS games (the OpenRA mods).

This means that OpenRA is not restricted by the technical limitations of the original closed-source games: it includes native support for modern operating systems and screen resolutions (including Windows 10, macOS, and most Linux distros) without relying on emulation or binary hacks, and features integrated online multiplayer.

Make sure to checkout their Home Page.

Server Ports

OpenRA requires a single port

Port default
Game 5500

Mods/Plugins may require ports to be added to the server

Changes

  1. OpenRA: Drop dependency on Mono. (#414)

    · Matthias Mailänder · 98e898e

  2. Update OpenRA install script and startup detection (#25)

    · Daniel Barton · e02cedc

  3. Add standalone games

    · Daniel Barton · 74c706a

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 55 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/bin/bash
#
# Server Files: /mnt/server

## install packages to get version and download links
apt update
apt install -y curl wget file jq

MATCH=OpenRA-Tiberian-Dawn-x86_64.AppImage

cd /mnt/server/ || { echo "Failed to change into server directory"; exit 1; }



# If latest version requested, determine version
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
    # Fetch latest version from OpenRA API
    echo "Finding latest version of OpenRA"
    VERSION=$(curl -s https://www.openra.net/versions.json | jq -r .release)
fi

echo "Installing version ${VERSION} of ${MATCH}"

# Configure GitHub authentication
if [ -n "${GITHUB_USER}" ] && [ -n "${GITHUB_OAUTH_TOKEN}" ]; then
    echo "Using GitHub authentication"
    # shellcheck disable=SC2139
    alias curl="curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN}"
else
    echo "Using anonymous API calls"
fi


# Fetch release information from GitHub
RELEASE_JSON=$(curl --silent "https://api.github.com/repos/OpenRA/OpenRA/releases/tags/${VERSION}") || { echo "Failed to get release info for ${VERSION}"; exit 1; }

# Find download link for requested artifact
DOWNLOAD_LINK=$(echo "${RELEASE_JSON}" | jq -r --arg MATCH $MATCH '.assets[] | select(.name == $MATCH).browser_download_url')
if [ -z "${DOWNLOAD_LINK}" ] || [ "${DOWNLOAD_LINK}" == "null" ] ; then
    echo "Failed to find download url for "
    exit 1
fi

wget "${DOWNLOAD_LINK}" || { echo "Failed to download ${DOWNLOAD_LINK}"; exit 1; }

chmod +x $MATCH
./$MATCH --appimage-extract
rm -f $MATCH
rm -f ./*.zsync
cd squashfs-root && chmod +x AppRun

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"