Background
Wolfenstein Enemy Territory is a free-to-play multiplayer game, based on World War II “Allies vs. Axis” style combat. It is a first-person shooter game, but it has objective-based gameplay. Players will perform tasks such as escorting tanks, stealing gold, repairing radio transmitters and delivering stolen documents to the transmitter, building tank barriers, dynamiting protection walls, and other objectives based on the map. The objective-based gameplay makes Enemy Territory a uniquely fun gaming experience, with the classic FPS aspects gamers crave. Enemy Territory is not one of those games where you look at your kill statistics, you’re too busy defending your objective or advancing on your enemy!
The Goal of This How-To
At the end of this how-to, you should have a vanilla Enemy Territory running. You will be able to install Enemy Territory on a Windows client, connect to the server, and play Enemy Territory online!
Installing The Vanilla Enemy Territory Server
First, we need to download the Linux Enemy Territory game files. It is necessary to install the entire game in order to have a dedicated server, but no GUI is needed, you can do all of this through an SSH session if you choose.
You can obtain Wolfenstein Enemy Territory on various websites on the Internet, but for the purposes of longevity of the links in this how-to, I will use the files hosted on The United Federation of Gaming (as I have control over these files).
Download the game:
wget http://www.unitedfederationofgaming.com/dist/wolfet/linux/et-linux-2.60.x86.zip
Download the latest patch for the game:
wget http://www.unitedfederationofgaming.com/dist/wolfet/linux/ET-2.60b-linux.zip
Extract the Zip files:
unzip et-linux-2.60.x86.zip
unzip ET-2.60b-linux.zip
Make the installer executable:
chmod +x et-linux-2.60.x86.run
Run the installer:
./et-linux-2.60.x86.run
It is okay to continue as a limited user, and install the game in your home folder.
Press the Space Bar to quickly scroll through the license agreement.
Type “Y” and hit Enter to accept the license agreement.
Press “n” and hit Enter to avoid reading the CHANGES file.
Type in a path to install the game to. I recommend installing into your home folder, unless you have a good reason not to. I installed to my home folder, in a folder called WolfET.
When prompted about where to put the symbolic links. Symbolic links are basically just shortcuts, so this question is very non-important. I put them in my home folder, in a folder called WolfETLinks.
If you get an error message like “No write permission to /path/to/symlink/folder” make sure the directory exists by using the mkdir command to create it.
When asked about installing the PunkBuster client/server files, type “Y” and hit enter.
Again, use the Space Bar to scroll through the license agreement. Press “Y” and hit Enter to accept it.
We do not want to install the startup menu entries, so press “n” and hit enter.
Press “Y” and hit Enter to continue the installation.
When the installation is completed, do not start the game now. Press “n” and hit Enter.
Patch\Update The Game:
The patch files are located in the folder called Enemy Territory 2.60b
cd “Enemy Territory 2.60b/linux”
Copy the two files to the path where you installed Enemy Territory. This will overwrite the old game files with the patched ones.
cp * /path/to/enemyterritory/
Configuration
The Enemy Territory server is configured by two files primarily: server.cfg and a map rotation cfg of your choice. You can find these files in the etmain folder.
The vanilla configuration will mostly work for your vanilla server, but there are a few notable settings you might want to change.
server.cfg
Server Access Settings
set sv_maxclients allows you to set the number of slots available to your server. The default is 20 players.
set g_password sets a join password on the server. Most servers will want to leave this blank, and doing so is not a security risk.
Server Administrative Settings
set rconpassword sets a remote console password for the server. You can use this to control the server from the ~ menu in-game.
set refereePassword sets a password to gain “referee” access in game, to change maps and handle basic functions from the GUI.
Server Bandwidth Settings
set sv_maxRate and set sv_dl_maxRate are speed limits. I usually set them to 9999999999, to provide the best allowable performance to users.
Server Advertisement & MOTD Settings
set sv_hostname sets the name of your server on the Internet lobby.
set server_motd[0-5] sets the Message of The Day (MOTD) for the server. This is shown during initial connection. Usually people write server rules or other info here.
For ease of configuration, the rest of server.cfg can be left vanilla until you see a need to tweak it. An entire post could be written about this file, but these are the basics of what most people will need to change.
Map Rotation Configuration
What I have done in the past, is copy campaigncycle.cfg to a file called servercycle.cfg and do my configuration in there. For now, we can use campaigncycle.cfg as is the default. It is possible to make your own custom campaign rotations, but that’s a post for another day.
Launcher
In the past, I’ve discovered that some of the configurations of Enemy Territory out of the box (and set by my own server.cfg) don’t seem to really apply correctly. So, I’ve used a launcher script to start the game. Create a file called startet.sh in the root folder (outside etmain, same folder etded.x86 is in) and put your launch instructions in it. This is my startet.sh:
./etded +set com_hunkmegs 512 +exec servercycle.cfg +set net_ip “192.168.10.5” +exec server.cfg
com_hunkmegs is a reference to the amount of memory you will let the server consume. I have found that increasing this limit is desirable when running a heavily loaded or modded server. The rest of that should be fairly self explanatory. Replace 192.168.10.5 with your server’s IP address. Replace servercycle.cfg with the map rotation configuration file you made above. If you renamed server.cfg, change that here as well.
Make the launcher executable:
chmod +x startet.sh
Run the launcher to start your game server.
./startet.sh
You should see a lot of text run down your screen, it will look like this generally:
ET 2.60b linux-i386 May 8 2006 ----- FS_Startup ----- Current search path: /home/wolfet-27960/.etwolf/etmain /home/wolfet-27960/WolfET/etmain/pak2.pk3 (22 files) /home/wolfet-27960/WolfET/etmain/pak1.pk3 (10 files) /home/wolfet-27960/WolfET/etmain/pak0.pk3 (3725 files) /home/wolfet-27960/WolfET/etmain/mp_bin.pk3 (6 files) /home/wolfet-27960/WolfET/etmain ---------------------- 3763 files in pk3 files execing default.cfg couldn't exec language.cfg couldn't exec autoexec.cfg Hunk_Clear: reset the hunk ok Bypassing CD checks Found high quality video and fast CPU --- Common Initialization Complete --- Opening IP socket: 192.168.10.5:27960 Hostname: dauntless.epecweb.com Alias: localhost Alias: Dauntless IP: 127.0.0.1 Started tty console (use +set ttycon 0 to disable) execing servercycle.cfg ------ Server Initialization ------ Server: oasis Hunk_Clear: reset the hunk ok ----- FS_Startup ----- Current search path: /home/wolfet-27960/.etwolf/etmain /home/wolfet-27960/WolfET/etmain/pak2.pk3 (22 files) /home/wolfet-27960/WolfET/etmain/pak1.pk3 (10 files) /home/wolfet-27960/WolfET/etmain/pak0.pk3 (3725 files) /home/wolfet-27960/WolfET/etmain/mp_bin.pk3 (6 files) /home/wolfet-27960/WolfET/etmain ---------------------- 7526 files in pk3 files Sys_LoadDll(/home/wolfet-27960/.etwolf/etmain/qagame.mp.i386.so)... Sys_LoadDll(/home/wolfet-27960/.etwolf/etmain/qagame.mp.i386.so) failed: "/home/wolfet-27960/.etwolf/etmain/qagame.mp.i386.so: cannot open shared object file: No such file or directory" Sys_LoadDll(/home/wolfet-27960/WolfET/etmain/qagame.mp.i386.so)... ok Sys_LoadDll(qagame) found **vmMain** at 0xd2d3ab90 Sys_LoadDll(qagame) succeeded! ------- Game Initialization ------- gamename: etmain gamedate: Mar 10 2005 Not logging to disk. Gametype changed, clearing session data. Enable spawning!
There will be some errors in this, notably the failure loading qagame.mp.i386.so. These errors are OK in my experience…
Once you’re up and running, you’ll see some text like this in your console:
0 teams with 0 entities ----------------------------------- Setting MOTD... broadcast: print "Server: g_balancedteams changed to 1\n" Setting Allied autospawn to Old City Setting Axis autospawn to Old City ^1Warning: setstate called and no entities found ----------------------------------- execing preset_high.cfg Hitch warning: 1969 msec frame time Resolving etmaster.idsoftware.com etmaster.idsoftware.com resolved to 192.246.40.60:27950 Sending heartbeat to etmaster.idsoftware.com Hitch warning: 545 msec frame time
^1Warning: setstate called and no entities found is another OK error. It just means there is no one in the server right now.
Firewall Rules
If your dedicated server is behind a firewall (and I certainly hope it is) you will need to forward a port to allow Enemy Territory traffic. That port is 27960 by default.
You’re Done!
Congratulations, if you’ve followed this guide, you now have a functional Enemy Territory server! To play, connect to your server’s IP address or find the game on the Internet lobby.
If you have any questions about anything in this guide, or Enemy Territory server administration in general, please feel free to ask in the comments. I am not, by any means, an expert on Enemy Territory servers, but I’ve run one for a number of years and I know more about them than the average person, so go ahead and ask questions! Thanks for reading.
Recent Comments