Skip to main content

Components introduction

In order to run a fully fledged tf2pickup.org instance, you are going to set up and configure a couple of components. These components can be served by a docker-compose container stack in Docker. That lets server administrators set up the project quickly, without any need of deep understanding of how certain elements of the site work, such as MongoDB configuration. Site deployment through Docker not only saves a lot of time for having a good understanding of how setup works, but also lets administrators run it in a separated environment, meaning there is no need for having anything very specific installed in your host system (besides Docker, docker-compose and the reverse proxy server).

The reverse proxy server

This part of the setup is not currently delivered together with the tf2pickup.org container stack. It routes traffic to the application and terminates SSL. This should be delivered together with SSL certificates, regardless if they are paid or free. We described all setup steps here.

The application

The tf2pickup.org application is a single service that handles both the web interface and all backend logic — accessing the database, configuring game servers and much more. Read how to deploy and configure it here.

The voice server

Currently, tf2pickup.org supports only Mumble, but there are plans to support Discord voice channels as well.

The game server

To launch a game, at least one game server is needed. In order to let the game server work properly with the server, it is expected to have specific extensions/plugins installed:

We provide a Docker image that has all the plugins and configuration. Here you can find some information how to set them up fast. If you want to use a hosted gameserver, you must install all of these plugins above and disable the following default SourceMod plugins:

  • nextmap.smx
  • funvotes.smx
  • reservedslots.smx

The site deployment can be done in one of two ways:

  • Bundled - The application, game and voice server(s) on one host.
  • Divided - The application is on one host, while game server(s) are on another. This does not exclude hosting game servers on multiple different hosts.