bookmark_borderContent servers unreachable: Steam does not download

If your Steam client gives you the error An error occurred while installing Your Game (content servers unreachable) whenever you want to update or install a game, you might have to check your network connection in the first place. However, if the error isn’t related to your network, this quick and easy workaround will help you to get rid of the error.

Who is affected by this problem?

Basically everyone can be affected by this. I for myself got confronted with this problem twice under Windows and almost every time when I’m using the Steam Windows version under Linux with WINE. Because of this fact, this article only covers Windows and Steam WINE installations. If you’re a user of the Mac or Linux native Steam client, this workaround could help as well. However, you have to find the specific file (which has to be edited later on) on your own.

Steam content servers unreachable error message
Steam yells „content servers unreachable“ in a WINE prefix

The workaround

This workaround has originally brought up by a user in the askubuntu.com forums. We have to add a list of servers to the config.vdf file from your Steam installation. This list of servers are representing the content servers provided by Valve. Navigate to the config directory within the Steam installation directory. It is located under Windows by default in C:\Program Files (x86)\Steam\config. For a default Linux WINE prefix you have to navigate to $HOME/.wine/drive_c/Program Files (x86)/Steam/config. Search for a file called config.vdf. Open the file with the Notepad editor under Windows or with the editor you’re typically use under Linux and add the following line after the line starting with the word cip:

"CS" "valve511.steamcontent.com;valve530.steamcontent.com;valve548.steamcontent.com;valve539.steamcontent.com;valve519.steamcontent.com;valve555.steamcontent.com;valve504.steamcontent.com;valve529.steamcontent.com;valve558.steamcontent.com;valve500.steamcontent.com;valve561.steamcontent.com;valve532.steamcontent.com;valve540.steamcontent.com;valve502.steamcontent.com;valve544.steamcontent.com;valve528.steamcontent.com;valve556.steamcontent.com;valve520.steamcontent.com;valve542.steamcontent.com;valve538.steamcontent.com;valve551.steamcontent.com;valve521.steamcontent.com;valve564.steamcontent.com;valve516.steamcontent.com;valve535.steamcontent.com;valve541.steamcontent.com;valve533.steamcontent.com;valve536.steamcontent.com;valve557.steamcontent.com;valve559.steamcontent.com;valve537.steamcontent.com;valve508.steamcontent.com;valve525.steamcontent.com;valve565.steamcontent.com;valve566.steamcontent.com;valve514.steamcontent.com;valve545.steamcontent.com;valve517.steamcontent.com;valve547.steamcontent.com;valve549.steamcontent.com;valve503.steamcontent.com;valve515.steamcontent.com;valve506.steamcontent.com;valve562.steamcontent.com;valve526.steamcontent.com;valve543.steamcontent.com;valve522.steamcontent.com;valve518.steamcontent.com;valve509.steamcontent.com;valve550.steamcontent.com;valve552.steamcontent.com;valve505.steamcontent.com;valve553.steamcontent.com;valve512.steamcontent.com;valve546.steamcontent.com;valve554.steamcontent.com;valve510.steamcontent.com;valve563.steamcontent.com;valve501.steamcontent.com;valve531.steamcontent.com;valve523.steamcontent.com;valve524.steamcontent.com;valve507.steamcontent.com;valve560.steamcontent.com;valve567.steamcontent.com;valve513.steamcontent.com;valve1601.steamcontent.com;valve164.steamcontent.com;valve1615.steamcontent.com;valve1602.steamcontent.com;valve1604.steamcontent.com;valve1608.steamcontent.com;valve1603.steamcontent.com;valve1606.steamcontent.com;valve1609.steamcontent.com;valve1618.steamcontent.com;valve1617.steamcontent.com;valve1613.steamcontent.com;valve1607.steamcontent.com;valve1611.steamcontent.com;valve1614.steamcontent.com;valve1619.steamcontent.com;valve1616.steamcontent.com;valve1612.steamcontent.com;valve1610.steamcontent.com;valve165.steamcontent.com;valve1605.steamcontent.com;valve954.steamcontent.com;valve955.steamcontent.com;valve904.steamcontent.com;valve901.steamcontent.com;valve957.steamcontent.com;valve953.steamcontent.com;valve956.steamcontent.com;valve950.steamcontent.com;valve905.steamcontent.com;valve952.steamcontent.com;valve902.steamcontent.com;valve907.steamcontent.com;valve958.steamcontent.com

Save and close the file. If you’re a Windows user you may see a message saying that you can’t save the edited file at the given location. If so, simply save the new config.vdf file on your desktop. Move the so saved file to the Steam config directory afterwards.

Conclusion

