Team Fortress 2

cross-posted from: https://lemmy.zip/post/22148771 > I made this for [a video of mine](https://youtu.be/h8du87_0b3U) but I am a big fan of just making good art as my thumbnails instead of bothering with actual thumbnail techniques that people do. > > I don't make videos in order to make money so most of the thumbnails I make end up like this.

17
4

This is a simple guide on how to start an MvM server using Docker. This also works with Podman. ## 1\. Generating an SRCDS Token `SRCDS_TOKEN` is required if you want your server to be visible on the server browser. Follow the below steps to generate one: 1. Open the following link: [https://steamcommunity.com/dev/managegameservers](<https://steamcommunity.com/dev/managegameservers>) 2. In the App ID field, type the following: 440 3. In the Memo field, type whatever you see fit. You may use the following: MvM Server 4. Click on the "Create" button. 5. Copy the login token. ## 2\. Docker There are plenty of images that can be picked, which can be found here: [https://github.com/CM2Walki/TF2?tab=readme-ov-file#image-variants](<https://github.com/CM2Walki/TF2?tab=readme-ov-file#image-variants>) For this guide, we will be going with the image that comes with SourceMod pre-installed. Pull the latest image: ```bash docker pull cm2network/tf2:sourcemod ``` Start and run the container, make sure to replace `{YOURTOKEN}` with the token you generated and `{YOURPASSWORD}` with a secure password: ```bash docker run --net=host --name=my-mvm-server -e SRCDS_TOKEN="{YOURTOKEN}" -e SRCDS_RCONPW="{YOURPASSWORD}" -e SRCDS_PW="" -e SRCDS_STARTMAP="mvm_decoy" -e SRCDS_MAXPLAYERS=32 cm2network/tf2:sourcemod ``` Here's a breakdown for the command: - `docker run`: This command creates and starts a new container. - `--net=host`: The container shares the host's network stack, meaning it directly uses the host's IP address and ports. - `--name=my-mvm-server`: This names the container "my-mvm-server". You may change its name to whatever you see it. - `-e SRCDS_TOKEN={YOURTOKEN}`: This sets an environment variable `SRCDS_TOKEN` with a value of `{YOURTOKEN}`. This token is necessary to authenticate your server with Valve. Ensure to replace it with your own token. - `-e SRCDS_RCONPW={YOURPASSWORD}`: This sets an environment variable `SRCDS_RCONPW` with a value of `{YOURPASSWORD}`. This is the password for remote console access to the server. Ensure to replace it with a secure password. - `-e SRCDS_PW=""`: This sets the environment variable `SRCDS_PW` to an empty string, meaning no password is required for players to join the server. - `-e SRCDS_STARTMAP="mvm_decoy"`: This sets the initial map to "mvm\_decoy" when the server starts. You may replaced it with any other MvM map if you want. - `-e SRCDS_MAXPLAYERS=32`: MvM bots take up player slots, so you need to set the max player to at least 32. - `cm2network/tf2:sourcemod`: This specifies the Docker image to use, which in this case is a TF2 server image with SourceMod pre-installed. You can find other environment variables here: [https://github.com/CM2Walki/TF2?tab=readme-ov-file#environment-variables](<https://github.com/CM2Walki/TF2?tab=readme-ov-file#environment-variables>) After starting the container successfully, wait for the server to update. It might take some time. Once the server update is complete, launch TF2, open the server browser, click on the "LAN" tab, if everything went well then you will be able to see and connect to your server. However, there are still things need to be done, so continue reading the guide. ## 3\. Map rotation To add stock MvM maps to your map cycle, run the following command: ```bash docker exec -it my-mvm-server nano /home/steam/tf-dedicated/tf/cfg/mapcycle.txt ``` Add the following content to `mapcycle.txt`: ``` mvm_bigrock mvm_coaltown mvm_decoy mvm_ghost_town mvm_mannhattan mvm_mannworks mvm_rottenburg ``` ## 4\. Admin privileges Since the server comes with SourceMod, it is a good idea to set yourself as an admin in order to access admin-only features. ### 4\.1. Finding your Steam ID 1. Open the following website: [https://steamdb.info/calculator/](<https://steamdb.info/calculator/>) 2. In the blank field, enter your Steam community profile URL, for example: [https://steamcommunity.com/id/kisats/](<https://steamcommunity.com/id/kisats/>) 3. Click on the "Get disappointed in your life" button. 4. Copy the "Steam2 ID" value. ### 4\.2. Becoming an Admin To edit the admin list, run the following command: ```bash docker exec -it my-mvm-server nano /home/steam/tf-dedicated/tf/addons/sourcemod/configs/admins_simple.ini ``` At the end of the file, add the following line. Ensure to replace `YOUR_STEAM_ID_HERE` with the Steam ID you copied previously: ``` "YOUR_STEAM_ID_HERE" "99:z" ``` ## 5\. Changing server.cfg The `server.cfg` file that comes with the image is targeted towards normal TF2 matches. It is important to change it so it fits MvM requirements. To do so, follow the steps below: Remove the existing `server.cfg` file: ```bash docker exec -it my-mvm-server rm /home/steam/tf-dedicated/tf/cfg/server.cfg ``` Create a new `server.cfg` file: ```bash docker exec -it my-mvm-server nano /home/steam/tf-dedicated/tf/cfg/server.cfg ``` In the `server.cfg` file, insert the following content. Ensure to replace the values of `hostname`, `rcon_password`, `sv_contact` and `sv_region`: ``` // Change the following: hostname my-mvm-server // This is the server name. It will be shown on the server browser. rcon_password ChangeMe // Enter a secure password sv_contact test@gmail.com // Type your email address sv_region 255 // 0: US - East, 1: US - West, 2: South America, 3: Europe, 4: Asia, 5: Australia, 6: Middle East, 7: Africa, 255: World (Default) // General MVM Settings // tf_mm_servermode 1 //puts the server into mvm matchmaking tf_mm_strict 0 //allows players to join through matchmaking and server browsing tf_mm_match_size_mvm 6 //minimum players needed in matchmaking before connecting tf_mvm_min_players_to_start 1 //default 3 tf_mvm_respec_enabled 1 //allow refunds tf_mvm_respec_limit 0 //total allowed refunds; 0 - unlimited tf_mvm_respec_credit_goal 2000 //if respec_limit is not 0, then the total number of credits needed to earn a refund tf_mvm_skill 3 // 1 - easy; 3 - medium (default); 5 - hard tf_mvm_disconnect_on_victory 0 //disconnect players on victory tf_mvm_victory_reset_time 60 //seconds to wait after victory before changing map // Set to lock per-frame time elapse host_framerate 0 // Set the pause state of the server setpause 0 // Control where the client gets content from // 0 = anywhere, 1 = anywhere listed in white list, 2 = steam official content only sv_pure 0 // Is the server pausable sv_pausable 0 // Type of server 0=internet 1=lan sv_lan 0 // Whether the server enforces file consistency for critical files sv_consistency 1 // Collect CPU usage stats sv_stats 1 //Tags //sv_tags <your Tags> //Server Player Password // NOTE: if you have a password, your MvM server will not be allowed in Match Making. //sv_password <your server password> // Execute Banned Users // exec banned_user.cfg exec banned_ip.cfg writeid writeip // Rcon Settings // // Number of minutes to ban users who fail rcon authentication sv_rcon_banpenalty 1440 // Max number of times a user can fail rcon authentication before being banned sv_rcon_maxfailures 5 // Log Settings // // Enables logging to file, console, and udp < on | off >. log on // Log server information to only one file. sv_log_onefile 1 // Log server information in the log file. sv_logfile 1 // Log server bans in the server logs. sv_logbans 1 // Echo log information to the console. sv_logecho 1 // Rate Settings // // Frame rate limiter fps_max 600 // Min bandwidth rate allowed on server, 0 == unlimited sv_minrate 0 // Max bandwidth rate allowed on server, 0 == unlimited sv_maxrate 20000 // Minimum updates per second that the server will allow sv_minupdaterate 66 // Maximum updates per second that the server will allow sv_maxupdaterate 66 // Download Settings // // Allow clients to upload customizations files sv_allowupload 1 // Allow clients to download files sv_allowdownload 1 // Maximum allowed file size for uploading in MB net_maxfilesize 64 //VOTING!// sv_allow_votes 1 sv_vote_allow_spectators 0 sv_vote_failure_timer 120 //(default 300 = 5 minutes) // REGULAR GAME VOTES // //Enable Scramble Vote sv_vote_issue_scramble_teams_allowed 0 //Enable Restart Game sv_vote_issue_restart_game_allowed 1 //Enable NextLevel Vote sv_vote_issue_nextlevel_allowed 1 //Enable Kick vote sv_vote_issue_kick_allowed 1 //Kick Duration (0 for no ban time, non-0 for minutes to ban) sv_vote_kick_ban_duration 10 // MVM VOTES // //Enable Kick vote sv_vote_issue_kick_allowed_mvm 1 //Enable changelevel vote sv_vote_issue_changelevel_allowed_mvm 1 //Enable restart map vote sv_vote_issue_restart_game_allowed_mvm 1 //Enable classlimits vote sv_vote_issue_classlimits_allowed_mvm 0 //Enable classlimit max count vote sv_vote_issue_classlimits_max_mvm 2 //(default 2) //Enable kick players that haven't connected yet but passed certain time threshold sv_vote_issue_kick_min_connect_time_mvm 0 //(default 0 is enabled) //Vote timer cooldown sv_vote_failure_timer_mvm 120 //(default 120 = 2 minutes) //Allow change difficulty vote sv_vote_issue_mvm_challenge_allowed 1 // Round and Game Times // //Wait for Players mp_waitingforplayers_cancel 1 // Enable timers to wait between rounds. WARNING: Setting this to 0 has been known to cause a bug with setup times lasting 5:20 (5 minutes 20 seconds) on some servers! mp_enableroundwaittime 1 // Time after round win until round restarts mp_bonusroundtime 10 // If non-zero, the current round will restart in the specified number of seconds mp_restartround 0 //Enable sudden death mp_stalemate_enable 0 // Timelimit (in seconds) of the stalemate round. mp_stalemate_timelimit 300 // game time per map in minutes mp_timelimit 60 //Max Round Wins mp_winlimit 0 //Disable Respawn Times mp_disable_respawn_times 0 //(default 0; 1 allows near instant respawns) // Overrides the max players reported to prospective clients sv_visiblemaxplayers 6 // Maximum number of rounds to play before server changes maps mp_maxrounds 0 // Client CVARS // // Restricts spectator modes for dead players mp_forcecamera 1 // toggles whether the server allows spectator mode or not mp_allowspectators 1 // toggles footstep sounds mp_footsteps 1 // toggles game cheats sv_cheats 0 // After this many seconds without a message from a client, the client is dropped sv_timeout 900 // Maximum time a player is allowed to be idle (in minutes), made this and sv_timeout equal same time? mp_idlemaxtime 9 // Deals with idle players 1=send to spectator 2=kick mp_idledealmethod 1 // time (seconds) between decal sprays decalfrequency 10 //Overtime Nagging tf_overtime_nag 1 // Communications // // enable voice communications sv_voiceenable 1 // Players can hear all other players, no team restrictions 0=off 1=on sv_alltalk 0 // amount of time players can chat after the game is over mp_chattime 10 // enable holiday modes: 0none,1birthday,2halloween,3birthday //tf_forced_holiday 0 ``` ## 6\. Checklist To ensure that everything went well, check the following things: - The server is visible on the server browser. - The maps and missions can be changed through voting. - The admin commands can be accessed by typing `!sm_admin` in the chat. - When pressing F4, the wave starts and the robots spawn as expected. ## 7\. Credits - Thanks to CM2Walki for providing [TF2 Docker images](<https://github.com/CM2Walki/TF2> "TF2 Docker images"). - Thanks to Jamillia for providing [server.cfg](<https://steamcommunity.com/discussions/forum/13/612823460277729158/> "server.cfg")

