PugRunner is a Discord bot that helps moderators run Team Fortress 2 pickup games (PUGs). Players join a queue and are automatically assigned to teams when the queue is full and a moderator runs a command to start a game. When the game ends, the moderator uses a command to return players to the queue. The bot was used until January 2021 for a private community of over 500 players. Though PugRunner was intended to go open source, the only PUG group interested in using it decided to continue running games manually before the bot could be improved and released.
Running a game with PugRunner was designed to be as simple as possible while still allowing for flexibility from the moderator.
pr!rollto randomly select two team captains (medics) from the queue.
pr!startwhile pinging the team captains to start the game.
pr!connectwith the server IP and password to send a message with the server information to players' direct messages.
pr!dmwith a message to send to all players' direct messages.
pr!moveto end the game and return players to the queue.
Based on the needs of the community, PugRunner was designed to be as flexible as possible while still being easy to use. The following features were added to make running games easier for moderators and more enjoyable for players.
Many new players join the competitive Team Fortress 2 community through PUGs. PugRunner provides tutorials for new players to learn how to play a PUG use the bot. These tutorials are displayed at various times and can be disabled using
When selecting players for a game, PugRunner prioritizes players who were not selected the previous game. This ensures that everyone gets a chance to play and prevents players from not being selected multiple games in a row.
While Medic has been argued as the most important class in competitive Team Fortress 2, many players do not enjoy playing as him since he has to avoid combat and "babysit" his teammates. PugRunner gives team captains medic immunity, preventing them from being forced to play medic again for the rest of the day. This ensures that players who do not want to play medic are not forced to do so.
Some maps and gamemodes are controversial for PUGs, so PugRunner prompts moderators to allow players to vote against unpopular maps like Product. If a majority of players vote against the map, the moderator can choose which map to play or allow the captains to pick again.
PugRunner allows players to select a division that they play in. When selecting players for a game, PugRunner displays the team balance based on the divisions of the players. This allows moderators to easily ensure that teams are balanced.