This is a mIRC script which facilitates pick-up games used for organized play of online games. Once 10 players have joined the queue, a set number of captains (2 or 4) pick teams in a configurable order, or alternatively teams can be picked at random. The bot can query UT99/UT2004 and Valve source-engine game servers, Teamspeak 2/3 servers, perform a Google search or translate request, and more. All the features of the bot facilitate the organization of these games or are features commonly used by the community.
mIRC is a popular client for the IRC protocol with a powerful event-based scripting language.
- Data mirroring into memory for reduced disk reads
- Multiple queue capability with up to 99 players per queue with automatic removal from queue upon nick change, quit, part or filled queue (even from another channel)
- Valve Source engine server query capability. Protocol specifications here
- Unreal Tournament 99/2004 UDP server query capability. Protocol specifications here
- Teamspeak 2/3 voice TCP server query capability. Protocol specifications here
- Google search query capability via HTTP requests
- Weather query capability via wunderground API
- Google Translate query capability via HTTP requests
- Themed message responses with 3 default themes and the ability for user-specified themes
- Tracked player and total PUG statistics by auth or irc nick if the user is not authenticated with the server
- Rules, links, maps and server lists commands
- Idle captain and player kick, recent PUG informational commands, promotion and administrative commands, and more. See Usage for a full list of commands
- Place all files in the mIRC default scripts directory. This is the mIRC root folder for versions prior to 6.3 and %APPDATA%\mIRC for versions thereafter
- Type /load -rs pugmain.mrc in the server window
- Load up your IRC server of choice, join a channel and type: .pugbot on. NOTE: This bot works best on a network where it can be given the +B flag or similar permissions. If not, mIRC flood rules need to be enabled or the bot may be kicked for flooding
Upon connecting to the IRC server for the first time, an ini file will be created with the server's $network name with default variables.
Command prefixes are ! and . only. The only exception is the query command which is just 'q server'. The bot can have multiple queues (mods) per channel. If you only have one queue (mod) in your channel, ignore the <mod> part of the following commands unless stated otherwise. All OPs in the channel have access to all admin commands.
| Command Syntax | Description |
| !join || !j <mod1|tag> <mod2|tag> |
Joins multiple mods with the specified tag. Tags are shown in a .list and are used to specify information for picking purposes. |
| !leave || !l <mod1> <mod2> |
Leaves the specified mods. |
| !leaveall || !lva |
Leaves all mods you are joined, not just the ones in the channel you type it in. |
| !list || !ls <mod> |
In channels with more than one mod, !list will list all the mods. |
| !last || !la <mod> |
Information about the last PUG which was played. Can also use without <mod>. |
| !liast || !lia |
Combines the list and last commands. Can also use without <mod>. |
| !promote <mod> |
A notice to help get the queue filled. |
| !turn |
Shows which captain is currently picking. |
| !here |
Type this to prevent getting kicked for being an idle captain. |
| !teams |
Shows current teams during picking. |
| Command Syntax | Description |
| !pugbot <on|off> |
Turns the pugbot on or off. |
| !addmod <mod> <tag> |
Mod required. Adds a mod to the current list of mods. |
| !delmod <mod> |
Mod required. |
| !settag <mod> <tag> |
Tag is the little bit of info shown at the beginning of a .list or .last. |
| !setlimit <mod> <#> |
Number of players required to start a PUG. |
| !setpickorder <mod> <#> |
1 (default) or 2 (for 4-team PUGs). |
| !setnumteams <mod> <#> |
Number of teams in the PUG. Maximum of 8 teams. |
| !setpugtype <mod> <#> |
0 for manual picking PUGs, 1 for random PUGs, 2 for deathmatch PUGs (no teams). |
| !sethybridPUG <#> |
0 (default): Must specify a mod in all commands. 1: Will allow commands without mod given (joins the 'PUG' mod). Still able to use mod in commands. Use .listall and .liastall for full PUGlists. |
| !reset |
Resets captains and teams in the started PUG. |
| !fullreset <mod> |
Fully resets the PUG, removing all players. |
| !setcaptain <player> |
Manually sets a captain. |
| !addplayer <mod> <nick> |
Adds a player to the specified PUG. |
| !delplayer <mod> <nick> |
Removes a player from the specified PUG. |
| !setlink# <link> |
Adds a .link# command to display the specified information. |
| !dellink# |
Removes the .link# command. |
| !addrule# <rule> |
Adds a .rule# command to display the specified rule. |
| !delrule# |
Removes the .rule# command. |
| !setip# <name> |
Adds a .ip# command to display the specified game server IP address, or to be used with the query command. |
| !delip# |
Removes the .ip# command. |
| !spamip# |
Spams 6 lines of the given server address. |
| !setalias <alias> |
Adds an alias for the given ip to be used in the query command. |
| !delalias <alias> |
Removes the specified alias. |
| !setts# <ip:port> |
Adds a .ts# command to display the specified TS IP address, or to be used with the query command. |
| !delts# |
Removes the specified TS command. |
| !setvoicePUG <0|1> |
0: Allows anyone to PUG. 1: For voiced players only. |
| !settheme <theme> |
Changes the current theme. Use .themes for a list of available themes. |
| !setmaps <maps> |
Set the list of allowed maps. |
| !setstream <link> |
Set the stream link. |
| !setstats <stats link> |
Set the UTStats link. |
| Command Syntax | Description |
| !taunt <player> |
Different messages before/during/when picked as captain. |
| !deltag, !nomic, !tag <tag> |
!deltag removes tags, !nomic changes all PUGtags to nomic, !tag sets a custom tag for all mods. |
| !translate || !gt <id> <text> |
Translates text into language specified by its shortform identifier. i.e. en, de, fr |
| !google || !g <text> |
Performs a google query and returns the result. |
| !rules |
Lists all the rules. |
| !pickorders |
Returns all pickorders available. |
| !pickorder <mod> |
Current pickorder for <mod>. |
| !maps |
Lists all the allowed maps. |
| !stream |
Responds with the stream link. |
| !links |
Lists all of the links. |
| !link# |
Responds with the specified link. |
| !servers |
Notices the user of all the available game servers. |
| !ip# |
Lists the specified server IP. |
| !aliases |
Lists all the server aliases. |
| !PUGstats |
Responds with the channnel PUG statistics. |
| !stats |
UTStats link set from .setstats. |
| !findstats <*player*> |
Wildcard search. Returns a maximum of 5 results. |
| !stats <player> <mod> |
Statistics for the specified player and mod. Mod is optional. |
| !ts<#> <server:port> |
Queries the voice server and returns the response. |
| q <{ut99/ut2k4/source engine} alias or ip#> |
Queries the specified game server and returns the response. |
| !scriptstats |
PUG script statistics. |
| !about |
Responds with information about the script and ME! |