Skip to content

A slim 1.6 GB only docker image for running a Team Fortress 2 dedicated server. This image includes all necessary dependencies and configurations to quickly deploy and manage a TF2 server.

License

Notifications You must be signed in to change notification settings

doctor-server/tf2-dedicated-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tf2-dedicated-server

Publish Docker Image (GPR) Publish Docker Image (Hub) Docker Image Version Docker Stars Docker Pulls

This repository uses Docker and SteamCMD to download and check for updates to the TF2 dedicated server. If there's an update, it pushes the latest Docker image to the Docker Hub and GitHub Docker registry.

Image Name Image Tag Image Size
doctorserver/tf2-dedicated-server latest Docker Image Size (tag)
doctorserver/tf2-dedicated-server slim Docker Image Size (tag)

slim removes unnecessary files like maps, which helps reduce the image size.

Installation

To install the TF2 dedicated server from the command line, use one of the following commands:

docker pull doctorserver/tf2-dedicated-server:latest

or, use slim tag for smaller image size and faster deployment. (Recommended)

docker pull doctorserver/tf2-dedicated-server:slim

Initialization (tag: latest)

Step 1: Copy Server Files

First, create a temporary container to copy the necessary server files to your local tf directory:

docker create --name tf2-temp-server doctorserver/tf2-dedicated-server:latest sleep infinity
docker cp tf2-temp-server:/home/steam/serverfiles/tf/cfg ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/maps ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/materials ./tf
docker rm tf2-temp-server

Step 2: Docker Compose Configuration

To run the TF2 server using Docker Compose, add the following service configuration to your docker-compose.yml file:

services:
  tf2-demo-server:
    image: doctorserver/tf2-dedicated-server:latest
    command: ./srcds_run -console -game tf +sv_pure 1 +randommap +maxplayers 24
    ports:
      - "27015:27015/tcp"
      - "27015:27015/udp"
    volumes:
      - ./tf/cfg:/tf/cfg
      - ./tf/maps:/tf/maps
      - ./tf/materials:/tf/materials
    restart: always
    tty: true
    stdin_open: true

Initialization (tag: slim)

Step 1: Copy Server Files

First, create a temporary container to copy the necessary server files to your local tf directory:

docker create --name doctorserver/tf2-dedicated-server:slim sleep infinity
docker cp tf2-temp-server:/home/steam/serverfiles/tf/cfg ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/maps ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/materials ./tf
docker rm tf2-temp-server

Step 2: Add Maps

Ensure you add at least one map to the maps folder in your local tf directory.

Step 3: Docker Compose Configuration

To run the TF2 server using Docker Compose, add the following service configuration to your docker-compose.yml file:

services:
  tf2-demo-server:
    image: doctorserver/tf2-dedicated-server:slim
    command: ./srcds_run -console -game tf +sv_pure 1 +randommap +maxplayers 24
    ports:
      - "27015:27015/tcp"
      - "27015:27015/udp"
    volumes:
      - ./tf/cfg:/tf/cfg
      - ./tf/maps:/tf/maps
      - ./tf/materials:/tf/materials
    restart: always
    tty: true
    stdin_open: true

Usage

Start the Server

To start the TF2 dedicated server, run the following command:

docker compose up -d

Attach to the Server

To attach to the running container, use:

docker attach <container_name>

Detach from the Server

To detach from the container without stopping it, use the key combination:

Ctrl + P, Ctrl + Q

Development

This section is for github developer

Get Remote Build ID

Go to the following URL: https://github.com/doctor-server/app-depots/blob/main/depots/232250.json

In the JSON file, find the value of depots.branches.public.buildid.

Building the Image

To build the Docker image locally, run the following command:

docker build -t tf2-dedicated-server:latest --build-arg REMOTE_BUILDID=<remote_buildid> --build-arg TAG=latest .
docker build -t tf2-dedicated-server:slim --build-arg REMOTE_BUILDID=<remote_buildid> --build-arg TAG=slim .

Running the Demo TF2 Server Locally

To run the demo TF2 server locally, use Docker Compose:

docker compose up -d

Copy the folder to the local directory

To copy the server files to a local directory, use the following command:

docker cp tf2-demo-server:/home/steam/serverfiles/tf ./tf

Successfully copied 11.7GB to C:\GitHub\tf2-dedicated-server\tf

About

A slim 1.6 GB only docker image for running a Team Fortress 2 dedicated server. This image includes all necessary dependencies and configurations to quickly deploy and manage a TF2 server.

Topics

Resources

License

Stars

Watchers

Forks

Packages