HowTo setup a Counter-Strike: Global Offensive Server on Debian, Ubuntu or openSUSE

CS:GO Logo

Image source: wikipedia.org

A lot of people who are running a rented Linux (v)Server are interested in creating a Counter-Strike: Global Offensive server. Creating a CSGO server under Linux is rather easy, Valve really did their homework here. The following short tutorial will give you the needed instructions to create a Counter-Strike: Global Offensive Server under Debian, Ubuntu or openSUSE:

  1. First of all, you should really create a new user in your Linux system. The reason for that is simple: security! If your main user, or even your root user, is running the CS:GO server and is hacked later on, the hacker maybe is in the position to get access to the system behind the Server. With that being said, he may be able to get full access to the shell and he may be able to manipulate the system. To create new account on your Debian, Ubuntu or openSUSE system, you have to enter the following commands:
    root@server:~# useradd csgosrv
    root@server:~# passwd csgosrv
    root@server:~# mkdir /home/csgosrv
    root@server:~# chown csgosrv:users /home/csgosrv

    So, the first commands creates a new user, called csgosrv. The seconds commands sets a new password for this user. The password you enter here will not be prompted.
    The third command creates a new directory called csgosrv under the directory /home. This will be the standard home directory for the user csgosrv we’ve created before.
    The fourth and last command sets the owner to the created user csgosrv and the group owner of the created csgosrv home directory to users.

  2. In this step we need to download the needed libraries in order to get the Steam command line tool working. If these libraries / tools are not installed, the Steam command line client (provided by Valve), will fail to start.
    If you’re on a 64-Bit Debian or Ubuntu system you have to enable the i386 architecture in the first place. This is needed because the server software is written for the 32-Bit architecture. If you’re on a 32-Bit Ubuntu or Debian, you can skip this command:

    root@server:~# dpkg --add-architecture i386

    The following two commands are needed for 32-Bit and 64-Bit systems. They will update the repository information and install the needed libraries:

    root@server:~# apt-get update
    root@server:~# apt-get install gcc-multilib libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386 libc6:i386 wget screen

    If you’re on a openSUSE system, the commands are doing the same, but the syntax is different. The following two commands are updating the package repository and installs the needed libraries on a openSUSE system:

    root@server:~# zypper ref
    root@server:~# zypper in wget libgcc_s1-32bit libgcc_s1-gcc6-32bit ca-certificates screen

    Now, that you have installed all the needed libraries, we can go on and start downloading and installing the server software.

  3. Downloading the Steam command line tool is very easy. You can always get it directly from Valve. But before we start downloading the client, we should change to the beforehand created user csgosrv. We can do this with the following command:
    root@server:~# su - csgosrv

    As an alternative you could close your SSH session and reconnect with the user csgosrv.
    Now that we’re working with the right user, it’s time to download and extract Steam:

    csgosrv@server:~$ mkdir steam
    csgosrv@server:~/steam> cd steam
    csgosrv@server:~/steam> wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
    csgosrv@server:~/steam> tar xfvz steamcmd_linux.tar.gz

    So, the first two commands are creating a new directory, called steam, and directly changed into it with the help of the cd command. The third command is downloading the Steam CMD tool with the help of the tool wget. The fourth and last command extracts the so downloaded .tar.gz archive.
    After you’ve done this steps successfully you can go on and download the CS:GO server software.

  4. This command will update the steam command line tool and installs the application “740” which is the Counter-Strike: Global Offensive server. For now you don’t need to have your steam credentials ready. You can update steam and install the server software as an anonymous user:
    csgosrv@server:~/steam> ./steamcmd.sh +login anonymous +force_install_dir ./csgo_server/ +app_update 740 validate +quit

    This command will take some time and the so downloaded server software needs round about 15 GB hard disk space. The Server software will be installed in the directory /home/csgosrv/steam/csgo_server.

  5. Now that you have successfully downloaded and updated the Counter-Strike: Global Offensive server, we can do a test run. With the following command we can start the server with the mode Classic Casual and the Mapgroup mg_bomb which includes the old bomb spot maps like de_atztec or de_dust / de_dust2:
    csgosrv@server:~/steam> cd csgo_server
    csgosrv@server:~/steam/csgo_server> ./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust

    You will now get a lot of output. This is normal and shows you, that the software is working. However, at the end of all the lines you will find a message like this one:

    ****************************************************
    *                                                  *
    *  No Steam account token was specified.           *
    *  Logging into anonymous game server account.     *
    *  Connections will be restricted to LAN only.     *
    *                                                  *
    *  To create a game server account go to           *
    *  http://steamcommunity.com/dev/managegameservers *
    *                                                  *
    ****************************************************

    Basically this message means that your server is not registered at Vale. As long as you don’t register your server at Vale, you will only be able to connect to the server via LAN, not via the internet. It will never be an official server played on. To make your server ready for the internet, you have to go on with the next step (you can terminate the actual running session with an CTRL+C combination).

  6. To register your CS:GO server at Valve and make it ready for internet play, you have to register the server directly at Valve. To do so, visit the following link: Steam Server management. Login with your steam credentials (if you haven’t already) and enter the number 730 as the App ID in the first text box. The second text box can be filled with whatever you want. It’s just a comment field. For e.g. if you have more than one server you could write down the hostname here so that you can always directly see which token belongs to which server. Click on Create to get your Token:
    After you clicked on Create you will see your token for your server. The token can only be used on one server for one active session. You can’t use the token for multiple servers at the same time. You have to create a new token for each of your servers.
    Now that you have created your token, you can use it to start the server as an official CS:GO server with the following command:

    csgosrv@server:~/steam/csgo_server> ./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust

    Of course you have to replace the YOURTOKEN with the token you’ve created before. If there is no firewall blocking the traffic, you should now be able to find your server via the CS:GO server browser or connect directly via the hostname / IP to it.

  7. You may already noticed, that the CS:GO server stops running when you close the SSH connection. This is, because the CS:GO server software needs an active terminal / SSH session to go on running. However, there is a tool which is called screen. If you’ve followed this tutorial, you already have installed screen at the first steps. The following commands starts the CS:GO server in the background with the help of screen.
    csgosrv@server:~/steam/csgo_server> screen -A -m -d -S csgo_server ./srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust +sv_setsteamaccount YOURTOKEN -net_port_try 1

    If you want to jump into the screen session you can easily do this with this command:

    csgosrv@server:~/steam/csgo_server> screen -r csgo_server

    As long as you are connected (attached) to the screen session, you can do anything here like in a normal terminal session. If you want to leave the screen session again, just press CTRL+a, followed by the key d (CTRL+a sends a signal to the screen program that the next key stroke is something screen has to handle. The d key says to screen than: detach!).

