{"id":16452774,"url":"https://github.com/kangaroux/tf2-docker","last_synced_at":"2026-04-29T14:37:30.094Z","repository":{"id":187389143,"uuid":"291594713","full_name":"Kangaroux/tf2-docker","owner":"Kangaroux","description":"A simple docker setup for running a TF2 (Team Fortress 2) server.","archived":false,"fork":false,"pushed_at":"2020-09-17T15:40:09.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-09T09:18:36.837Z","etag":null,"topics":["docker","server","steam","teamfortress2","tf2","valve"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kangaroux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-08-31T02:28:36.000Z","updated_at":"2021-10-07T23:09:23.000Z","dependencies_parsed_at":"2023-08-10T06:26:45.574Z","dependency_job_id":null,"html_url":"https://github.com/Kangaroux/tf2-docker","commit_stats":null,"previous_names":["kangaroux/tf2-docker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kangaroux%2Ftf2-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kangaroux%2Ftf2-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kangaroux%2Ftf2-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kangaroux%2Ftf2-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kangaroux","download_url":"https://codeload.github.com/Kangaroux/tf2-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240894276,"owners_count":19874789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","server","steam","teamfortress2","tf2","valve"],"created_at":"2024-10-11T10:13:46.021Z","updated_at":"2026-04-29T14:37:25.070Z","avatar_url":"https://github.com/Kangaroux.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TF2 for Docker\nThis repo contains a Docker setup for automatically downloading, updating, and running a TF2 server.\n\n## Quickstart\nStart by running `touch server.env`. You can leave this file blank for now.\n\nRun `./tf2.sh` to download and start the server. Once the download has completed, you should see the message ` \u003e\u003e Starting server`. If you're running this on your local machine you should also see the server appear under the LAN tab of the server browser.\n\nThe server volume is mounted to `data/`. You'll probably want `data/tf/` which has things like `cfg`, `maps`, etc.\n\n## Accessing the Console\n```bash\n./tf2.sh daemon\n./tf2.sh console\n\n# Or\n./tf2.sh d\n./tf2.sh c\n```\n\nThis starts the server in daemon-mode and then attaches to the process in the container. Once attached you can type in console commands, such as `sm version` if you have SourceMod installed.\n\n**NOTE:** Because you are attaching directly to the server process, if you press `CTRL-C` it will exit the server. To detach, press `CTRL-A, D`.\n\n## Server Configuration\nYou can customize the server startup options with a `server.env` file. These are command line options used by SRCDS. For a full list of possible options see the [wiki page](https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server).\n\n### Options\n- `SERVER_TOKEN`\n\t- A login token for your server, required by Steam. [Get a login token here.](https://steamcommunity.com/dev/managegameservers)\n- `IP`\n\t- The IP to bind the server to. Leave this blank unless you know what you're doing. (default: `0.0.0.0`)\n- `PORT`\n\t- The port to bind the server to. (default: `27015`)\n- `START_MAP`\n\t- The map to load when the server starts. (default: `ctf_2fort`)\n- `MAX_PLAYERS`\n\t- The maximum number of players for the server. (default: 16, max is 32)\n- `VAC`\n\t- Enable/disable Valve Anti-Cheat. (default: `1`, use `0` for insecure)\n- `DEBUG`\n\t- Enable/disable debugging. (default: `0`, use `1` to enable)\n- `EXTRA`\n\t- Any extra command line options. These are appended to the end of the options before starting the server.\n\n## Troubleshooting\n- **The server crashes on startup and says to enable debugging for more info**\n\t- Open `docker/Dockerfile` and uncomment the debug section\n\t- Add `DEBUG=1` to `server.env`\n\t- Run `./tf2.sh`\n\t- Once you've solved the issue you can re-comment the debug section in the Dockerfile\n- **\"There is no screen to be attached matching tf2.\" error when running `./tf2.sh console`**\n    - This usually means you pressed `CTRL-C` while attached in a previous console session and killed the server.\n    - Run `./tf2.sh restart`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkangaroux%2Ftf2-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkangaroux%2Ftf2-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkangaroux%2Ftf2-docker/lists"}