17
0
https://www.youtube.com/watch?v=_1tAputxa6M

Operation: Osmium Ordinance was created by Potato MvM and released on July 7th, 2024, featuring 7 intermediates, 14 advanced, and 7 expert missions. The campaign was set to conclude on July 25th, but was extended to August 1st. Join me as we go through each mission in this tour and rank them all to see how well they offered in their gameplay experiences.

10
0
https://canvas.fediverse.events/

The event starts on July 12th, 2024 @ midnight EDT. See [!canvas@toast.ooo](https://toast.ooo/c/canvas) for more information. [Someone could create a custom template URL for easy coordination.](https://toast.ooo/post/3987393) Any suggestions on what kind of template we could use? Edit: I'm just gonna use this template for now: https://canvas.fediverse.events/#x=-50&y=-203&zoom=9&tu=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F4%2F48%2FTeam_Fortress_2_style_logo.svg%2F1024px-Team_Fortress_2_style_logo.svg.png&tw=25&tx=151&ty=43&ts=ONE_TO_ONE Edit 2: It's done, now it only needs to be defended in case of vandalism :) \ ![](https://i.imgur.com/b9kjisc.png)

10
2

Yes, it is the **OFFICIAL** version Here is the first page: ![](https://lemmy.world/pictrs/image/c4250356-cb8b-4b0b-8d40-46022922f17e.png) You can find out more on [this reddit post](https://www.reddit.com/r/tf2/comments/1dzlrq9/tf2s_official_7th_comic_teaser/), including email with one of the people who works on the official comic and a preview of a part of the script.

43
7
twitch.tv

Currently watching in person B)

11
0
pbs.twimg.com

Source is Tyler McVicker/Valve News Network: https://x.com/Tyler_McV/status/1806415701311430753

49
2
https://vxtwitter.com/weezytf2/status/1806282466077901226

![](https://lemmy.world/pictrs/image/74475241-cbfd-4ef5-94e0-0776ea2edb6c.png)

27
9
https://comfig.app/quickplay/

> This is a best attempt at recreating the old in-game Quickplay feature as accurately as possible, and updating it to work in the current times and in browser. It is merely an experimental proof of concept now, but will continue to improve over the coming weeks!

14
1
https://etf2l.org/2024/06/02/announcing-the-etf2l-pass-time-cup/

Europe region Signups: NOW! – June 21st 18:00 CEST Group Stages: June 24th – July 19th Playoffs: July 21st – TBA (Signup Dependant) The cup will be played over 3 weeks in swiss, with playoffs starting from July 15th and length will be decided once signups are closed. Due to this being a new gamemode and focusing more on the movement mechanics of TF2 rather than DM, we will be hosting swiss as one group.

5
0
https://ozfortress.com/leagues/67

Australia region You can sign up for Sixes Winter '24 from Wednesday the 5th of June 2024, until Wednesday the 19th of June 2024. We aim to have seeding out by Friday the 21st of June 2024 at the latest, before the season starts. The season starts Sunday the 23rd of June 2024.

4
0
https://ozfortress.com/leagues/66

Australia region You can sign up for Highlander Winter '24 from Sunday the 2nd of June 2024, up until Friday the 21st of June 2024. We aim to have seeding out by Sunday the 23rd of June 2024 at the latest, before the season starts. The season starts Wednesday the 26th of June 2024.

4
0
https://i.imgur.com/136pltT.mp4

I made this meme a couple of days ago, didn't know there was a tf2 community for lemmy the reason it looks so low quality already is because the source video came from a gif and proceeded to go though 5 or 6 shitty websites to be turned into this

16
6

#FIXTF2 #SAVETF2 Valve I used to trust you as one of the few "good" video companies out there...

40
6

Valve, please do something. Fixing the anticheat wouldn't only fix tf2, it would save many other multiplayer games plagued by cheating, including other Valve games like CS and the upcoming Deadlock. #SaveTF2 #FixTF2 [Would you like to sign my petition?](https://save.tf/)

79
15
https://youtu.be/82B38TaawfE

> Sign the petition here: http://save.tf-------------------#fixtf2 #savetf2

26
3

* https://x.com/xMilk_Oujix/status/1797057430326497347 * https://www.instagram.com/p/C4GrlqnIocF/ * https://redd.it/1bnt5rj

22
2
https://www.reddit.com/r/tf2/comments/1d14iqw/its_time_to_stop_the_bots_fixtf2_june_3rd/

![](https://preview.redd.it/its-time-to-stop-the-bots-june-3rd-v0-apxnfk0ris2d1.png?width=1080&crop=smart&auto=webp&s=164e595743d849966a11e0736587fa26a18a6169)

33
8
https://fixtf2.tf/

A website that estimates the amount of bots currently logged in to TF2

15
1
moonlight.tf

Magnetic Mayhem is a summer community MvM charity tour featuring 6 intermediate, 9 advanced, and 6 expert missions across 19 maps. Complete the tour to earn up to 2 in-game medals! Charity: Donate to the National Brain Tumor Society to earn up to 3 donor medals! https://moonlight.tf/charity_instructions https://scrap.tf/fundraiser/PMAR24

14
2
https://youtu.be/YywMChb-7p8

I'm interested to see how well organized it is going to be this time.

32
0

There are many overlaps between the tf2 and gmod community (such as tf2 related gmod videos), and I think it is relevant enough for me to post it here, especially considering Team Fabolous 2 has parts that was filmed on a mario kart map and that map might get taken down. Remember to archive these stuff that might taken down, they aren't winning this. Fuck Nintendo. I regret buying ToTK from this dumpster fire of a company last year. (sorry for the somewhat out of place and angry rant I just wrote this out of rage)

47
7

Team Fortress 2 doesn't start anymore after the update. I use Comanglia's "Toaster" config together with the launch options `-dxlevel 81 -windowed -w 1536 -h 864 -console -novid`. Some quick research suggests that setting the dxlevel in the launch options doesn't work in general anymore.

9
2
https://ozfortress.com/leagues/63

Ozfortress is back with ultiduo with a new whitelist and new maps Solemn Vow and Disciplinary Action are now allowed. Maps will be ultiduo_ozf_r, ultiduo_swine_b06, ultiduo_baloo_v2 and ultiduo_champions_b1 You can sign up for Ultiduo 18 from now (Wednesday the 17th of April 2024), up until Wednesday the 1st of May 2024. We aim to have initial seedings out by Friday the 3rd of May at the latest. As always, Ultiduo will be on a Saturday, Saturday the 4th of May 2024. they are planning to put a max team signup of 40-48 unfortunately

2
0
https://youtu.be/LX7Ef7bM4t8

The new 64 bit TF2 update broke a few mods. One of those is the popular mod p-rec that's commonly used by competitive players to record matches. If you have it, make sure to swap to the in game system as soon as possible so you can avoid losing demos.

18
4