Optional information

If you have problems connecting to your server, you should check if there is no firewall blocking the traffic. If there is any firewall doing so, you have to unlock the port 27015 (UDP) for your server.

For a more further configuration of the server (settings like warm up, max player count, map rotation and so on) you should visit the following page. It contains a almost complete server.cfg with a lot of comments: server.cfg on csgodev
For further fine tuning at the game modes you should read the official tutorial wikipedia page from Valve about this: CS:GO Server gamemodes
I also want to provide my own server.cfg file here. It’s rather simple and just sets some basic features, like friendly fire and warm up time. You can see my server.cfg file here: server.cfg
T
he server.cfg has to be stored in the directory cfg which is a subdirectory of the csgo_server directory, the directory which we had chosen while downloading the CS:GO server software.

 

Enough of the words. I wish you a good time in CS:GO and best wishes for you and your server 🙂

 

 

Beginner Linux Distributions: From a experienced user perspective

Personally I’m using Arch Linux with Xfce a lot in the last time. A friend of mine also started to switching over from Windows 10 to Linux. She asked me for help and wanted some tips where to start. At this time I thought that for e.g. openSUSE is a very beginner friendly distribution. While this is true, there are other distributions which are even way more beginner friendly. So I tried 3 Linux “beginner” distributions and made some conclusions:

