This guide was put together by Terje from the Linux mailing list (firstname.lastname@example.org). We are mirroring it while we wait for Treyarch and Activision to release proper Linux files for World at War.
Guide for running Call of Duty: World at War server using wine on debian-based systems
by Terje Tjeldnes.
You may freely distribute and modify this guide without restrictions, but I won't mind being credited
The latest version can always be found at http://www.multikill.no/guides/cod5-...bian-guide.txt
Disclaimer: This guide was written two or three weeks after I actually performed these steps myself, so if you run into
any problems with this guide, please drop me an email at email@example.com
, and I'll try to update the guide to fix the problem.
This guide assumes that you know how to install a basic ubuntu/debian system (or that you already have a server with a
debian-based system installed), if you do not, there are plenty of helpful and easy to follow guides to be found on the web
(just Google "install debian" or "install ubuntu").
I'm assuming that you have remote shell access to your intended server (either via SSH or some other form of management console)
with root access (either via su or sudo), and general knowledge of how to use the Command Line Interface (CLI) and basic tools
such as basic navigation in the filesystem, a text editor, tar and unzip.
NOTICE: My guide uses "screen" to run the game server in wine instead of an X environment.
This means you lose the option to input commands directly to the game console, but this is not normally needed since
you can issue most (if not all) of these commands through RCon.
You need the following:
*). Call of Duty: World at War game files _already patched_ to the latest patch level (at the time of writing this is 1.1).
You need basically everything except the video files found in <gamedir>/main/video/. Some have had success installing and
patching the game in wine, but I have not tested this and as such will not try to document it. I installed and patched my
game on my Windows machine.
*). The latest version of wine, follow the instructions at http://www.winehq.org/download/deb
(see later on in the guide).
You need AT LEAST version 1.1.8 or later! (type wine --version if you are unsure of what version you are running).
*). A server config file. You can find an example config stolen shamelessly from some other site here:
*). Root access to your server (or atleast the contact info of your server admin, willing to install these packages for you).
Thats about it. Lets get to it!
1). Install screen
apt-get install screen
2). Install wine using the instructions at http://www.winehq.org/download/deb
3). Unzip/untar/ungzip/unbzip your gamefiles to a desired directory if you archived them.
I'll use /games/cod5/:
root@gaming01:~# mkdir /games
root@gaming01:~# cd /games
For ZIP files:
root@gaming01:/games# unzip /path/to/cod5.zip
root@gaming01:/games# tar zxvf /path/to/cod5.tar.gz
root@gaming01:/games# tar jxvf /path/to/cod5.tar.bz2
If you archived the directory from your windows install, you'll normally now have a directory named /games/Call of Duty... etc
Rename that directory to "cod5" or whatever you desire.
Put your server.cfg in the main directory (i.e. /games/cod5/main/).
5). Start your server
To start your server, change directory to where you copied your game files:
terjetj@gaming01:~$ cd /games/cod5
Then start your server:
terjetj@gaming01:/games/cod5$ screen -S server1 wine CoDWaWmp.exe +set dedicated 2 +set net_ip YOUR_IP +set net_port YOUR_PORT +set sv_punkbuster 1 +exec server.cfg +map_rotate
Your server should launch! Press CTRL+A+D to detach from your screen session, this will keep the server running.
If you need to stop your server, you can either to /rcon login <your-rcon-pass> and then /rcon killserver from a game client,
or you can ssh into your server, type screen -r server1 and press CTRL+C.
If you want to start several gameservers, simply launch screen with a different screen tag (such as "screen -S server2"),
different net_port and different config file (server2.cfg, for example).