Call of Duty 1 Community - Forums - Tutorials - Tools & Downloads
Sign UpLog In
Go to Main Page

Create a Call of Duty Server on Linux


Created 4 years ago

Create a Call of Duty Server on Linux

This tutorial will show you how you can run a call of duty server on linux debian


In this tutorial, I will explain how to create a Call of Duty 1.1 server on Linux. We will be using Debian 7 Wheezy for this tutorial. But any major linux distribution should work fine (Ubuntu, Debian etc..).

This is not a full blown tutorial and i don't really have much time right now so i expect you to have some basic knowledge about linux servers before digging into this tutorial.

We also have a very detailed tutorial on how to create a call of duty server on windows if you find this more convenient.

What is the difference between a Call of Duty server on Windows and Linux?

Both windows and linux servers share the same base file structure. The only thing that is different is that on linux, you don't need any DLL and EXE files. You can simply delete them. On Windows, we start the server by double clicking codmp.exe and on linux we start the server by running cod_lnxded. That's all.

Don't want to set up your own server? We are offering the cheapest cracked linux server hosting starting from $6 per month. If you are interested, open

Prepare everything

I want to make this tutorial as simple as possible so i will provide you with the base file structure in a .zip file. You can download it here These server files are already cracked and patched.

You will also need the following files (you can get them from your cod1.1 main folder):

pak0.pk3, pak1.pk3, pak2.pk3, pak3.pk3, pak4.pk3, pak5.pk3, pak6.pk3, localized_english_pak0.pk3, localized_english_pak1.pk3.

Note, if you have "localized_german_pak" or other languages, it's completely fine - it doesn't matter.

Create the file structure

Go into the /opt directory You can use any directory you want, e.g. /home/user. We will use /opt here.

cd /opt

Create a new directory and name it "cod1"

mkdir cod1

This is where your cod servers will be located in. For example /opt/cod1/myserver1/ or /opt/cod1/myserver2/.

To continue, create a new directory for your cod server. For simplicity i will name it myserver

mkdir myserver

Get all the files into the right place

Now upload the base files i gave you earlier (if you didn't download them yet, download them here) and place them into the /opt/cod1/myserver/ directory. You may also edit the dedicated.cfg now if you want (you can edit your server name, rcon password and all other cvars there).

Once this step is done, you will have a "main" folder and a "cod_lnxded" file in /opt/cod1/myserver.

You can now place all the pak files (pak0.pk3, pak1.pk3, pak2.pk3, pak3.pk3, pak4.pk3, pak5.pk3, pak6.pk3, localized_english_pak0.pk3, localized_english_pak1.pk3) into the "main" directory.

Give access rights

Give proper file access right to all cod servers (we will use 775 in this case - change this according to your setup)
chmod -R 755 /opt/cod1

Test your server

Run the following command to start your server:
/opt/cod1/myserver/cod_lnxded + set dedicated 2 +exec dedicated.cfg +set fs_homepath /opt/cod1/myserver/ +set fs_basepath /opt/cod1/myserver/

If you're getting an error message when starting up your server, it is either because you're on a 64bit architecture and you need the lib32 stdc++ compatibility files or you don't have proper file access rights.

Install the following package (ubuntu/debian) and try to start your server again.
apt-get install lib32stdc++6

Troubleshooting: If it still doesn't work, make sure you did all steps correctly and granted proper file access rights. Make sure you install the correct lib32 compatibility files for your architecture.

Secure your server

The files i provided you with will protect you against most vulnerabilities (e.g. gc 60, q3msgboom, q3rconz). However, they will not protect you from q3fill (player flood) and 100% of packet-size based vulnerabilities (you should apply a firewall rule to be 100% safe)

1. Limit the UDP packet sizes sent to your server by applying #2 on

2: (Optional but recommended) Download and install CoDExtended - this will block player floods completely

Tips & tricks

1. If you want to start your cod server as background process rather than in the terminal, use the following command:
nohup /opt/cod1/myserver/cod_lnxded + set dedicated 2 +exec dedicated.cfg +set fs_homepath /opt/cod1/myserver/ +set fs_basepath /opt/cod1/myserver/ &

2. Manage your processes by running "apt-get install htop" and running it with "htop"

3. Installing codam is the same procedure as on windows. See Step 8 in this tutorial.

4. Installing a 1.5 cod server is basically the same, you only have a different cod_lnxded, a different .so file in main and different pak files in main. You can get these files from google but i can't guarantee you that they're safe. It is better to ask someone who is running a 1.5 server.

To start a 1.5 server, use the following command:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. /opt/cod1/myserver/cod_lnxded +set dedicated 2 +exec dedicated.cfg +set fs_homepath /opt/cod1/myserver/ +set fs_basepath /opt/cod1/myserver/

5. Installing CoDExtended is easy, we have created a tutorial for it! Link: [CoDExtended] How to get started with CoDExtended

6. Is someone abusing your server or do you want to block someone by ip? Block them with the appropriate iptable rules.

I know this tutorial could have been a lot better and more detailed but people kept asking me how to create a cod server on linux so i just wrote this tutorial within 20 minutes now.

If you have any questions. Let me know in the comments below!

Tutorial Details of "Create a Call of Duty Server on Linux"

Created: 4 years ago by alien

Views: 1661 Views

Keywords: Cod server, linux, debian, ubuntu,

Share this Knowledge with your friends!

Direct Link:


Commented by ~stb* Takasur  (Jul 13th, 2015 03:20 PM)

:D great information
Commented by BakedGoodZ  (Jul 13th, 2015 08:07 PM)

LOL I firced him to do it and he did and he said to me lucky bitch :P
Commented by `Sn0KKK~  (Jul 13th, 2015 09:28 PM)

./cod_lnxded: error while loading shared libraries: cannot open shared object file: No such file or directory
OS: ArchLinux
I've installed:
Commented by ~stb* Takasur  (Jul 22nd, 2015 07:25 PM)

Commented by ~stb* Takasur  (Aug 05th, 2015 07:10 PM)

Commented by alien  (Aug 29th, 2015 11:33 PM)

Please sign in or create an account to post a comment.
Copyright © 2009-2019 ||  Programming by: ^THiNK#ALIEN ||   Webserver: NGINX