1. Ubuntu Linux

Image source: wikipedia.org

When I started working with Linux (if I remember correctly this was round about 13 years ago) Ubuntu released their first version which was called “Warty Warthog”, Version 4.10. I’ve never used this one. At this time I played around a lot with SuSE Linux Personal Edition 9.x. My first Ubuntu version was 6.06, called “Dapper Drake”. This one really got me into Linux. This was the first Linux version were almost everything worked with a exception of WLAN. But WLAN was a nightmare under Linux anyway until mid 2000s.

A lot of people complaining that Ubuntu didn’t contributed that much to the whole Linux economy. For me that’s not right. Ubuntu started to take care of the user and they tried to make a more end user friendly Linux. After more than 13 years later I would say that they reached their goal. Even if I think that there are a lot of other, way more user friendly distributions out there as of today.

Ubuntus Unity desktop is something you love or you hate. I personally like the idea of a bar on the left screen. With the newer versions of Unity you can also always modify the behavior of the left bar. For e.g. let them automatically slide in and out or change the size of the bar itself.
The hardware compatibility is very good. Almost every driver gets shipped with the installation. If there is a driver missing, Ubuntu provides a “Additional drivers” wizard, which installs you the driver you need within minutes.
The software repositories are really big. You almost find a piece of software for every single kind of use. In addition to that, you can always check out PPAs for even more software packages. Also, a lot of software like Steam or even Guitar Pro distributing their software as a downloadable .deb package file for easy installing under Debian and / or Ubuntu based distributions.

For me as a more advanced user, Ubuntu has two major downsides. The first one is, that they are really bad when it comes to develop for upstream projects. For example, Fedora and openSUSE are giving a lot of things back to upstream projects. Both are paying developers for just doing their normal daily development on the Linux Kernel, the audio subsystem and so on. In 2008 Ubuntu was criticized that they’re under 1% in contribution to upstream prjects.
The other major downside is the stability. A lot of people are using the LTS (= Long Term Support) version of the latest Ubuntu release. While this is a wise decision, even with the LTS I’m experienced a lot of stability problems. Anyways, the good mix of stability and “new software versions” is fine in Ubuntu. You could go of course with Debian stable as a rock solid base, but the software in this repositories are very old.

However, Ubuntu is still a very good starting point for beginners and users who just want to “get their work done”. I’m really excited with their next LTS release (18.04). Mark Shuttleworth (the initiator and founder of Ubuntu) decided to drop the Unity desktop and Mir display server and goes instead with the GNOME Shell and Wayland display server as a standard. For me this is a big huge and good step.

 

2. Linux Mint

Image source: wikipedia.org

Linux Mint started in August 2006 and was released based upon Ubuntu 6.06. After more than 10 years later, Linux Mint is one of the most used Linux distributions on the desktop.

Linux Mint is for a lot of people what Ubuntu should have been by the beginning. More stable and more polished. For me Linux Mint is a derivative of the latest Ubuntu LTS version with a lot of multimedia codec support and a really great Desktop solution called “Cinnamon”.

Cinnamon is with no doubt the heart of Linux Mint. The Linux Mint developers really had a lot of good ideas. With their concept they also trying to speak directly to people who want to switch over from Windows to Linux. Cinnamon is a classical desktop concept with a single bar at the bottom of the screen and a classic desktop which can be used to store applications shortcuts. The central system settings GUI comes with a lot of possibilities. With that being said, it’s somewhat like the Windows system control center.

Besides Cinnamon, Linux Mint offers a lot of other desktops to their users. One of them is MATE (a GNOME 2 fork), as well as Xfce and KDE. So, everybody will find a desktop solution for their needs here. Linux Mint also offers a “Linux Mint Debian” (LMDE) release. This version is based on Debian testing instead of Ubuntu and is something like a rolling release version. I’ve used this Linux Mint version on my own for a longer period.