I’m unable to tell you why Steam sometimes isn’t able to find the Content servers on it’s own. The list above represents the content servers provided by Valve. The list of servers could change in the future of course. But right now, the workaround gives you the capability to download and update your Steam games again.
If you know more about this issue, especially why it actually occurs on some installations, please let me know in the comment section below.

Further links

 

bookmark_borderHow to setup a 7 Days to Die server under Linux

Setting up a 7 Days to Die server under Linux isn’t as difficulty as you may think. The Steam developer Valve is providing a tool which makes it easier, even for people who aren’t that familiar with the Linux command line. This article is covering how you setup your own 7 Days to Die server under a Ubuntu or Debian installation.

About 7 Days to Die

7 Days to Die is a zombie apocalypse survival crafting game which has been initially released in December 2013. The game is still in a „Early Access“ stage. 7 Days to Die is similar to Minecraft in the way it is played, but provides better graphics and a different scenario. There are also some quests included like treasure hunting. In the latest version (as of written in June 2018) the developer The Fun Pimps also integrated vehicles into the game. Like in Minecraft, the real fun with 7 Days to Die starts when you start playing with friends. Surviving, building and creating in a random generated world can bring you hours of fun and a long lasting motivation to go on in the things you wanna achieve.

Install requirements

On a freshly Debian or Ubuntu installation, we need to install some requirements in the first place. With the following command we will update the package repositories and install the necessary requirements:

user@machine:~$ sudo apt-get update && sudo apt-get install screen wget

Adding 32-Bit libraries

The Steam command line tool is only available as a 32-Bit program. As of today most of the systems are 64-Bit based. Ubuntu for e.g. isn’t even supporting 32-Bit anymore. If you’re running an 32-Bit system, you can skip this part. To find out if you have a 32-Bit system installed, just issue the following command on your system:

user@machine:~$ arch

If the output of this command is i386 or i586, you have a 32-Bit system. If it’s x86_64 you’re using a 64-Bit system. In this case you have to issue the following two commands as well:

user@machine:~$ sudo dpkg --add-architecture i386
user@machine:~$ sudo apt-get update && sudo apt-get install lib32gcc1

This installs the lib32gcc1 file which is a 32-Bit library. This library is needed by the Steam command line tool. If this library isn’t installed, the following commands will fail.

Download and extract Steam

As next, we acquire the Steam command line tool for Linux machines in order to download the server files via the Steam network. Before that we create a separate folder (which is called steamcmd) were we are going to download the Steam command line tool to:

user@machine:~$ mkdir steamcmd
user@machine:~$ cd steamcmd
user@machine:~/steamcmd$ wget http://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

The wget command is now downloading the Steam Linux command line tool. After the download is finished, we can extract this tool (it is compressed right now) like this:

user@machine:~/steamcmd$ tar -xvzf steamcmd_linux.tar.gz

Updating the Steam tool

You can now start updating the Steam tool. Execute the following command to start the update:

user@machine:~/steamcmd$ ./steamcmd.sh

This process will take some time. In the meanwhile, you will see a lot of output on the console like this:

Redirecting stderr to '/home/user/.steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[ 0%] Checking for available update...
[----] Downloading update (0 of 13.028 KB)...
[ 0%] Downloading update (38 of 13.028 KB)...
[ 0%] Downloading update (38 of 13.028 KB)...
[ 0%] Downloading update (38 of 13.028 KB)...
[ 0%] Downloading update (38 of 13.028 KB)...
[...]

When the process is finished you will see a output which looks like this:

Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK.
Steam>

The last line Steam> tells you that the Steam command line tool is actually opened and Steam waits for you to enter a command.

Login into Steam

When using the Steam command line tool, you have to login just like with the graphical desktop version. Enter the command login followed by your Steam username to login. Steam will then ask you for your password and Two Factor Authentication (if enabled). When you enter your password there will be no input shown. But this is normal, just like in almost every Linux / UNIX software:

Steam> login <USERNAME>
Logging in user '<USERNAME>' to Steam Public...
password:
Enter the current code from your Steam Guard Mobile Authenticator app
Two-factor code:XXXXX
Logged in OK
Waiting for user info...OK

Download and install the 7 Days to Die server files

Now that you’re logged in, you can finally start downloading and installing your 7 Days to Die server. With the first of the following two commands we enforce Steam to install the 7 Days to Die server files into the directory 7dtd_server. The second one is starting the actual installation process of the server files. The number 294420 is the ID for the 7 Days to Die server files:

Steam> force_install_dir 7dtd_server
Steam> app_update 294420

Alternatively, if you want to use the latest BETA of the dedicated server, us the following two commands instead:

Steam> force_install_dir 7dtd_server
Steam> app_update 294420 -beta latest_experimental

