[Linux] - Server tool hosting guide


Recommended Posts

Hello everyone, 

This post is meant for instructing people on how to host Linux based servers, both with GUI and non-GUI. 

However we recommend everyone to use a GUI version, since the process can be much faster and easier.

The first section of this post will be generic and applied to both GUI and non-GUI version of Linux.

Note: This guide assumes you have got a Linux Distribution installed with 64-bit architecture.

INSTALLING STEAMCMD AND SERVER TOOLS:

  1. Login as root and install the necessary softwares
        Debian/Ubuntu: $ apt-get install screen lib32gcc1
        CentOS: $ yum -y install screen glibc libstdc++ glibc.i686 libstdc++.i686

     

  2. Create a user
    $ adduser your-user-name

    Enter your password and make sure it's secured enough. When prompted for personal infos like names, company,.. you can choose to skip by pressing Enter. When asked for information is correct, write Y and Enter. 

  3. Logout the root account and login with your new account
  4. Make a directory named TFEServerTools
    $ mkdir TFEServerTools
  5. Enter TFEServerTools folder
    $ cd TFEServerTools
  6. Download and extract SteamCMD from Steam official depot
    $ wget -q -O - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzv

    or

    $ curl -so - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzv
  7. Create a script for downloading/updating the server tools
    $ echo "./steamcmd.sh +login anonymous +force_install_dir servertools +app_update 1170680 validate"  > updateserver.sh
  8. Make the script executable
    $ chmod +x updateserver.sh
  9. Install or update the server tools. If you want to update, just run the same script
    $ ./updateserver.sh
  10. Once it's finished, quit SteamCMD using
    $ exit

 

SETTING UP CONFIG FILES

Note: Since the Server Manager is programmed to be used in Windows, it is recommended that you run the tools in Linux, then use Server Manager from Windows to connect and manage your lobbies and server.

Before we start doing anything, let's go into the server tools installation folder using

$ cd TFEServerTools/CommunityTool

Non-GUI distribution:

  1. Setup config files  using script
$ ./Setup.sh

The script will create a default admin account for use of connecting with Server Manager, as well as others nessesary config files.

GUI distribution:

  1. Install Mono-develop package
    $ apt-get install mono-complete

    MonoDevelop is an open-source development environment. We can use its environment to run ServerManager.exe, which is basically a window-based application.

  2. Simply run ServerManager.exe in the same folder to run the installation. Following the instruction to setup your first admin account. All the config files will be generated automatically as well (same as running Setup.sh script).

Final step is to create script files for Master Server Controller, Dedicated Server Controller and Helper

  • Master Server Controller script
    $ printf "#/bin/bash\n'../jre/bin/java' -jar MS.jar" > MS/MS.sh
    $ chmod +x MS/MS.sh 
  • Dedicated Server Controller script
    $ printf "#/bin/bash\n'../jre/bin/java' -jar DSC.jar" > DSC/DSC.sh
    $ chmod +x DSC/DSC.sh
  • Helper script
    $ printf "#/bin/bash\n'jre/bin/java' -jar Helper.jar" > Helper.sh
    $ chmod +x Helper.sh
     

RUNNING SERVER TOOLS AND CONNECTING

After all setups are done, now it's time to start your server tools.

Note: In order to run the script properly, please make sure to go back to the base directory "CommunityTool" before doing the steps.

 

GUI distribution:

  1. Start ServerManager.exe in Linux distribution using monodevelop by double clicking
  2. Click on START SERVER green button and everything will be started for you

Non-GUI distribution:

  1. Start Screen mode
    $
    $ screen

    Then press Enter to continue.

  2. Create a screen session for all server tools
    $ screen -S servertool

    Immediately after, you will be switched to servertool session automatically.

  3. Create a new sub-screen for Master Server Controller by using Ctrl+A + C, then start MS.sh script

  4. $ cd MS
    $ ./MS.sh
  5. Create a new sub-screen for Dedicated Server Controller by using Ctrl+A + C, then start DSC.sh script
    $ cd DSC
    $ ./DSC.sh
  6. Create a new sub-screen for Helper by using Ctrl+A + C, then start Helper.sh script
    $ ./Helper.sh

    Note: make sure everything is run in order!

To switch between sub-screens, you can use Ctrl A + Ctrl A.

Once finish starting up the server tools, you can use ServerManager.exe from Window machines to connect to the Linux server with IP and admin accounts.

Note: for non-GUI distribution, make sure to change the default password of the default admin account.

PORTS TO ALLOW AND OPEN

Steam Query ports : 27015-27020 (last port depends on how many rooms you will want to open)
Game ports : 7777-7780 (last port depends on how many rooms you will want to open)
Server tools ports : 1111-1114

 

@KattoorMade a very handy script to automate the installation process. Check it out below: (thanks!)

https://www.taskforceelite.com/topic/483-linux-automated-server-tool-installation/

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
  • RJS_Psycho pinned this topic
  • 3 months later...

Since you're able to host a server on Linux, does that mean it could, theoretically, also run on macOS?

Share this post


Link to post
Share on other sites
  • RJS_Ares changed the title to [Linux] - Server tool hosting guide
  • 1 month later...

The guide is missing some ports - specifically the TSTFE Lobbies.

Copied from the windows guide, could a moderator update the original post?

Service

Port Type

Port Range

Steam

TCP/UDP 

27015-27020 

TSTFE_Lobbies

TCP/UDP

27070-27080 

Unreal_Engine

TCP/UDP

7777-7790

TSTFE_MasterServer

TCP/UDP

1111

 

IcI

  • Like 1

Share this post


Link to post
Share on other sites
  • 4 weeks later...

Is this guide up2date or have any things changed?

To me its looks like something has changed at the tar file either it has changed or is missing...

Share this post


Link to post
Share on other sites
2 hours ago, Warrior said:

Is this guide up2date or have any things changed?

To me its looks like something has changed at the tar file either it has changed or is missing...

Step 6? Why do you think it changed?

Share this post


Link to post
Share on other sites
Posted (edited)

Because I get this error:

TFEserver-linux.jpg.2b84bbcc09ecb691f03e9da52da50d3d.jpg

Oh Shiiiiit...... NOT 0 (number zero) but upper capitals o 😬

$ wget -q -O - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzv
Edited by Warrior
  • Haha 1

Share this post


Link to post
Share on other sites
  • 3 weeks later...
  • 4 weeks later...
On 1/18/2021 at 3:38 PM, Red Dog said:

Which would would better Ubuntu or Kubuntu?   

Late reply @Red Dog, but I think it's the matter of personal preferences, these both are almost identical and the difference lies in window manager I believe (Gnome for Ubuntu and KDE for Kubuntu).

If you feel adventurous, you could try some other fun distro - whenever I linux, I always come back to BunsenLabs, also debian-based, with OpenBox on top 🙂

Share this post


Link to post
Share on other sites
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.