Due to the fact that Linux Mint is literally Ubuntu, there are also the same benefits like extending the existing repositories with the Ubuntu PPAs and the usage of the “Additioinal drivers” wizard to install yourself the latest proprietary drivers you need.

If you’re new to Linux and you want to use a stable Linux distribution with a traditional desktop layout, then Linux Mint with Cinnamon is definitely a Linux distribution which you have to try.

 

3. Manjaro

Image source: heise.de

Manjaro is developed mainly in Germany, Austria and France. It’s based on Arch Linux and was initially released in July 2011. Their main goals are to provide a stable, rock solid Linux distribution on a already running rolling release based Linux. Because of this, Manjaro decided to go with Arch Linux as their base system.

Manjaro offers a lot of desktops and window managers. Even though, they have one major desktop environment which is Xfce right now. At a lot of interviews and statements they said that they think that Xfce is exactly how a desktop environment should be: flexible, fast and solid and that this would come hand in hand with the UNIX concept.

Being a Xfce user myself, I have to confirm this. Xfce is really rock solid and offers a lot of customization options. Xfce is a traditional way of how a Linux desktop. With that being said, if you’re searching for a more fresh and intuitive way of working with your upcoming Linux desktop, then maybe Xfce isn’t the right choice for you. However, Manjaro also offers images with KDE, i3, GNOME, Cinnamon and so on. So there is a desktop environment for every single kind of user out there.

As already said, Manjaro is based on Arch Linux, a Linux distribution which states itself to “keep it simple”. Arch Linux (as well as Manjaro) is a rolling release distribution. This means you install your Linux once and you just have to update. No big version jumps like in Ubuntu, no LTS / non-LTS versions, you will always be on top with the newest version of the software available. Manjaro tries to cut down the complex initial setup process you have with an Arch Linux installation and wants to offer something like a “Ubuntu Arch Linux” – Easy to install, easy to use, but a rock solid and optimized Arch Linux base with the benefits of it’s “keep it simple” principle.

One of the major upsides of Arch Linux and Manjaro is the Linux AUR (Arch Linux user repository). This extends the already big Arch Linux / Manjaro repository with another thousands of packages including proprietary software like Guitar Pro, TeamSpeak and so on. This is simply amazing.

If you ask me, Manjaros balancing act between being simple and optimized as Arch Linux while also being easy as Ubuntu is working here 100%. It just makes fun to work with a Linux distribution where so many packages are available and where the setup process is so easy and self explaining. Manjaro is definitely another good option if you just want to get your work done. I highly recommend it.

 

Conclusion

I can recommend all of the 3 Linux versions to beginners. If you’re a little bit more of a advanced user and want to try out something new, you should give Manjaro a try.

I’m really amazed how much the desktop Linux have evolved within the last years. Today almost every machine will be able to run a desktop Linux without having any kind of issue. So, if you tried Linux some years ago and you ran into a lot of troubles, maybe it’s the time now to try it out once more 😉

 

Bastion and Octodad giveaway

This time I have a little present for all my readers. Yesterday I started a giveaway on Twitter where you can win a Bastion or Octodad: The Dadliest Catch Steam key. Of course I don’t want to withheld this giveaway to my blog reading only people 🙂

How to participate

Participating to this giveaway is rather easy. You can follow me on Twitter and retweet the following Tweet:

OR you leave a comment on this blog post. Of you do both things you can double your chances 🙂

The giveaway is running until Monday, 6th Febuary 0:00 UTC!

About Bastion

Bastion Logo
Image Source: nocookie.net

From Wikipedia:

Bastion is an action role-playing video game developed by independent developer Supergiant Games and published by Warner Bros. Interactive Entertainment. In the game, the player controls “the Kid” as he moves through floating, fantasy-themed environments and fights enemies of various types. It features a dynamic voiceover from a narrator, and is presented as a two-dimensional game with an isometric camera and a hand-painted, colorful art style. Bastion’s story follows the Kid as he collects special shards of rock to power a structure, the Bastion, in the wake of an apocalyptic Calamity.

