Call Of Duty 2 Linux Multiplayer Server Code is a COD2 linux server.
!! IMPORTANT !!
Call of Duty 2 Linux Server is NOT SUPPORTED by Activision Customer Support. Please do not call with any questions related to this free beta product. There are other channels to aid you listed at the bottom of this document.
This document explains how to install the Call of Duty 2 Linux server version 1.0. Installation from scratch and upgrading an existing installation are both covered.
Usage is very similar to Call of Duty and United Offensive... many of the console commands, command lines, and cvars are identical, so if you are comfortable maintaining dedicated servers for those games, you will find this process familiar.
MOD USERS: PLEASE READ...
It is recommended that any user modifications that have been installed to the Call of Duty 2 directory be removed before installing this package. These modifications are not supported by Activision and may not be compatible with some of the new features that are included. When installing or upgrading a server, if problems or unexpected behavior arise, your first step in troubleshooting should be to do a clean install with the original data files.
IF YOU HAVE A PROBLEM WITH "LIBSTDC++.SO.5" ...
(This is a frequent-enough problem to merit discussion in the introduction.)
If you are reading this, it's probably because you tried to start your Linux server and saw this message:
./cod2_lnxded: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
COD2 is a C++ program built with gcc 3.3.4, which means it needs a system library specific to gcc 3.3. Older Linux systems won't have this installed, and we're starting to see newer Linux distributions that don't have this either, since they are supplying an incompatible gcc 3.4 version. The good news is that you can drop the needed library into your system without breaking anything else.
Here is the library you need, if your Linux distribution doesn't supply it:
You want to unpack that somewhere that the dynamic linker will see it (if you are sure it won't overwrite any files, you can even use /lib).
The brave can put it in the same directory as the game and run the server like this:
Now the server will start.
Upgrading from 1.0 to Linux 1.0a.
Just stop the game server, replace cod2_lnxded on your server with the version included in this package, and restart the game server. 1.0a is just a minor hotfix and requires no other code changes.
As the hotfix is Linux-specific there is no Windows version of 1.0a.
Installation From Scratch
- Get the retail Call of Duty 2 disc(s) (there may be multiple discs depending on what edition of the game you have obtained, or perhaps a single DVD-ROM disc).
- Copy the contents of disc ones "Setup/Data" directory to wherever you want to install the Call of Duty 2 Linux server. There should be a "localization.txt" file in the root of this directory, and a "Main" Subdirectory. Each additional disc should be opened and the contents of each "Data" folder should be copied over to the existing Main folder. When you have copied everything, the final installation size is around 3.5 gigabytes.
- Alternately, you may install on Windows and copy the installed game to your Linux system, but many will opt to skip this step since the data files are uncompressed and easily accessible on the discs. Final installation size is around 3.5 gigabytes.
- Unpack this archive in the root of the newly-copied tree, so "cod2_lnxded" is in the same directory as "localization.txt". Unlike the original Call of Duty, there are not seperate .so files like "game.mp.i386.so", so don't be concerned when you don't see them.
- Now, run the server:
- When you see "--- Common Initialization Complete ---", the game server has started, but you need to start a map before the server will accept connections. At this point, type:
("mp_leningrad" being a given map's name).
- Now you should see your server in the in-game browser. You will now want to customize your server, but that is beyond the scope of this document.