OpenTDM is an open source team deathmatch and duel mod for Quake II. Origially written by r1ch
commands
Show available commands
id
Enable player ID of whoever is closest to your crosshair
accept
Accept a team invite
admin/referee <password>
Become an admin
captain
Set/Show team captain
ready
Once all players are ready the match will start
notready/unready/noready
Unset your ready status
talk
Send a message to a specific player
details/players/playerlist
Show current players and their IDs
vote
Propose changes for players to vote on
yes/no
Cast your vote
menu
Show the OpenTDM menu
join/team <team>
Join specified team
settings/matchinfo
Show the current match settings
observer/obs
Leave your team, joining spectators
chase [quad/invuln/killer/leader/none]
Enter selected chasecam mode
overtime
Show overtime settings
timelimit/tl
Show timelimit
bfg
Show BFG settings
powerups
Show powerup settings
obsmode
Show obsmode settings
stats/accuracy [playername]
Show your statistics or player of your choice
oldstats/oldaccuracy
Show stats from the previous match
teamstats/teamaccuracy
Show stats for the team
oldteamstats/oldteamaccuracy
Show stats for the team for the previous match
rejoin/ghost/restore/recover
Rejoin your team during a match
tskin [model/skin]
Sets the team skin
eskin [model/skin]
Sets the enemy team skin
topshots/bottomshots
Show best/worst accuracy for all weapons from previous match for all players
playerconfig
Show the playerconfig data downloaded from the config/API server
weapontimer
Start a 30 second weapon timer
armortimer
Start a 20 second armor timer
%h
Shows your current health - H:100
%H
Alias for %h
%A
Current armor (long) - A:200 Red
%a
Current armor (short) - A:100
%W
Current weapon and ammo (long) - Rocket Launcher:15
%w
Current weapon and ammo (short) - RL:15
%n
List your nearby team members (in sight) - claire, shloo, adz
%N
List all players nearby (in sight) - claire, naymlis, shloo, 888, adz
#h
Raw health value - 100
#a
Raw armor quantity - 50
%m
The ammo name of your current weapon (for use in dropping) - Slugs
%M
The ammo name of the current weapon of your nearest teammate (for dropping to them) - Rockets
kickplayer/removeplayer/remove <id>
Remove a player from your team
lock/lockteam
Locks a team, prevents anyone from joining it
pick/pickplayer <id>
Picks a player to join your team
invite <id>
Invite a player to join your team
teamskin [model/skin]
Change your team skin
teamname <name>
Change your team name
teamready/readyteam
Force all players on your team to ready
teamnotready/notreadyteam
For all players on your team to not ready
time/calltime/pause/ctime
Call a timeout during a match, freezing all players and stopping the clock
speclock
Lock team against spectators
specinvite <id>
Allow particular spectators to observe a speclocked team
acommands
Show admin command list
overtime/ot <0/1/2> [minutes]
Set the overtime mode
Value | Description |
---|---|
0 | Tie - the match ends even if scores are tied |
1 | Overtime - Adds [minutes] to the clock |
2 | Sudden death - game ends on the next frag |
timelimit/tl <minutes>
Sets the timelimit
bfg [0/1]
Turn off/on BFG
powerups [0/1]
Turn off/on powerups (quad, powershield, etc)
obsmode [speak/whisper/shutup]
Value | Description |
---|---|
0 | Speak - everyone is able to talk during a match |
1 | Whisper - players can talk, spectators can talk to each other |
2 | Shutup - only player can talk, specs are muted |
break
End the current match
time/hold
Pause the current match
changemap <mapname>
Change the current map
mute [id] <minutes>
Mute a player, default time is 5 minutes, 60 minute max
unmute [id]
Restore a player's ability to speak after being muted
bans
Show current bans
readyall/startcountdown
Force all players ready
notreadyall
For all players not ready
shuffle
Randomly shuffle team players
sv settings
Show current match settings
sv savedefaults
Set currently changed CVARs as the defaults
sv applysettings
Config has been changed, make sure it's applied in the gamestate
sv demostatus
See the current status of server demo
g_admin_password <string>
Admin/referee password
g_admin_vote_decide <0/1>
Whether admin instantly decides votes
g_team_a_name <string>
The name for the first team
g_team_b_name <string>
The name for the second team
g_locked_names <0/1>
Players can/cannot change team names
g_team_a_skin <string>
The model/skin used for the first team
g_team_b_skin <string>
The model/skin used for the second team
g_locked_skins <0/1>
Players can/cannot change team skins
g_match_time <integer>
Match time limit in seconds, default: 600
g_match_countdown <integer>
Match countdown time in seconds, default: 15
g_vote_time <integer>
How long votes last in seconds, default: 30
g_intermission_time <float>
How long intermissions lasts (scoreboard after match) in seconds, default: 5
g_force_screenshot <0/1>
Force all players to take a screenshot of the intermission screen, default: 0
g_force_record <0/1>
Force all players to record a demo of the match, default: 0
g_tdm_allow_pick <0/1>
Value | Description |
---|---|
0 | default, pick acts like invite command |
1 | allow direct picking of players to a team, they don't have to accept |
g_tdmflags <integer>
dmflags for tdm mode. Add up the values below
Value | Description |
---|---|
1 | no health |
2 | no powerups |
4 | weapons stay |
8 | no falling damage |
16 | instant powerups, they activate on pickup |
32 | same map |
64 | teams by skin |
128 | teams by model |
256 | no friendly fire |
512 | spawn farthest |
1024 | force respawn |
2048 | no armor |
4096 | allow exit |
8192 | infinite ammo |
16384 | quad drop |
32768 | fixed FOV |
default: 1040 |
g_itdmflags <integer>
dmflags for itdm mode, default: 142427
g_1v1flags <integer>
dmflags for 1v1 mode, default: 1040
g_itemflags <integer>
weapons to remove, add em up
Value | Item |
---|---|
2 | shotgun |
4 | super shotgun |
8 | machinegun |
16 | chaingun |
32 | grenades |
64 | grenade launcher |
128 | rocket launcher |
256 | railgun |
512 | bfg |
1024 | hyperblaster |
default: 0 |
g_powerupflags <integer>
powerups to remove, add em up
Value | Item |
---|---|
2 | quad damage |
4 | invulnerability |
8 | powershield |
16 | powerscreen |
32 | silencer |
64 | rebreather |
128 | environment suit |
default: 0 |
g_gamemode <0/1/2>
The game mode
Value | Description |
---|---|
0 | team deathmatch mode |
1 | instagib team deathmatch mode |
2 | duel mode |
default: 0 |
g_tie_mode <0/1/2>
What to do if a match is tied
Value | Description |
---|---|
0 | tie, end the match anyway |
1 | overtime, add time to the clock (g_overtime) |
2 | sudden death, next frag wins |
default: 1 |
g_overtime <integer>
Overtime in seconds if g_tie_mode set to 1, default: 60
g_chat_mode <0/1/2>
How players are allowed to chat
Value | Description |
---|---|
0 | Everyone can chat |
1 | Players chat freely, spectators only with other spectators |
2 | Only players can talk |
default: 0 |
g_teleporter_nofreeze <0/1>
Value | Description |
---|---|
0 | Default q2 behavior, forward motion is stopped when going through teleporters |
1 | Q3 style, continue motion through teleporters |
default: 0 |
g_fast_weap_switch <0/1/2/3/4>
how fast weapons switch
Value | Description |
---|---|
0 | Normal speed |
1 | Fast |
2 | Instant |
3 | Insane |
4 | Extreme |
*default: 0 |
g_max_timeout <integer>
Max length of a timeout in seconds, default: 300
g_respawn_time <integer>
Number of seconds players respawn if force respawn flag is enabled, default: 5
g_idle_time <integer>
Number of seconds an inactive player is removed from a team, default: 300
flood_waves <integer>
Number of taunts to be considered a flood, default: 6
flood_waves_perminute <integer>
Number of taunts per minute to consider a flood, default: 6
flood_waves_waitdelay <integer>
Number of minutes players can't taunt after a flood, default: 10
g_maplistfile <string>
Filename for the maplist, disabled if blank, default: blank
g_bugs <0/1/2>
Controls bug fixes to original q2
Value | Description |
---|---|
0 | Fix all bugs |
1 | Enable gameplay bugs like quad-grenades |
2 | Enable serious bugs like shooting through walls/corpses |
*default: 0 |
g_allow_vote_config <0/1>
Enable voting for config files in the /configs folder, default: 1
g_auto_rejoin_match <0/1>
Players from previous match will/won't auto rejoin the same teams, default: 1
g_auto_rejoin_map <0/1>
Players from previous map will/won't rejoin teams automatically, default: 1
g_motd_message <string>
Sets message of the day
g_allow_name_change_during_match <0/1>
Players can't/can change names during match, default: 1
g_http_enabled <0/1>
Disables/Enables HTTP support for webconfigs, webstats, default: 1
g_http_bind <string>
IP address to use for HTTP, default: blank
g_http_proxy <string>
IP:port or hostname:port for proxying HTTP requests, default: blank
g_http_domain <string>
Domain for webconfig/playerconfig downloads, default: opentdm.org
g_http_path <string>
URL path for websconfig/playerconfig downloads, default: /
g_1v1_spawn_mode <0/1/2>
How spawns are picked in duel mode
Value | Description |
---|---|
0 | 3.20, avoid closest, bugged |
1 | 3.20, fixed |
2 | true random |
default: 1 |
g_tdm_spawn_mode <0/1/2>
How spawns are picked in TDM mode, default: 1
g_vote_mask <integer>
Enable particular vote options, add them up
Value | Description |
---|---|
1 | timelimit |
2 | map |
4 | kick |
8 | weapons |
16 | powerups |
32 | gamemode |
64 | unused |
128 | teleport mode |
256 | tiemode |
512 | weapon switch mode |
1024 | overtime |
2048 | local config |
4096 | web config |
8192 | chat |
16384 | match restart |
32768 | bugs |
65536 | TDM spawn mode |
131072 | 1v1 spawn mode |
262144 | match abort |
524288 | shuffle |
default: -1 (all) |
g_command_mask <integer>
Enable particular commands
Value | Description |
---|---|
1 | speclock |
default -1 (all) |
g_vote_attention <0/1/2/3>
How aggressively we try to bring votes to the attention of otherwise obtuse players, values stack
Value | Description |
---|---|
0 | Don't do anything special, no sounds, etc |
1 | Play sound specified by g_vote_attention_sound |
2 | Prevent players from shooting until they cast a vote |
3 | Freeze players in place until they vote |
g_vote_attention_sound <string>
The sound file played when vote is called and g_vote_attention
value is greater or equal to 1, default: misc/pc_up.wav
g_record_mvd <0/1/2>
Will record a multi-view server demo of each match. Only works with Q2Pro server
Value | Description |
---|---|
0 | Don't record matches, default |
1 | Record every match |
2 | Record every match and compress them on the fly with zlib |
g_weapon_hud <integer>
Allow the weapon hud, default: 1 (enabled) Players can enable/disable the hud in their client using the hud
command or setting the proper userflag: set uf "256" u
Value | Description |
---|---|
0 | Disabled Hud not allowed at all |
1 | Enabled Hud allowed, but off until client turns it on |
2 | Default Hud on by default for all players, they can still turn it off if they like |
3 | Forced Hud is forced on for all players, they can't turn it off |
g_respawn_weapon <seconds>
Set a custom respawn time for guns. Default 30
g_respawn_ammo <seconds>
Set a custom respawn time for ammo (and health (and stims). Default 30
g_respawn_armor <seconds>
Set a custom respawn time for armor (and shards). Default 20
g_respawn_quad <seconds>
Set a custom respawn time for quad damage. Default 60
g_respawn_invuln <seconds>
Set a custom respawn time for invulnerablity. Default 300
g_respawn_backpack <seconds>
Set a custom respawn time for the ammo pack. Default 180
g_respawn_ps <seconds>
Set a custom respawn time for both the power shield and power screen. Default 60
g_respawn_adren <seconds>
Set a custom respawn time for adrenaline. Default 60
g_randommapfile <string>
Set the file to use inside the game folder that holds the random map config. Random map voting allows players to get a random known-good map of appropriate size. Each line of this file starts with a map name (minus the .bsp) and then a space delimited list of integers. These numbers represent the number of players per team that are appropriate for the map. These should be between 1-4. These can be voted on by team players by using the vote randommap
command. It will use the player count of the team of the vote caller for the size. You can specify a player count when voting as well. Example: vote randommap 4
stats_id <string> u
Userinfo variable. Obtain your ID from https://opentdm.org for playerconfigs and stats. Note the u
at the end
uf <integer> u
Userflags, add them up (note the u
again)
Value | Description |
---|---|
1 | Auto Screenshot Force screenshot of intermission screen |
2 | Auto Record Force demo recording of every match |
4 | Local FOV Keep your FOV when chasing |
8 | Mute Players Ignore all player chat |
16 | Mute Observers Ignore all Spec chat |
256 | Weapon Hud Enable the weapon hud |
amask <integer or string> u
Userinfo Variable. Which armor you want to time upon pickup. Either add up the integer value or combine the string value in any combination including +/-all. Example: -all +ra +ya
for only timing body and combat armors.
Int Value | String Value | Description |
---|---|---|
1 | ga or jacket |
Jacket Armor |
2 | ya or combat |
Combat Armor |
4 | ra or body |
Body Armor |
8 | sh or shard |
Armor Shard |
wmask <integer or string> u
Userinfo Variable. Which weapons you want to time upon pickup. Either add up the integer value or combine the string values in any combination including +/-all. Example: -all +cg +rl
for only timing chaingun and rocketlauncher.
Int Value | String Value | Description |
---|---|---|
1 | sg or shot |
Shotgun |
2 | ssg or sup |
Super Shotgun |
4 | mg or mac |
Machinegun |
8 | cg or cha |
Chaingun |
16 | hg or han |
Hand Grenade |
32 | gl or gre |
Grenade Launcher |
64 | rl or roc |
Rocket Launcher |
128 | hb or hyper |
Hyperblaster |
256 | rg or rail |
Railgun |
512 | bfg or 10k |
BFG10K |