I played Bastion a lot myself. It’s a very good action adventure with some new elements which are unique. You should definitly give this game a chance. It runs native on Linux of course 🙂

About Octodad: Deadliest Catch

Octodad Logo
Image Source: wikipedia.org

From Wikipedia:

Octodad: Dadliest Catch is an independent adventure video game developed and published by Young Horses. It is a sequel to the 2010 freeware game Octodad. The game consists of controlling the protagonist Octodad in completing chores typical of the mundane suburban father, but complicated by the fact that he is an octopus in disguise.

I didn’t played Octodad that much, but I’ve read a lot of good things about it on the internet. Especially if you play this game with a second player on one device. Also fully supported on Linux 🙂

 

I wish everbody good luck 🙂

LPIC-1: A short overview

Just before 2016 ended I participated in the LPIC Level 1 certification. This post is something like a “overview” of my thoughts and experiences. I want to give you some answers which you might have and some recommendations how to prepare yourself and which tools you can use to learn and get yourself ready for the test.

About LPIC-1

Before I start, I should explain in a few sentences what LPIC-1 actually is.
LPIC-1 stands for Linux Professional Institute Certification Level 1. The Level 1 certification is also known as Linux Server Professional Certification. If you want, you can go on with Level 2 and even a Level 3 certification after you succeded with Level 1. Level 2 has it’s main focus on networking while Level 3 is more security focused. The questions and the definition of the certification itself are defined by the Linux Professional Institute which is a organization in Canada and was funded in 1999.
The Level 1, which I have succeeded in, conatins two exams. 101 and 102. 101 is mainly about System architecture, the installation of Linux as well as package management (RPM and DEB!), Unix commands and partitioning and directory / files structures.
102 on the other hand is about scripting, SQL, Desktops, networking basics, system services and security. All exams are mainly multiple choice. Sometimes you have to fill in a missing word by your own but you can excpect round about 90% of the questions to be multiple choice.

To have a fully and valid LPIC-1certification you need both exams 101 and 102. After this the LPI will send you your official certificate which says that you are a official tested Linux Server Professional now 🙂

Why LPIC-1 anyway?

This is a question which has come to my mind several times. I asked myself continuously do I really need a certificate which says “You are good with Linux!”? I mean I know that I’m not that bad in what I’m doing, so why do I need a organization for that? Let me sum this up with some bullet points here:

  • Employers: Here in Europe the demand for this kind of certificate is huge. Almost every free job has a requirement for this or at least there is some hint like “LPIC certification desired”. So this certificate raises your chances here.
  • Your market value: This sound stupid I know, but this is really something you have to keep in mind. A certificate like this (or any other product specific certificate like CCNA from Cisco and so on) raises your market value. You have better arguments when it comes to salary negotiations and (as the bullet point before states this) a lot of employers are interested more into people who have such a certificate.
  • Give yourself a present: This sounds even more ridiculous than increasing your market value but for me it has felt great after the monitor says “You succeed with LPIC-1”. I feel vindicated when an “official establishment” says to me that you’re good even in them eyes. Well, I know a lot of people don’t need this, but for me it is a good feeling.
  • Learning things you might would have skipped: Oh yes! This is definitly a true thing. I would never ever learned things like at or how to use sed if I haven’t had made this certificate. Sure you can ask yourself “do I really need to learn that old stuff at?”. And yes this question is more than just appropriate, but for me this knowledge is even today worth knowing.
  • Ask your actually employer to take over the costs: For me this was another major reason. My actually employer wants us employees to get trained and certificated over time. We can choose from a wide range of possible certifications and trainings. The costs for this are taken over for 100%. You should also think about to ask your employer to take over the costs or at least a piece of them. You can always argue that this will help the company as well.

