Setting up a Left 4 Dead Gameserver on Debian

Updated on November 23, 2014
Setting up a Left 4 Dead Gameserver on Debian header image

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 into the server as root and issue the following commands.

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.

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 into "steam" with the password specified during the previous step.

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 a while, since there is a lot of content to download. You might want to grab a cup of coffee while you wait.

If the download fails, just 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!