Install Wolfenstein: Enemy Territory ETPro on Ubuntu 20.04

Updated on July 24, 2020
Install Wolfenstein: Enemy Territory ETPro on Ubuntu 20.04 header image

Introduction

This documentation covers installation and configuration of a Wolfenstein: Enemy Territory game server for use as a match server with ETPro and latest competitive configuration.

Deploy Ubuntu Server

Change to your sudo user for the remaining steps.

Installation

Since Enemy Territory is a dated game, some legacy dependencies are required:

$ sudo dpkg --add-architecture i386
$ sudo apt-get install -y libc6:i386

Enemy Territory is provided as a zip. The unzip utility is required.

$ sudo apt-get install -y unzip

Enemy Territory Installation

Create the directory where Enemy Territory will be installed.

$ mkdir -p ~/et/

Download the Enemy Territory game installation from Splash Damage.

$ mkdir -p /tmp/etsetup
$ cd /tmp/etsetup
$ wget https://cdn.splashdamage.com/downloads/games/wet/et260b.x86_full.zip
$ unzip et260b.x86_full.zip
$ ./et260b.x86_keygen_V03.run --noexec --target /tmp/etsetup/extracted
$ mv extracted/* ~/et/
$ cd ~/et/
$ mv bin/Linux/x86/etded.x86 .
$ rm -rf /tmp/etsetup

Optional: Remove files unnecessary to the operation of a gameserver.

$ rm -rf CHANGES Docs/ etkey.run etkey.sh makekey openurl.sh README ET.xpm \
    setup.sh setup.data bin/

ETTV Installation

In order for ETTV relays to connect to your server, replace the ETTV binary from GamesTV and make it executable.

$ wget https://www.gamestv.org/drop/ettv.x86
$ chmod +x ettv.x86

ETPro Installation

Download and extract ETPro into place.

$ wget https://www.gamestv.org/drop/etpro-3_2_6.zip
$ unzip etpro-3_2_6.zip
$ rm -rf unzip etpro-3_2_6.zip

Configurations

Download the global configurations into place.

$ cd etpro/
$ wget https://www.gamestv.org/drop/globalconfigsv1_3.zip
$ unzip globalconfigsv1_3.zip
$ rm -rf globalconfigsv1_3.zip
$ cd ..

Place the following contents into ~/et/etpro/server.cfg using Nano.

$ nano ~/et/etpro/server.cfg

With the following contents:

//=========================Server Passwords======================//
set g_password "mypassword"             // set to password protect the server 
set sv_privateclients "0"     // if set > 0, then this number of client slots will be reserved for connections 
set sv_privatepassword ""     // that have "password" set to the value of "sv_privatePassword" 
set rconpassword "myrcon"  // remote console access password 
set refereePassword "myreferee"  // referee status password 
set b_shoutcastpassword "myshoutcast" // Shoutcast login

//=============================DL, RATE==========================//
set sv_maxRate "25000"
set sv_dl_maxRate "2048000"
set sv_allowDownload "1"
set sv_wwwDownload "1"
set sv_wwwBaseURL "https://www.gamestv.org/download/repository/et/"
set sv_wwwDlDisconnected "0"
set sv_wwwFallbackURL ""

//=============================MOD, ECT==========================// 
set sv_hostname  "My Server Name"              // name of server here 
set server_motd0 " "              // message in right corner of join screen here 
set server_motd1 " " 
set server_motd2 " "
set server_motd3 " "
set server_motd4 " "
set server_motd5 " "

//==========================MASTER SERVERS==========================//
// The master servers are unset, which means your server will not appear on the list
// This is to avoid DDoS attacks, delete the next 5 lines if you want your server to reappear on the list

set sv_master1 ""
set sv_master2 ""
set sv_master3 ""
set sv_master4 ""
set sv_master5 ""

//=========================STARTUP======================//
map radar
wait 300
config global3
wait 150
config global3

//=========================LOG SETTINGS======================//
set g_log "etserver.log"
set g_logsync 0
set logfile 0

//============================ETTV===========================//
set ettv_sv_maxslaves "2"
set ettv_password "3ttv"
set b_ettv_flags "3"

// Maximum number of clients per IP address
set ip_max_clients 2

In this file change the following configuration options to whatever is best for your situation:

  • g_password - This is the password to connect to the gameserver, it may be blank.
  • rconpassword
  • refereePassword
  • b_shoutcastpassword
  • sv_hostname - The name of the server that users see.
  • server_motd0 - (0-5) Text lines that are displayed on server connect.

Additional Maps

Additional maps will need to be placed within the etmain/ directory. They can be added in the following manner:

$ cd etmain/
$ wget https://www.gamestv.org/download/repository/et/etmain/adlernest.pk3
$ cd ~/et/

No additional configuration is required.

Start Script

For simplicity, wrap the start command of the new server in a shell script.

Write a simple script to start your new server using Nano at ~/et/start.sh:

$ nano ~/et/start.sh

With the following contents:

#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
"${DIR}/ettv.x86" \
    +set dedicated 2 \
    +set vm_game 0 \
    +set net_port 27960 \
    +set sv_maxclients 32 \
    +set fs_game etpro \
    +set sv_punkbuster 0 \
    +set fs_basepath "${DIR}" \
    +set fs_homepath "${DIR}" \
    +exec server.cfg

Make sure this script is executable.

$ chmod +x ~/et/start.sh

Run the Server

To run the server now, invoke the script that was just created:

$ ~/et/start.sh

This will run the server in the foreground. If you wish to run the server in the background for a long period, the script should be invoked from within a utility such as screen or tmux.

It is possible to run more than one Enemy Territory server on your Vultr virtual server, to make this possible allocate a different port for every gameserver that will run, this is defined in the start.sh script.

Connect to the Server

Once the server is running, you can connect to it from within the Wolfenstein: Enemy Territory client.

To connect, open the game and run the following command (where 192.0.2.1 is the IP address of your Vultr instance):

/connect 192.0.2.1:27960; password <Your g_password>

Note:

  • The 27960 value may be different depending on if you have altered the ~/et/start.sh script above.
  • Your Vultr IP is the same IP address you're connected to SSH with.
  • The g_password is defined in the ~/et/etpro/server.cfg file.