Of course this bullet points above are just a quick short overview. Eventually you have other things than are more important to you, or you just want to see your own market value increased, but if you have the time and the money you should definitly consider to get a LPIC-1 certification.

How to pass?

Ok, so I don’t can talk here too much but I can tell you, if you are working with Linux for a decent decade, than grab yourself a good book about LPIC-1, read it from the beginning and I’m pretty sure that you will pass this exams. If you’re are new to Linux or consider yourself a newbie, than you should think about doing a real course with a teacher. There are a lot of coures which are 5 to 10 days long which will let you know everything you need to pass the test. Look around the web.
For the more experienced users the following books are really good rated. Eventually they will help you to pass the test:

  • LPIC-1: Sicher zur erfolgreichen Linux-Zertifizierung
    Well, this is a book in german. If you’re german you should go with that one. It’s from “Rheinwerk Computing” (formerly known as Galileo Books). I’ve used this one by myself. The test questions are great and the simulator, which comes on a CD, prepares you ideal for the exams.
  • LPIC-1: Study Guide
    You will find this book mentioned all over the internet. It seems that this book helped a lot of people to pass the exams. It’s a litte bit pricy but believe me, you don’t want to pay twice to redo the exams 🙂
  • LPI in a Nutshell
    To be honest I’ve never get really in touch with that book. The critics about it are really good and it’s from O’Reilly which is kinda like a legend when it comes down to professional IT books. So I guess this one is also fine. It’s also cheaper than the Study Guide!

The books will contain stuff which is really old. Sometimes the books are talking about Linux Kernel 2.4 and stuff like Floppy disks and PATA devices. But yes, this is still relevant and you will see such questions in the exam, too. So don’t skip these chapters. Learn them 😉

Other tips?

Some other tips you wanna know? Well let me sum them up:

  • Learning: I know I’ve mentioned that before, but I really want to repeat this one again. Don’t only rely on things like “Braindumps”. Braindumps can be good in addition, but I’ve found so many wrong and terrible braindumps which are just useless. Buy yourself a book and read it for 15-30 minutes each day and do the examples, than you will be well-prepared for the exams.
  • Keep calm: I’ve read a lot of horrier stories about the exams on the internet. Even if it’s true that they aren’t as easy as you might think, a lot of questions can be answered by pure logic. Especially if you are a more experienced Linux user you will be in a good position to answer some questions with the help of the logical method of elimination.
  • Take your time: If you don’t feel ready, wait another month on do more learning / training. You can do the exams by a plenty of constitutions a couple of times a week. So this is not running away from you  …
  • Dextrose: Use dextrose in the exam if you can. It taste really good, is natural and will give your brain the kick which it needs 🙂

In addition to this “basic” tips I can recommend you the following homepages for preparing yourself:

  • Penguintutor: The Penguintutor is a homepage which concerns with Linux in general, Raspberry Pi and some other Linux specific topics. It also includes a LPIC quiz which you can find on the right hand of the homepage.
  • LPI Academy: The LPI Academy is a german site which contains LPIC questions in german. So this is similar to the Pengiontutor, but it is only for the german speaking people out there.
  • Gnosis.ch Test Exam 101: This homepages contains a test exam for the LPIC-101 exam. The questions are really looking good so far.
  • Gnosis.ch Test Exam 102: The same as for the 101 test exam but this time for the LPIC-102 exam 🙂
  • LPI Exam 101 Trainer: This app is really good if you have a smartphone and if you want to learn a little bit on the go. I used it heavily for myself and can just recommend it. The only downside is that this App tries to connect to the internet at every start up. If you don’t have a working internet connection while starting, the App will take some time until it gives up and uses the local cache. Also this App only contains questions for the 101 exam!

Conclusion

The LPIC-1 is definitly worth it. Especially in the United States where the exams are much more cheaper than in Europe. If your employer is paying anyway for the exams than you can just go straight for it. It will help you on the market in the future.
If you have the opportunity to do the exams in english than do it! For example the german translations are not really that good.
If you take your time to learn for the exams (eventually with a good book about LPIC-1) than you will succeed the exam and you can hold the exam in your hand while looking as happy as the good old Tux 🙂

