Unraid Dedicated Server Hosting for Team Fortress 2

Please read our disclaimer https://docs.ibracorp.io/#disclaimer.

Prerequisites

Here are the minimum requirements for 24 players.

  • An HDD, SSD, or NVMe cache or dedicated drive with at least 10 GBs of free space

  • 4+ CPU Cores (2.0GHz+)

  • 6GB of RAM

Unraid Docker Template

TeamFortress2 / ich777's Repository / GameServers

Installation

Steam Token

  1. Head over to https://steamcommunity.com/dev/managegameservers, login to your Steam account a create a token for your server like this:

  1. Download and Install ich777’s TeamFortress2 container.

  1. Copy the token that you've created and append it like "+sv_setsteamaccount YOURTOKEN" to the GAME_PARAMS in the template:

Make sure in the guide to use real folder paths instead of unraid fuse (/mnt/user/...)

Done, click "Apply" and let the container install. Wait several minutes before configuring the server, keep an eye on the logs, the download can take very long depending on your download speed.

Now that you have waited several minutes for the game to download you should be able to see it on your local network by going to the Steam Server Browser (View -> Servers -> LAN):

Port Forwarding

Now that you have completed everything above, you will now need to forward the ports so friends can join.

  • 27015 UDP - GamePort

  • 27015 TCP - RCON (optional)

This step varies depending on your individual router. You need to forward the above ports to the IP of your Unraid server.

Modifying your server

WARNING

Always stop the container before editing!

The game files are located in: /mnt/user/appdata/tf2 The maps are located in: /mnt/user/appdata/tf2/tf/maps The resources are located in: /mnt/user/appdata/tf2/tf/resources The configuration files are located in: /mnt/user/appdata/tf2/tf/cfg

server.cfg - This is a preconfigured server.cfg that is meant to go into /mnt/user/appdata/tf2/tf/cfg/ (restart the server after putting it in the appropriate directory)

Adding custom maps

In this example we are going to add ctf_convoy_v2 from here to our server:

  1. Download and extract the *.bsp (actual map), *.nav (file for Bots) and *.jpg files from the archive. - If the *.nav or *.jpg files are missing in the archive, don't worry the real important file is the *.bsp file - It also may be possible that a resources folder is included in the archive, if so simply extract the resources to the resources folder from your game

  2. Go to your maps folder and place the extracted files there

  3. Start the container

MetaMod & Sourcemod

  1. Download SourceMod from here (click on Linux)

  2. Extract the contents from the downloaded archive directly into /mnt/user/appdata/tf2/tf

  3. Download MetaMod from here (click on Linux)

  4. Extract the contents from the downloaded archive directly into /mnt/user/appdata/tf2/tf

  5. Got to this site here, select "Team Fortress 2" from the drop-down and click on "Generate metamod.vdf"

  6. Navigate to the folder /mnt/user/appdata/ft2/tf/addons and replace the metamod.vdf file with the one that you've downloaded

To ensure that SourceMod and MetaMod are working you can RCON into it and issue the command "meta version" and "sm version"- this should give various information about SourceMod and MetaMod.

Happy Modding!

FAQs

Host a Private Server

  1. Remove "+sv_setsteamaccount YOURTOKEN" that you've appended to the GAME_PARAMS in Step 3 (don't forget to delete the token that you've created in Step 2 too).

  2. Set "sv_lan 0" to "sv_lan 1" in the server.cfg file

Changing Server Name

If you want to rename your server name see the preconfigured server.cfg or create a server.cfg file with the entry: hostname "YOURSERVERNAME" Replace YOURSERVERNAME with your preferred server name (keep in mind this value should be in double-quotes).

Change or Remove Server Password

By default the server has no password, if you want to create a password see the preconfigured server.cfg or create a server.cfg file with the entry:

sv_password "YOURPASSWORD"

Replace YOURPASSWORD with your preferred password (keep in mind this value should be in double-quotes).

Change or Remove RCON Password

By default the server has no RCON password this means that RCON is disabled by default. If you want to create an RCON password see the preconfigured server.cfg or create a server.cfg file with the entry:

rcon_password "YOURRCONPASSWORD"

Replace YOURRCONPASSWORD with your preferred RCON password (keep in mind this value should be in double-quotes).

Accessing RCON

You have two ways of accessing RCON:

  1. Through the game enabling the developer console

  2. Through the plugin RCON from ich777 in the CA App

ATTENTION

The RCON protocol transmits everything un-encrypted (including your password!). Therefore we would recommend not enabling RCON over the internet.

Rather, we would recommend using a VPN or SSH if you want to connect to a foreign server over the internet. If you only want to connect to RCON in your LAN it should be safe to use.

Server Not Appearing

  • Make sure all the ports are forwarded correctly with the appropriate protocol.

  • Don't translate Steam ports from for example 27015 to 27016 in the template, this won't work in most cases and for most game servers, to change the port do the following:

  1. Open up the Docker template and delete the port forwarding for UDP - GamePort

  2. Click on "Show more settings ..."

  3. Change the value at GAME_PORT to the new port that you want to use (in this example we are using 27016)

  4. Delete the default UDP Port with the value 27015

  5. Create a new port mapping with the Host and Container port 27016 and also make sure to select UDP and click on "Add" like:

  1. Click on "Apply" to apply the new settings Here is an overview of what you have to do in the template:

Learn More About Server Settings

Additional Support for the Container

Special Thanks

  • To ich777, the original creator of this guide and the related game server containers.

You can support ich777 right here:

Final Words

We hope you enjoyed this guide. It was copied and edited by our Admin Sycotix.

Support Us

Our work sometimes takes months to research and develop. If you want to help support us please consider:

Thank you for being part of our community!

Last updated