This will download the latest BETA experimental branch the developers are providing to the public audience.
You can see again an output which will show you the actual progress:

Update state (0x5) validating, progress: 2.19 (75656327 / 3459239207)
Update state (0x61) downloading, progress: 0.21 (7340032 / 3459239207)
Update state (0x61) downloading, progress: 1.02 (35228112 / 3459239207)
Update state (0x61) downloading, progress: 2.75 (95064875 / 3459239207)
[...]

The app_update commands can take even longer than the Steam update process. It basically depends on your internet connection speed. After this command was successful, you will get yet again another message about it:

Success! App '294420' fully installed.

You can now quit the Steam command line tools by simply entering quit. Congratulations, you successfully downloaded and installed a 7 Days to Die server under Linux.

Configuring your server

You have a lot of options to configure your 7 Days to Die server to your wishes. The file to do so is the serverconfig.xml which is in the same directory as your 7 Days to Die server files. So change into the 7 Day to Die server directory:

user@machine:~/steamcmd$ cd 7dtd_server

Within this directory, there is already an example serverconfig.xml. While this file should work already, you should take at least some tweaks. To edit this file you can use the editor nano:

user@machine:~/steamcmd/7dtd_server$ nano serverconfig.xml

With CTRL+W you can search for a string. With CTRL+O you can save the file. And with CTRL+X you close the editor. The following parameters are a suggestion how you should modify your serverconfig.xml.
[table id=1 /]
You can always come back and change the parameters to your desire. However, you always have to restart the server after each change. For a full list of all possible values, check out this list.

Starting the server

Puh, lot of stuff right? But now the time has come to start your server. In order to have your server running constantly, you have to use screenscreen is a tool which runs programs even while you logged out. But first, ensure that you’re still in the 7dtd_server directory and enter the following commands:

user@machine:~/steamcmd/7dtd_server$ screen -S 7dtd
user@machine:~/steamcmd/7dtd_server$ ./7DaysToDieServer.x86_64 -logfile output.log -configfile=$HOME/steamcmd/7dtd/serverconfig.xml -dedicated

Your server will now start. This can take up to 5 minutes. You get no output when the server is ready. If you want to know more about what is hapenning, take a look at the output.log file within your 7dtd_server directory. To close the screen session (and therefore let the server run in the background), press CTRL+A followed by the D key for detaching. You can now close your remote session to your server without shutting down your 7 Days to Die server itself. If you want to attach to the screen session again, simply enter this command:

user@machine:~$ screen -r 7dtd

You can now start 7 Days to Die on your desktop / gaming machine, click on Connect To Server and enter either die IP address / name of your server (FQDN) and click on the connect symbol or search for your server name in the upper left (if you set your server to public at the step before):

7 Days to Die server connect
Connection field in 7 Days to Die

If you can’t connect at this point, you may have to check your firewall or the firewall on your server (if you use one). On default, the 7 Days to Die server listens on port 26900. This port has to be accessible from the internet.

Stopping the server

To stop your server, simply resume your screen session like this:

user@machine:~$ screen -r 7dtd

And press CTRL+C afterwards. It can take a few seconds up to a minute before the server shuts down.

How to become an admin?

In order to become an admin, you have to tell your server your Steam ID. Otherwise the server can’t decide which player really should get admin rights. To get your Steam ID, simply open Steam, click on your profile and copy the long number within the URL:

7 Days to Die server Steam ID
Steam ID

On your server, change into the following directory and create a file called serveradmin.xml. Open it afterwards with an text editor (we use nano again in this case):

user@machine:~$ cd $HOME/.local/share/7DaysToDie/Saves/
user@machine:~/.local/share/7DaysToDie/Saves$ touch serveradmin.xml
user@machine:~/.local/share/7DaysToDie/Saves$ nano serveradmin.xml

Enter at least the following lines:

<adminTools>
  <admins>
    <admin steamID="12345YourSteamID" permission_level="0" />
  </admins>
</adminTools>

Don’t forget to change the value 12345YourSteamID to your Steam ID! Press CTRL+O to save and CTRL+X to close the file. Afterwards, stop and start the 7 Days to Die server and that’s it. You could even create moderators and give each of them specific rights. However, this would definitely burst this article. If you want to know more about the possible rights management on a 7 Days to Die server, check out this link.

Last words …

As you can see, with a little bit of work you can setup your own 7 Days to Die server on a cheap Linux VPS for example. Of course you could also go with a hosted one and don’t bother about all the setup stuff, but this is way more costly. And if you’re interested in working with Linux machines, this is a good way to learn a little bit about how to maintain and setup server software under Linux in general. If you have any comments, wishes or notes, please let me know down below in the comments.