Being that said, happy learning and good luck with your exam. And if you have any questions, let me know. I will help you as much as I can 🙂

Tux
Image source: wikipedia.org

Error inside a LXC container: bash: fork: retry: No child processes

LXC Logo
Image source: wikipedia.org

I’ve started to migrate all my OpenVZ Containers to the LXC container virtualisation. This is because of several reasons which I don’t want to write down in this post. This time I just want to give you a fix for a problem which has bumped up for several containers after their migration on my system.

The error in summary

This error is not a problem of LXC. SystemD is causing this and it’s causing this for a good reason. SystemD wants to protect your system that one or multiple processes are able to spawn other processes without limitation. Now, if you use LXC you will get of course a enormous amount of processes which are started by your container. The container itself is a process on your host system. And this is where the problems of the limitation begins.

The Fix

The fix is rather easy and doesn’t even require a restart of your system or of your containers. As root open the file /etc/systemd/system.conf and enable / set the following value:

DefaultTasksMax=infinity

after you’ve done this, simply let the SystemD reload itself:

root@system:~# systemctl daemon-reload

That’s it. Your containers should now run as expected without the bash: fork error.

Have fun with your containers 🙂

Rocket League under Linux: “There has been an error connecting to the Rocket Leauge servers please try again later”


Source: wikipedia.org

One of my favorite games actually is Rocket League. It’s competitive, supports splitscreen (yes, even on PC), makes a lot of fun and now it’s also available for Linux. I played Rocket League before as it was a part of the PS Plus monthly free games months ago. Now that Rocket League has official arrived for Linux, I decided to buy this game on Steam as well.

Unable to connect to servers

Well, the bad thing was, after I started the game, the following message appeared:

There has been an error connecting to the Rocket Leauge servers please try again later

I started to check my network connection, was googeling if the Rocket League server were down and so on. Then I started to feel that this has something to do with my distribution (for the records, I’m actually using openSUSE Tumbleweed, a rolling release distribution). After a short time of searching the web I found the solution for the problem. For openSUSE you simply have to issue the following command as root or with the //sudo// command:

user@opensuse:~$ sudo ln -s /etc/ssl/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt

This command creates a symbolic link which can later be found in ///etc/ssl/certs/ca-certificates.crt//. The link itself points to ///etc/ssl/ca-bunble.pem//. Rocket League needs this certificate to connect to their servers. It’s looking in the directory ///etc/ssl/certs// for the certificate which can’t be found. To solve this, we need the symbolic link of the certificate file where it is originally stored in openSUSE Tumbleweed (which is ///etc/ssl//).
The solution for this problem was originally discussed at the Steam community site: Link.

Restart Rocket League and you should be able ready to go. Please keep in mind that the path of the certificate can differ if you use another distribution. Anyway the target path (which is ///etc/ssl/certs///) is always the same.

Good luck and have fun with a working Rocket League 🙂

Post Script for OpenVPN clients

OpenVPN Logo
Image source: openvpn.net

Did you ever wanted to automatically do something after you OpenVPN client has successful connected to your OpenVPN server? To do so you can just add 2 simple lines to your client OpenVPN file:

script-security 2
up postscript.sh

This 2 lines above are doing the following:

  • script-security 2: Allows the calling of built-in executables (ip, route, ifconfig, …) and user-defined scripts (see next line). A script-security of 1 would mean that only built-in executables are allowed to be called.
  • up postscript.sh: This line defines the script which should be started after the client successfully connected to the server. In this case the script is called postscript.sh. If you don’t define the total path to the script here, the script has to be in the same directory as the OpenVPN client configuration.

And that’s it. After you are connected to your OpenVPN Server the given script will be fired up. Don’t forget to make the script executable for course.
For e.g. I use this to create a route on specific clients after they connected to the OpenVPN server. Of course you can do whatever you want inside the script.