Setting up a Left 4 Dead Game Server on Debian

In this guide, we will be setting up a Left 4 Dead game server on Debian 7. These commands were tested on Debian 7, but they should also work on Ubuntu.

Before getting the L4D files, we need to install a few packages. Log in to the server as root and issue the following commands.

Update the server and installation

If you’re running x64:

dpkg --add-architecture i386
apt-get update
apt-get install -y libc6-i386 lib32gcc1 lib32stdc++6 screen

If you’re running x86:

apt-get update
apt-get install -y screen

If you get errors about setting locales failed, then execute the following commands:

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales

(Full credit goes to Werner Fischer for the locale commands)

When you get to the config screen, press ENTER, select en_US and press ENTER. After that’s done, restart your SSH session.

Adding user

The next step is adding a user for the L4D Server to run under:

adduser steam

Follow the prompts to set a password for your user. Press ENTER to skip entering user information.

After you’ve added the user, start a new SSH session to your server and log in steam with the password specified during the previous step.

Download and install SteamCMD

Our next step is to download steamcmd and extract it:

mkdir ~/steamcmd
cd ~/steamcmd
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar -xf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz

We’re now ready to grab the server files:

./steamcmd.sh +login anonymous +force_install_dir ~/l4d +app_update 222840 validate +quit

Note that this will take some time, as there is a lot of content to download. You might want to grab a cup of coffee while you wait.

If the download fails, re-execute the command to restart it. You can also re-execute the command to get any available updates. Once the download is finished, we should add a few basic things to our config file:

nano ~/l4d/left4dead/cfg/server.cfg
hostname "servername"
log on
sv_logfile 1
sv_password "pass" (if you want a passworded server)

There are various resources on other websites for documentation on other variables. Once you’re done editing it, you can save the file by pressing CTRL + X and then Y. After that, it’s time to start the server.

cd ~/l4d/
screen -S l4d ./srcds_run -game left4dead -console -port 27015 +maxplayers 4

Congrats! Your L4D server is now up and running!