From aa8b20b302e85017bfbe20a049c32a91091b0251 Mon Sep 17 00:00:00 2001 From: CosminPerRam Date: Thu, 11 Jan 2024 01:38:44 +0200 Subject: [PATCH] chore: Games IDs and names refactor, extract release year. (#415) * partial gid remakes and years * First run of complete gid and name revision * chore: some gid refactors and some years * fix: add missing years * chore: regenerate GAMES_LIST.md * fix: wrong ids caught by rust gid testing * fix: star wars jedi knight 2: jedi outcast gid * chore: regenerate games_list after rebase * chore: fix some more ids caught by rust id testing --- GAMES_LIST.md | 649 +++++++++++----------- lib/games.js | 1479 ++++++++++++++++++++++++++++++------------------- 2 files changed, 1229 insertions(+), 899 deletions(-) diff --git a/GAMES_LIST.md b/GAMES_LIST.md index 7172cef..1fae86a 100644 --- a/GAMES_LIST.md +++ b/GAMES_LIST.md @@ -1,328 +1,329 @@ ### Supported -| GameDig Type ID | Name | See Also | -|------------------------|---------------------------------------------------------|--------------------------------------------------| -| `as` | Action: Source | [Valve Protocol](#valve) | -| `ahl` | Action Half-Life | [Valve Protocol](#valve) | -| `ageofchivalry` | Age of Chivalry (2007) | [Valve Protocol](#valve) | -| `aoe2` | Age of Empires 2 (1999) | | -| `alienarena` | Alien Arena (2004) | | -| `alienswarm` | Alien Swarm (2010) | [Valve Protocol](#valve) | -| `avp2` | Aliens versus Predator 2 (2001) | | -| `avp2010` | Aliens vs. Predator (2010) | [Valve Protocol](#valve) | -| `americasarmy` | America's Army (2002) | | -| `americasarmy2` | America's Army 2 (2003) | | -| `americasarmy3` | America's Army 3 (2009) | [Valve Protocol](#valve) | -| `americasarmypg` | America's Army: Proving Grounds (2015) | [Valve Protocol](#valve) | -| `arcasimracing` | Arca Sim Racing (2008) | | -| `arkse` | Ark: Survival Evolved (2017) | [Valve Protocol](#valve) | -| `arma2` | ARMA 2 (2009) | [Valve Protocol](#valve) | -| `arma2oa` | ARMA 2: Operation Arrowhead (2010) | [Valve Protocol](#valve) | -| `arma3` | ARMA 3 (2013) | [Valve Protocol](#valve) | -| `arma` | ARMA: Armed Assault (2007) | | -| `armacwa` | ARMA: Cold War Assault (2011) | | -| `armar` | ARMA: Resistance (2011) | | -| `armare` | ARMA: Reforger (2022) | [Valve Protocol](#valve) | -| `armagetron` | Armagetron Advanced (2001) | | -| `asa` | Ark: Survival Ascended (2023) | | -| `assettocorsa` | Assetto Corsa (2014) | | -| `atlas` | Atlas (2018) | [Valve Protocol](#valve) | -| `avorion` | Avorion (2020) | [Valve Protocol](#valve) | -| `baldursgate` | Baldur's Gate (1998) | | -| `ballisticoverkill` | Ballistic Overkill (2017) | [Valve Protocol](#valve) | -| `barotrauma` | Barotrauma (2019) | [Valve Protocol](#valve) | -| `bat1944` | Battalion 1944 (2018) | [Valve Protocol](#valve) | -| `beammp` | BeamMP (2021) | | -| `bf1942` | Battlefield 1942 (2002) | | -| `bf2` | Battlefield 2 (2005) | | -| `bf2142` | Battlefield 2142 (2006) | | -| `bf3` | Battlefield 3 (2011) | | -| `bf4` | Battlefield 4 (2013) | | -| `bfh` | Battlefield Hardline (2015) | | -| `bfv` | Battlefield Vietnam (2004) | | -| `bfbc2` | Battlefield: Bad Company 2 (2010) | | -| `bd` | Base Defense (2017) | [Valve Protocol](#valve) | -| `blackmesa` | Black Mesa (2020) | [Valve Protocol](#valve) | -| `brainbread` | BrainBread | [Valve Protocol](#valve) | -| `brainbread2` | BrainBread 2 (2022) | [Valve Protocol](#valve) | -| `breach` | Breach (2011) | [Valve Protocol](#valve) | -| `breed` | Breed (2004) | | -| `brink` | Brink (2011) | [Valve Protocol](#valve) | -| `bs` | Blade Symphony (2014) | [Valve Protocol](#valve) | -| `buildandshoot` | Build and Shoot / Ace of Spades Classic (2012) | | -| `cod` | Call of Duty (2003) | | -| `cod2` | Call of Duty 2 (2005) | | -| `cod3` | Call of Duty 3 (2006) | | -| `cod4` | Call of Duty 4: Modern Warfare (2007) | | -| `codmw2` | Call of Duty: Modern Warfare 2 (2009) | | -| `codmw3` | Call of Duty: Modern Warfare 3 (2011) | [Valve Protocol](#valve) | -| `coduo` | Call of Duty: United Offensive (2004) | | -| `codwaw` | Call of Duty: World at War (2008) | | -| `callofjuarez` | Call of Juarez (2006) | | -| `chaser` | Chaser (2003) | | -| `chivalry` | Chivalry: Medieval Warfare (2012) | [Valve Protocol](#valve) | -| `chrome` | Chrome (2003) | | -| `codenamecure` | Codename CURE (2017) | [Valve Protocol](#valve) | -| `codenameeagle` | Codename Eagle (2000) | | -| `colonysurvival` | Colony Survival (2017) | [Valve Protocol](#valve) | -| `cacrenegade` | Command and Conquer: Renegade (2002) | | -| `commandos3` | Commandos 3: Destination Berlin (2003) | | -| `conanexiles` | Conan Exiles (2018) | [Valve Protocol](#valve) | -| `contagion` | Contagion (2011) | [Valve Protocol](#valve) | -| `contactjack` | Contract J.A.C.K. (2003) | | -| `corekeeper` | Core Keeper (2022) | [Valve Protocol](#valve) | -| `cs15` | Counter-Strike 1.5 (2002) | | -| `cs16` | Counter-Strike 1.6 (2003) | [Valve Protocol](#valve) | -| `cs2d` | CS2D (2004) | | -| `cscz` | Counter-Strike: Condition Zero (2004) | [Valve Protocol](#valve) | -| `csgo` | Counter-Strike: Global Offensive (2012) | [Notes](#csgo), [Valve Protocol](#valve) | -| `css` | Counter-Strike: Source (2004) | [Valve Protocol](#valve) | -| `cs2` | Counter-Strike 2 (2023) | [Valve Protocol](#valve) | -| `creativerse` | Creativerse (2017) | [Valve Protocol](#valve) | -| `crossracing` | Cross Racing Championship Extreme 2005 (2005) | | -| `crysis` | Crysis (2007) | | -| `crysis2` | Crysis 2 (2011) | | -| `crysiswars` | Crysis Wars (2008) | | -| `dab` | Double Action: Boogaloo (2014) | [Valve Protocol](#valve) | -| `daikatana` | Daikatana (2000) | | -| `dnl` | Dark and Light (2017) | [Valve Protocol](#valve) | -| `dmomam` | Dark Messiah of Might and Magic (2006) | [Valve Protocol](#valve) | -| `darkesthour` | Darkest Hour: Europe '44-'45 (2008) | | -| `dod` | Day of Defeat (2003) | [Valve Protocol](#valve) | -| `dods` | Day of Defeat: Source (2005) | [Valve Protocol](#valve) | -| `dayofdragons` | Day of Dragons (2019) | [Valve Protocol](#valve) | -| `doi` | Day of Infamy (2017) | [Valve Protocol](#valve) | -| `daysofwar` | Days of War (2017) | [Valve Protocol](#valve) | -| `dayz` | DayZ (2018) | [Valve Protocol](#valve) | -| `dayzmod` | DayZ Mod (2013) | [Valve Protocol](#valve) | -| `deadlydozenpt` | Deadly Dozen: Pacific Theater (2002) | | -| `dh2005` | Deer Hunter 2005 (2004) | | -| `descent3` | Descent 3 (1999) | | -| `deusex` | Deus Ex (2000) | | -| `devastation` | Devastation (2003) | | -| `dinodday` | Dino D-Day (2011) | [Valve Protocol](#valve) | -| `dirttrackracing2` | Dirt Track Racing 2 (2002) | | -| `discord` | Discord | [Notes](#discord) | -| `dmc` | Deathmatch Classic (2001) | [Valve Protocol](#valve) | -| `dst` | Don't Starve Together (2016) | [Valve Protocol](#valve) | -| `doom3` | Doom 3 (2004) | | -| `dota2` | Dota 2 (2013) | [Valve Protocol](#valve) | -| `drakan` | Drakan: Order of the Flame (1999) | | -| `dystopia` | Dystopia (2005) | [Valve Protocol](#valve) | -| `eco` | Eco (2018) | | -| `eldewrito` | Halo Online - ElDewrito (2007) | | -| `empyrion` | Empyrion - Galactic Survival (2015) | [Valve Protocol](#valve) | -| `empiresmod` | Empires Mod (2008) | [Valve Protocol](#valve) | -| `etqw` | Enemy Territory: Quake Wars (2007) | | -| `fear` | F.E.A.R. (2005) | | -| `f1c9902` | F1 Challenge '99-'02 (2002) | | -| `farcry` | Far Cry (2004) | | -| `farcry2` | Far Cry 2 (2008) | | -| `f12002` | Formula One 2002 (2002) | | -| `fof` | Fistful of Frags (2014) | [Valve Protocol](#valve) | -| `fortressforever` | Fortress Forever (2007) | [Valve Protocol](#valve) | -| `ffow` | Frontlines: Fuel of War (2008) | | -| `garrysmod` | Garry's Mod (2004) | [Valve Protocol](#valve) | -| `geneshift` | Geneshift (2017) | | -| `mutantfactions` | Mutant Factions (2009) | | -| `giantscitizenkabuto` | Giants: Citizen Kabuto (2000) | | -| `globaloperations` | Global Operations (2002) | | -| `ges` | GoldenEye: Source (2010) | [Valve Protocol](#valve) | -| `gore` | Gore: Ultimate Soldier (2002) | | -| `fivem` | Grand Theft Auto V - FiveM (2013) | | -| `mtasa` | Grand Theft Auto: San Andreas - Multi Theft Auto (2004) | | -| `mtavc` | Grand Theft Auto: Vice City - Multi Theft Auto (2002) | | -| `groundbreach` | Ground Breach (2018) | [Valve Protocol](#valve) | -| `gunmanchronicles` | Gunman Chronicles (2000) | [Valve Protocol](#valve) | -| `hl2dm` | Half-Life 2: Deathmatch (2004) | [Valve Protocol](#valve) | -| `hldm` | Half-Life Deathmatch (1998) | [Valve Protocol](#valve) | -| `hldms` | Half-Life Deathmatch: Source (2005) | [Valve Protocol](#valve) | -| `hlopfor` | Half-Life: Opposing Force (1999) | [Valve Protocol](#valve) | -| `halo` | Halo (2003) | | -| `halo2` | Halo 2 (2007) | | -| `hll` | Hell Let Loose | [Valve Protocol](#valve) | -| `heretic2` | Heretic II (1998) | | -| `hexen2` | Hexen II (1997) | | -| `had2` | Hidden & Dangerous 2 (2003) | | -| `homefront` | Homefront (2011) | [Valve Protocol](#valve) | -| `homeworld2` | Homeworld 2 (2003) | | -| `hurtworld` | Hurtworld (2015) | [Valve Protocol](#valve) | -| `igi2` | I.G.I.-2: Covert Strike (2003) | | -| `il2` | IL-2 Sturmovik (2001) | | -| `insurgency` | Insurgency (2014) | [Valve Protocol](#valve) | -| `insurgencymic` | Insurgency: Modern Infantry Combat (2007) | [Valve Protocol](#valve) | -| `insurgencysandstorm` | Insurgency: Sandstorm (2018) | [Valve Protocol](#valve) | -| `ironstorm` | Iron Storm (2002) | | -| `isle` | The Isle (2015) | [Valve Protocol](#valve) | -| `jamesbondnightfire` | James Bond 007: Nightfire (2002) | | -| `jc2mp` | Just Cause 2 - Multiplayer (2010) | | -| `jc3mp` | Just Cause 3 - Multiplayer (2017) | [Valve Protocol](#valve) | -| `kspdmp` | Kerbal Space Program - DMP Multiplayer (2015) | | -| `killingfloor` | Killing Floor (2009) | | -| `killingfloor2` | Killing Floor 2 (2016) | [Valve Protocol](#valve) | -| `kingpin` | Kingpin: Life of Crime (1999) | | -| `kisspc` | Kiss: Psycho Circus: The Nightmare Child (2000) | | -| `kzmod` | Kreedz Climbing (2017) | [Valve Protocol](#valve) | -| `left4dead` | Left 4 Dead (2008) | [Valve Protocol](#valve) | -| `left4dead2` | Left 4 Dead 2 (2009) | [Valve Protocol](#valve) | -| `m2mp` | Mafia II - Multiplayer (2010) | | -| `m2o` | Mafia II - Online (2010) | | -| `moh2010` | Medal of Honor (2010) | | -| `mohab` | Medal of Honor: Airborne (2007) | | -| `mohaa` | Medal of Honor: Allied Assault (2002) | | -| `mohbt` | Medal of Honor: Allied Assault Breakthrough (2003) | | -| `mohsh` | Medal of Honor: Allied Assault Spearhead (2002) | | -| `mohpa` | Medal of Honor: Pacific Assault (2004) | | -| `mohwf` | Medal of Honor: Warfighter (2012) | | -| `medievalengineers` | Medieval Engineers (2015) | [Valve Protocol](#valve) | -| `minecraft` | Minecraft (2009) | | -| `minecraftbe` | Minecraft: Bedrock Edition (2011) | | -| `mnc` | Monday Night Combat (2011) | [Valve Protocol](#valve) | -| `mordhau` | Mordhau (2019) | [Valve Protocol](#valve) | -| `mumble` | Mumble - GTmurmur Plugin (2005) | [Notes](#mumble) | -| `mumbleping` | Mumble - Lightweight (2005) | [Notes](#mumble) | -| `nascarthunder2004` | NASCAR Thunder 2004 (2003) | | -| `ns` | Natural Selection (2002) | [Valve Protocol](#valve) | -| `ns2` | Natural Selection 2 (2012) | [Valve Protocol](#valve) | -| `nfshp2` | Need for Speed: Hot Pursuit 2 (2002) | | -| `nab` | Nerf Arena Blast (1999) | | -| `netpanzer` | netPanzer (2002) | | -| `nwn` | Neverwinter Nights (2002) | | -| `nwn2` | Neverwinter Nights 2 (2006) | | -| `nexuiz` | Nexuiz (2005) | | -| `nitrofamily` | Nitro Family (2004) | | -| `nmrih` | No More Room in Hell (2011) | [Valve Protocol](#valve) | -| `nolf2` | No One Lives Forever 2: A Spy in H.A.R.M.'s Way (2002) | | -| `nucleardawn` | Nuclear Dawn (2011) | [Valve Protocol](#valve) | -| `onset` | Onset (2019) | [Valve Protocol](#valve) | -| `ohd` | Operation: Harsh Doorstop (2023) | [Valve Protocol](#valve) | -| `openarena` | OpenArena (2005) | | -| `openttd` | OpenTTD (2004) | | -| `ofcwc` | Operation Flashpoint: Cold War Crisis (2001) | | -| `flashpointresistance` | Operation Flashpoint: Resistance (2002) | | -| `painkiller` | Painkiller | | -| `pc` | Project Cars (2015) | [Valve Protocol](#valve) | -| `pc2` | Project Cars 2 (2017) | [Valve Protocol](#valve) | -| `pixark` | PixARK (2018) | [Valve Protocol](#valve) | -| `pvkii` | Pirates, Vikings, and Knights II (2007) | [Valve Protocol](#valve) | -| `ps` | Post Scriptum | | -| `postal2` | Postal 2 | | -| `prey` | Prey | | -| `primalcarnage` | Primal Carnage: Extinction | [Valve Protocol](#valve) | -| `prbf2` | Project Reality: Battlefield 2 (2005) | | -| `przomboid` | Project Zomboid | [Valve Protocol](#valve) | -| `quake1` | Quake 1: QuakeWorld (1996) | | -| `quake2` | Quake 2 (1997) | | -| `quake3` | Quake 3: Arena (1999) | | -| `quake4` | Quake 4 (2005) | | -| `quakelive` | Quake Live (2010) | [Valve Protocol](#valve) | -| `ragdollkungfu` | Rag Doll Kung Fu | [Valve Protocol](#valve) | -| `r6` | Rainbow Six | | -| `r6roguespear` | Rainbow Six 2: Rogue Spear | | -| `r6ravenshield` | Rainbow Six 3: Raven Shield | | -| `rallisportchallenge` | RalliSport Challenge | | -| `rallymasters` | Rally Masters | | -| `redorchestra` | Red Orchestra | | -| `redorchestra2` | Red Orchestra 2 | [Valve Protocol](#valve) | -| `redorchestraost` | Red Orchestra: Ostfront 41-45 | | -| `redline` | Redline | | -| `redm` | Red Dead Redemption 2 - RedM (2018) | | -| `rtcw` | Return to Castle Wolfenstein | | -| `rfactor` | rFactor | | -| `ricochet` | Ricochet | [Valve Protocol](#valve) | -| `riseofnations` | Rise of Nations | | -| `rs2` | Rising Storm 2: Vietnam | [Valve Protocol](#valve) | -| `risingworld` | Rising World (2014) | [Valve Protocol](#valve) | -| `ror2` | Risk of Rain 2 (2020) | [Valve Protocol](#valve) | -| `rune` | Rune | | -| `rust` | Rust | [Valve Protocol](#valve) | -| `stalker` | S.T.A.L.K.E.R. | | -| `samp` | San Andreas Multiplayer | | -| `saomp` | San Andreas OpenMP | | -| `savage2` | Savage 2: A Tortured Soul (2008) | | -| `sdtd` | 7 Days to Die (2013) | [Valve Protocol](#valve) | -| `ss` | Serious Sam | | -| `ss2` | Serious Sam 2 | | -| `shatteredhorizon` | Shattered Horizon | [Valve Protocol](#valve) | -| `shogo` | Shogo | | -| `shootmania` | Shootmania | [Notes](#nadeo-shootmania--trackmania--etc) | -| `sin` | SiN | | -| `sinep` | SiN Episodes | [Valve Protocol](#valve) | -| `soldat` | Soldat | | -| `sof` | Soldier of Fortune | | -| `sof2` | Soldier of Fortune 2 | | -| `sonsoftheforest` | Sons Of The Forest | [Valve Protocol](#valve) | -| `spaceengineers` | Space Engineers | [Valve Protocol](#valve) | -| `squad` | Squad | [Valve Protocol](#valve) | -| `stbc` | Star Trek: Bridge Commander | | -| `stvef` | Star Trek: Voyager - Elite Force | | -| `stvef2` | Star Trek: Voyager - Elite Force 2 | | -| `swjk2` | Star Wars Jedi Knight II: Jedi Outcast (2002) | | -| `swjk` | Star Wars Jedi Knight: Jedi Academy (2003) | | -| `swbf` | Star Wars: Battlefront | | -| `swbf2` | Star Wars: Battlefront 2 | | -| `swrc` | Star Wars: Republic Commando | | -| `starbound` | Starbound | [Valve Protocol](#valve) | -| `starmade` | StarMade | | -| `starsiege` | Starsiege (2009) | | -| `suicidesurvival` | Suicide Survival | [Valve Protocol](#valve) | -| `stn` | Survive the Nights (2017) | [Valve Protocol](#valve) | -| `svencoop` | Sven Coop | [Valve Protocol](#valve) | -| `swat4` | SWAT 4 | | -| `synergy` | Synergy | [Valve Protocol](#valve) | -| `tacticalops` | Tactical Ops | | -| `takeonhelicopters` | Take On Helicopters (2011) | | -| `teamfactor` | Team Factor | | -| `tf2` | Team Fortress 2 | [Valve Protocol](#valve) | -| `tfc` | Team Fortress Classic | [Valve Protocol](#valve) | -| `teamspeak2` | Teamspeak 2 | | -| `teamspeak3` | Teamspeak 3 | [Notes](#teamspeak3) | -| `terminus` | Terminus | | -| `terraria` | Terraria - TShock (2011) | [Notes](#terraria) | -| `forrest` | The Forrest (2014) | [Valve Protocol](#valve) | -| `thefront` | The Front (2023) | [The Front](#thefront), [Valve Protocol](#valve) | -| `hidden` | The Hidden (2005) | [Valve Protocol](#valve) | -| `nolf` | The Operative: No One Lives Forever (2000) | | -| `ship` | The Ship | [Valve Protocol](#valve) | -| `ts` | The Specialists | [Valve Protocol](#valve) | -| `graw` | Tom Clancy's Ghost Recon Advanced Warfighter (2006) | | -| `graw2` | Tom Clancy's Ghost Recon Advanced Warfighter 2 (2007) | | -| `theforest` | The Forest (2014) | [Valve Protocol](#valve) | -| `thps3` | Tony Hawk's Pro Skater 3 | | -| `thps4` | Tony Hawk's Pro Skater 4 | | -| `thu2` | Tony Hawk's Underground 2 | | -| `towerunite` | Tower Unite | [Valve Protocol](#valve) | -| `trackmania2` | Trackmania 2 | [Notes](#nadeo-shootmania--trackmania--etc) | -| `trackmaniaforever` | Trackmania Forever | [Notes](#nadeo-shootmania--trackmania--etc) | -| `tremulous` | Tremulous | | -| `tribes1` | Tribes 1: Starsiege | | -| `tribesvengeance` | Tribes: Vengeance | | -| `tron20` | Tron 2.0 | | -| `turok2` | Turok 2 | | -| `universalcombat` | Universal Combat | | -| `unreal` | Unreal | | -| `ut` | Unreal Tournament | | -| `ut2003` | Unreal Tournament 2003 | | -| `ut2004` | Unreal Tournament 2004 | | -| `ut3` | Unreal Tournament 3 | | -| `unturned` | Unturned | [Valve Protocol](#valve) | -| `urbanterror` | Urban Terror | | -| `vrising` | V Rising (2022) | [Valve Protocol](#valve) | -| `v8supercar` | V8 Supercar Challenge | | -| `vs` | Vampire Slayer | [Valve Protocol](#valve) | -| `valheim` | Valheim (2021) | [Notes](#valheim), [Valve Protocol](#valve) | -| `ventrilo` | Ventrilo | | -| `vcmp` | Vice City Multiplayer | | -| `vietcong` | Vietcong | | -| `vietcong2` | Vietcong 2 | | -| `warfork` | Warfork | | -| `warsow` | Warsow | | -| `wheeloftime` | Wheel of Time | | -| `wolfenstein2009` | Wolfenstein 2009 | | -| `wolfensteinet` | Wolfenstein: Enemy Territory | | -| `wurm` | Wurm: Unlimited | [Valve Protocol](#valve) | -| `xpandrally` | Xpand Rally | | -| `zombiemaster` | Zombie Master | [Valve Protocol](#valve) | -| `zps` | Zombie Panic: Source | [Valve Protocol](#valve) | +| GameDig Type ID | Name | See Also | +|----------------------|--------------------------------------------------|---------------------------------------------| +| a2oa | ARMA 2: Operation Arrowhead | [Valve Protocol](#valve) | +| aaa | ARMA: Armed Assault | | +| aapg | America's Army: Proving Grounds | [Valve Protocol](#valve) | +| actionsource | Action: Source | [Valve Protocol](#valve) | +| acwa | ARMA: Cold War Assault | | +| ahl | Action Half-Life | [Valve Protocol](#valve) | +| alienarena | Alien Arena | | +| alienswarm | Alien Swarm | [Valve Protocol](#valve) | +| americasarmy | America's Army | | +| americasarmy2 | America's Army 2 | | +| americasarmy3 | America's Army 3 | [Valve Protocol](#valve) | +| aoc | Age of Chivalry | [Valve Protocol](#valve) | +| aoe2 | Age of Empires 2 | | +| aosc | Ace of Spades Classic | | +| arma2 | ARMA 2 | [Valve Protocol](#valve) | +| arma3 | ARMA 3 | [Valve Protocol](#valve) | +| armagetronadvanced | Armagetron Advanced | | +| armareforger | ARMA: Reforger | [Valve Protocol](#valve) | +| armaresistance | ARMA: Resistance | | +| asa | Ark: Survival Ascended | | +| ase | Ark: Survival Evolved | [Valve Protocol](#valve) | +| asr08 | Arca Sim Racing '08 | | +| assettocorsa | Assetto Corsa | | +| atlas | Atlas | [Valve Protocol](#valve) | +| avorion | Avorion | [Valve Protocol](#valve) | +| avp2 | Aliens versus Predator 2 | | +| avp2010 | Aliens vs. Predator 2010 | [Valve Protocol](#valve) | +| baldursgate | Baldur's Gate | | +| ballisticoverkill | Ballistic Overkill | [Valve Protocol](#valve) | +| barotrauma | Barotrauma | [Valve Protocol](#valve) | +| bas | Build and Shoot | | +| basedefense | Base Defense | [Valve Protocol](#valve) | +| battalion1944 | Battalion 1944 | [Valve Protocol](#valve) | +| battlefield1942 | Battlefield 1942 | | +| battlefield2 | Battlefield 2 | | +| battlefield2142 | Battlefield 2142 | | +| battlefield3 | Battlefield 3 | | +| battlefield4 | Battlefield 4 | | +| battlefieldhardline | Battlefield Hardline | | +| battlefieldvietnam | Battlefield Vietnam | | +| bbc2 | Battlefield: Bad Company 2 | | +| beammp | BeamMP (2021) | | +| blackmesa | Black Mesa | [Valve Protocol](#valve) | +| bladesymphony | Blade Symphony | [Valve Protocol](#valve) | +| brainbread | BrainBread | [Valve Protocol](#valve) | +| brainbread2 | BrainBread 2 | [Valve Protocol](#valve) | +| breach | Breach | [Valve Protocol](#valve) | +| breed | Breed | | +| brink | Brink | [Valve Protocol](#valve) | +| c3db | Commandos 3: Destination Berlin | | +| cacr | Command and Conquer: Renegade | | +| chaser | Chaser | | +| chrome | Chrome | | +| cmw | Chivalry: Medieval Warfare | [Valve Protocol](#valve) | +| cod | Call of Duty | | +| cod2 | Call of Duty 2 | | +| cod3 | Call of Duty 3 | | +| cod4mw | Call of Duty 4: Modern Warfare | | +| codenamecure | Codename CURE | [Valve Protocol](#valve) | +| codenameeagle | Codename Eagle | | +| codmw2 | Call of Duty: Modern Warfare 2 | | +| codmw3 | Call of Duty: Modern Warfare 3 | [Valve Protocol](#valve) | +| coduo | Call of Duty: United Offensive | | +| codwaw | Call of Duty: World at War | | +| coj | Call of Juarez | | +| colonysurvival | Colony Survival | [Valve Protocol](#valve) | +| conanexiles | Conan Exiles | [Valve Protocol](#valve) | +| contagion | Contagion | [Valve Protocol](#valve) | +| contractjack | Contract J.A.C.K. | | +| corekeeper | Core Keeper | [Valve Protocol](#valve) | +| counterstrike15 | Counter-Strike 1.5 | | +| counterstrike16 | Counter-Strike 1.6 | [Valve Protocol](#valve) | +| counterstrike2 | Counter-Strike 2 | [Valve Protocol](#valve) | +| crce | Cross Racing Championship Extreme | | +| creativerse | Creativerse | [Valve Protocol](#valve) | +| crysis | Crysis | | +| crysis2 | Crysis 2 | | +| crysiswars | Crysis Wars | | +| cs2d | CS2D | | +| cscz | Counter-Strike: Condition Zero | [Valve Protocol](#valve) | +| csgo | Counter-Strike: Global Offensive | [Notes](#csgo), [Valve Protocol](#valve) | +| css | Counter-Strike: Source | [Valve Protocol](#valve) | +| dab | Double Action: Boogaloo | [Valve Protocol](#valve) | +| daikatana | Daikatana | | +| dal | Dark and Light | [Valve Protocol](#valve) | +| dayofdragons | Day of Dragons | [Valve Protocol](#valve) | +| dayz | DayZ | | +| dayzmod | DayZ Mod | [Valve Protocol](#valve) | +| ddd | Dino D-Day | [Valve Protocol](#valve) | +| ddpt | Deadly Dozen: Pacific Theater | | +| deathmatchclassic | Deathmatch Classic | [Valve Protocol](#valve) | +| deerhunter2005 | Deer Hunter 2005 | | +| descent3 | Descent 3 | | +| deusex | Deus Ex | | +| devastation | Devastation | | +| dhe4445 | Darkest Hour: Europe '44-'45 | | +| discord | Discord | [Notes](#discord) | +| dmomam | Dark Messiah of Might and Magic | [Valve Protocol](#valve) | +| dod | Day of Defeat | [Valve Protocol](#valve) | +| dods | Day of Defeat: Source | [Valve Protocol](#valve) | +| doi | Day of Infamy | [Valve Protocol](#valve) | +| doom3 | Doom 3 | | +| dootf | Drakan: Order of the Flame | | +| dota2 | Dota 2 | [Valve Protocol](#valve) | +| dow | Days of War | [Valve Protocol](#valve) | +| dst | Don't Starve Together | [Valve Protocol](#valve) | +| dtr2 | Dirt Track Racing 2 | | +| dystopia | Dystopia | [Valve Protocol](#valve) | +| eco | Eco | | +| egs | Empyrion - Galactic Survival | [Valve Protocol](#valve) | +| eldewrito | Halo Online (ElDewrito) | | +| empiresmod | Empires Mod | [Valve Protocol](#valve) | +| etqw | Enemy Territory: Quake Wars | | +| f1c9902 | F1 Challenge '99-'02 | | +| farcry | Far Cry | | +| farcry2 | Far Cry 2 | | +| fear | F.E.A.R. | | +| ffow | Frontlines: Fuel of War | | +| fof | Fistful of Frags | [Valve Protocol](#valve) | +| formulaone2002 | Formula One 2002 | | +| fortressforever | Fortress Forever | [Valve Protocol](#valve) | +| garrysmod | Garry's Mod | [Valve Protocol](#valve) | +| gck | Giants: Citizen Kabuto | | +| geneshift | Geneshift | | +| globaloperations | Global Operations | | +| goldeneyesource | GoldenEye: Source | [Valve Protocol](#valve) | +| groundbreach | Ground Breach | [Valve Protocol](#valve) | +| gta5f | Grand Theft Auto V - FiveM | | +| gtasam | Grand Theft Auto: San Andreas Multiplayer | | +| gtasamta | Grand Theft Auto: San Andreas - Multi Theft Auto | | +| gtasao | Grand Theft Auto: San Andreas OpenMP | | +| gtavcmta | Grand Theft Auto: Vice City - Multi Theft Auto | | +| gunmanchronicles | Gunman Chronicles | [Valve Protocol](#valve) | +| gus | Gore: Ultimate Soldier | | +| halo | Halo | | +| halo2 | Halo 2 | | +| heretic2 | Heretic II | | +| hexen2 | Hexen II | | +| hiddendangerous2 | Hidden & Dangerous 2 | | +| hl2d | Half-Life 2: Deathmatch | [Valve Protocol](#valve) | +| hld | Half-Life Deathmatch | [Valve Protocol](#valve) | +| hlds | Half-Life Deathmatch: Source | [Valve Protocol](#valve) | +| hll | Hell Let Loose | [Valve Protocol](#valve) | +| hlof | Half-Life: Opposing Force | [Valve Protocol](#valve) | +| homefront | Homefront | [Valve Protocol](#valve) | +| homeworld2 | Homeworld 2 | | +| hurtworld | Hurtworld | [Valve Protocol](#valve) | +| i2cs | IGI 2: Covert Strike | | +| il2sturmovik | IL-2 Sturmovik | | +| imic | Insurgency: Modern Infantry Combat | [Valve Protocol](#valve) | +| insurgency | Insurgency | [Valve Protocol](#valve) | +| insurgencysandstorm | Insurgency: Sandstorm | [Valve Protocol](#valve) | +| ironstorm | Iron Storm | | +| jb007n | James Bond 007: Nightfire | | +| jc2m | Just Cause 2 - Multiplayer | | +| jc3m | Just Cause 3 - Multiplayer | [Valve Protocol](#valve) | +| killingfloor | Killing Floor | | +| killingfloor2 | Killing Floor 2 | [Valve Protocol](#valve) | +| kloc | Kingpin: Life of Crime | | +| kpctnc | Kiss: Psycho Circus: The Nightmare Child | | +| kreedzclimbing | Kreedz Climbing | [Valve Protocol](#valve) | +| kspd | Kerbal Space Program - DMP | | +| left4dead | Left 4 Dead | [Valve Protocol](#valve) | +| left4dead2 | Left 4 Dead 2 | [Valve Protocol](#valve) | +| m2m | Mafia II - Multiplayer | | +| m2o | Mafia II - Online | | +| mbe | Minecraft: Bedrock Edition | | +| medievalengineers | Medieval Engineers | [Valve Protocol](#valve) | +| mgm | Mumble - GT Murmur | [Notes](#mumble) | +| minecraft | Minecraft | | +| mnc | Monday Night Combat | [Valve Protocol](#valve) | +| moh | Medal of Honor | | +| moha | Medal of Honor: Airborne | | +| mohaa | Medal of Honor: Allied Assault | | +| mohaab | Medal of Honor: Allied Assault Breakthrough | | +| mohaas | Medal of Honor: Allied Assault Spearhead | | +| mohpa | Medal of Honor: Pacific Assault | | +| mohw | Medal of Honor: Warfighter | | +| mordhau | Mordhau | [Valve Protocol](#valve) | +| mumble | Mumble | [Notes](#mumble) | +| mutantfactions | Mutant Factions | | +| nab | Nerf Arena Blast | | +| nascarthunder2004 | NASCAR Thunder 2004 | | +| naturalselection | Natural Selection | [Valve Protocol](#valve) | +| naturalselection2 | Natural Selection 2 | [Valve Protocol](#valve) | +| netpanzer | netPanzer | | +| neverwinternights | Neverwinter Nights | | +| neverwinternights2 | Neverwinter Nights 2 | | +| nexuiz | Nexuiz | | +| nfshp2 | Need for Speed: Hot Pursuit 2 | | +| nitrofamily | Nitro Family | | +| nmrih | No More Room in Hell | [Valve Protocol](#valve) | +| nolf2asihw | No One Lives Forever 2: A Spy in H.A.R.M.'s Way | | +| nucleardawn | Nuclear Dawn | [Valve Protocol](#valve) | +| ofcwc | Operation Flashpoint: Cold War Crisis | | +| ofr | Operation Flashpoint: Resistance | | +| ohd | Operation: Harsh Doorstop | [Valve Protocol](#valve) | +| onset | Onset | [Valve Protocol](#valve) | +| openarena | OpenArena | | +| openttd | OpenTTD | | +| painkiller | Painkiller | | +| pce | Primal Carnage: Extinction | [Valve Protocol](#valve) | +| pixark | PixARK | [Valve Protocol](#valve) | +| postal2 | Postal 2 | | +| postscriptum | Post Scriptum | [Valve Protocol](#valve) | +| prb2 | Project Reality: Battlefield 2 | | +| prey | Prey | | +| projectcars | Project Cars | [Valve Protocol](#valve) | +| projectcars2 | Project Cars 2 | [Valve Protocol](#valve) | +| projectzomboid | Project Zomboid | [Valve Protocol](#valve) | +| pvak2 | Pirates, Vikings, and Knights II | [Valve Protocol](#valve) | +| q3a | Quake 3: Arena | | +| quake | Quake | | +| quake2 | Quake 2 | | +| quake4 | Quake 4 | | +| quakelive | Quake Live | [Valve Protocol](#valve) | +| rainbowsix | Rainbow Six | | +| rallisportchallenge | RalliSport Challenge | | +| rallymasters | Rally Masters | | +| rdkf | Rag Doll Kung Fu | [Valve Protocol](#valve) | +| rdr2r | Red Dead Redemption 2 - RedM | | +| redline | Redline | | +| redorchestra | Red Orchestra | | +| redorchestra2 | Red Orchestra 2 | [Valve Protocol](#valve) | +| rfactor | rFactor | | +| ricochet | Ricochet | [Valve Protocol](#valve) | +| risingworld | Rising World | [Valve Protocol](#valve) | +| ron | Rise of Nations | | +| roo4145 | Red Orchestra: Ostfront 41-45 | | +| ror2 | Risk of Rain 2 | [Valve Protocol](#valve) | +| rs2rs | Rainbow Six 2: Rogue Spear | | +| rs2v | Rising Storm 2: Vietnam | [Valve Protocol](#valve) | +| rs3rs | Rainbow Six 3: Raven Shield | | +| rtcw | Return to Castle Wolfenstein | | +| rune | Rune | | +| rust | Rust | [Valve Protocol](#valve) | +| s2ats | Savage 2: A Tortured Soul | | +| sdtd | 7 Days to Die | [Valve Protocol](#valve) | +| serioussam | Serious Sam | | +| serioussam2 | Serious Sam 2 | | +| shatteredhorizon | Shattered Horizon | [Valve Protocol](#valve) | +| shogo | Shogo | | +| shootmania | Shootmania | [Notes](#nadeo-shootmania--trackmania--etc) | +| sin | SiN | | +| sinepisodes | SiN Episodes | [Valve Protocol](#valve) | +| sof | Soldier of Fortune | | +| sof2 | Soldier of Fortune 2 | | +| soldat | Soldat | | +| sotf | Sons Of The Forest | [Valve Protocol](#valve) | +| spaceengineers | Space Engineers | [Valve Protocol](#valve) | +| squad | Squad | [Valve Protocol](#valve) | +| stalker | S.T.A.L.K.E.R. | | +| starbound | Starbound | [Valve Protocol](#valve) | +| starmade | StarMade | | +| starsiege | Starsiege | | +| stbc | Star Trek: Bridge Commander | | +| stn | Survive the Nights | [Valve Protocol](#valve) | +| stvef | Star Trek: Voyager - Elite Force | | +| stvef2 | Star Trek: Voyager - Elite Force 2 | | +| suicidesurvival | Suicide Survival | [Valve Protocol](#valve) | +| svencoop | Sven Coop | [Valve Protocol](#valve) | +| swat4 | SWAT 4 | | +| swb | Star Wars: Battlefront | | +| swb2 | Star Wars: Battlefront 2 | | +| swjk2jo | Star Wars Jedi Knight II: Jedi Outcast | | +| swjkja | Star Wars Jedi Knight: Jedi Academy | | +| swrc | Star Wars: Republic Commando | | +| synergy | Synergy | [Valve Protocol](#valve) | +| tacticalops | Tactical Ops | | +| tcgraw | Tom Clancy's Ghost Recon Advanced Warfighter | | +| tcgraw2 | Tom Clancy's Ghost Recon Advanced Warfighter 2 | | +| teamfactor | Team Factor | | +| teamfortress2 | Team Fortress 2 | [Valve Protocol](#valve) | +| teamspeak2 | Teamspeak 2 | | +| teamspeak3 | Teamspeak 3 | [Notes](#teamspeak3) | +| terminus | Terminus | | +| terrariatshosck | Terraria - TShock | [Notes](#terraria) | +| tfc | Team Fortress Classic | [Valve Protocol](#valve) | +| theforest | The Forest | [Valve Protocol](#valve) | +| theforrest | The Forrest | [Valve Protocol](#valve) | +| thefront | The Front | [Valve Protocol](#valve) | +| thehidden | The Hidden | [Valve Protocol](#valve) | +| theisle | The Isle | [Valve Protocol](#valve) | +| theship | The Ship | [Valve Protocol](#valve) | +| thespecialists | The Specialists | [Valve Protocol](#valve) | +| thps3 | Tony Hawk's Pro Skater 3 | | +| thps4 | Tony Hawk's Pro Skater 4 | | +| thu2 | Tony Hawk's Underground 2 | | +| toh | Take On Helicopters | | +| tonolf | The Operative: No One Lives Forever | | +| towerunite | Tower Unite | [Valve Protocol](#valve) | +| trackmania2 | Trackmania 2 | [Notes](#nadeo-shootmania--trackmania--etc) | +| trackmaniaforever | Trackmania Forever | [Notes](#nadeo-shootmania--trackmania--etc) | +| tremulous | Tremulous | | +| tribes1starsiege | Tribes 1: Starsiege | | +| tribesvengeance | Tribes: Vengeance | | +| tron20 | Tron 2.0 | | +| turok2 | Turok 2 | | +| universalcombat | Universal Combat | | +| unreal | Unreal | | +| unrealtournament | Unreal Tournament | | +| unrealtournament2003 | Unreal Tournament 2003 | | +| unrealtournament2004 | Unreal Tournament 2004 | | +| unrealtournament3 | Unreal Tournament 3 | | +| unturned | unturned | [Valve Protocol](#valve) | +| urbanterror | Urban Terror | | +| v8sc | V8 Supercar Challenge | | +| valheim | Valheim | [Notes](#valheim), [Valve Protocol](#valve) | +| vampireslayer | Vampire Slayer | [Valve Protocol](#valve) | +| vcm | Vice City Multiplayer | | +| ventrilo | Ventrilo | | +| vietcong | Vietcong | | +| vietcong2 | Vietcong 2 | | +| vrising | V Rising | [Valve Protocol](#valve) | +| warfork | Warfork | | +| warsow | Warsow | | +| wet | Wolfenstein: Enemy Territory | | +| wolfenstein | Wolfenstein | | +| wot | Wheel of Time | | +| wurmunlimited | Wurm Unlimited | [Valve Protocol](#valve) | +| xpandrally | Xpand Rally | | +| zombiemaster | Zombie Master | [Valve Protocol](#valve) | +| zps | Zombie Panic: Source | [Valve Protocol](#valve) | ### Not supported (yet) diff --git a/lib/games.js b/lib/games.js index 6906813..da10da0 100644 --- a/lib/games.js +++ b/lib/games.js @@ -1,6 +1,7 @@ export const games = { - as: { - name: 'Action: Source (2019)', + actionsource: { + name: 'Action: Source', + release_year: 2019, options: { port: 27015, protocol: 'valve' @@ -8,41 +9,47 @@ export const games = { }, ahl: { name: 'Action Half-Life', + release_year: 2009, options: { port: 27015, protocol: 'valve' } }, - ageofchivalry: { - name: 'Age of Chivalry (2007)', + aoc: { + name: 'Age of Chivalry', + release_year: 2007, options: { port: 27015, protocol: 'valve' } }, aoe2: { - name: 'Age of Empires 2 (1999)', + name: 'Age of Empires 2', + release_year: 2009, options: { port_query: 27224, protocol: 'ase' } }, alienarena: { - name: 'Alien Arena (2004)', + name: 'Alien Arena', + release_year: 2004, options: { port_query: 27910, protocol: 'quake2' } }, alienswarm: { - name: 'Alien Swarm (2010)', + name: 'Alien Swarm', + release_year: 2004, options: { port: 27015, protocol: 'valve' } }, - arkse: { - name: 'Ark: Survival Evolved (2017)', + ase: { + name: 'Ark: Survival Evolved', + release_year: 2017, options: { port: 7777, port_query: 27015, @@ -50,21 +57,24 @@ export const games = { } }, asa: { - name: 'Ark: Survival Ascended (2023)', + name: 'Ark: Survival Ascended', + release_year: 2023, options: { port: 7777, protocol: 'asa' } }, assettocorsa: { - name: 'Assetto Corsa (2014)', + name: 'Assetto Corsa', + release_year: 2014, options: { port: 9610, protocol: 'assettocorsa' } }, atlas: { - name: 'Atlas (2018)', + name: 'Atlas', + release_year: 2018, options: { port: 5761, port_query_offset: 51800, @@ -72,7 +82,8 @@ export const games = { } }, avorion: { - name: 'Avorion (2020)', + name: 'Avorion', + release_year: 2020, options: { port: 27000, port_query_offset: 20, @@ -80,21 +91,24 @@ export const games = { } }, avp2: { - name: 'Aliens versus Predator 2 (2001)', + name: 'Aliens versus Predator 2', + release_year: 2001, options: { port: 27888, protocol: 'gamespy1' } }, avp2010: { - name: 'Aliens vs. Predator (2010)', + name: 'Aliens vs. Predator 2010', + release_year: 2010, options: { port: 27015, protocol: 'valve' } }, americasarmy: { - name: "America's Army (2002)", + name: "America's Army", + release_year: 2002, options: { port: 1716, port_query_offset: 1, @@ -102,7 +116,8 @@ export const games = { } }, americasarmy2: { - name: "America's Army 2 (2003)", + name: "America's Army 2", + release_year: 2003, options: { port: 1716, port_query_offset: 1, @@ -110,7 +125,8 @@ export const games = { } }, americasarmy3: { - name: "America's Army 3 (2009)", + name: "America's Army 3", + release_year: 2009, options: { port: 8777, port_query: 27020, @@ -118,54 +134,61 @@ export const games = { } }, aapg: { - name: "America's Army: Proving Grounds (2015)", + name: "America's Army: Proving Grounds", + release_year: 2015, options: { port: 8777, port_query: 27020, protocol: 'valve' } }, - arcasimracing: { - name: 'Arca Sim Racing (2008)', + asr08: { + name: "Arca Sim Racing '08", + release_year: 2008, options: { port: 34397, port_query_offset: -100, protocol: 'rfactor' } }, - arma: { - name: 'ARMA: Armed Assault (2007)', + aaa: { + name: 'ARMA: Armed Assault', + release_year: 2006, options: { port: 2302, protocol: 'gamespy2' } }, arma2: { - name: 'ARMA 2 (2009)', + name: 'ARMA 2', + release_year: 2009, options: { port: 2302, port_query_offset: 1, protocol: 'valve' } }, - arma2oa: { - name: 'ARMA 2: Operation Arrowhead (2010)', + a2oa: { + name: 'ARMA 2: Operation Arrowhead', + release_year: 2010, options: { port: 2302, port_query_offset: 1, protocol: 'valve' } }, - armacwa: { - name: 'ARMA: Cold War Assault (2011)', + acwa: { + name: 'ARMA: Cold War Assault', + release_year: 2011, options: { port: 2302, port_query_offset: 1, protocol: 'gamespy1' } }, - armar: { - name: 'ARMA: Resistance (2011)', + armaresistance: { + name: 'ARMA: Resistance', + release_year: 2011, options: { port: 2302, port_query_offset: 1, @@ -173,30 +196,34 @@ export const games = { } }, arma3: { - name: 'ARMA 3 (2013)', + name: 'ARMA 3', + release_year: 2013, options: { port: 2302, port_query_offset: 1, protocol: 'valve' } }, - armare: { - name: 'ARMA: Reforger (2022)', + armareforger: { + name: 'ARMA: Reforger', + release_year: 2022, options: { port: 2001, port_query: 17777, protocol: 'valve' } }, - armagetron: { - name: 'Armagetron Advanced (2001)', + armagetronadvanced: { + name: 'Armagetron Advanced', + release_year: 2001, options: { port: 4534, protocol: 'armagetron' } }, baldursgate: { - name: "Baldur's Gate (1998)", + name: "Baldur's Gate", + release_year: 1998, options: { port: 6073, port_query: 1470, @@ -204,7 +231,8 @@ export const games = { } }, ballisticoverkill: { - name: 'Ballistic Overkill (2017)', + name: 'Ballistic Overkill', + release_year: 2017, options: { port: 27015, port_query_offset: 1, @@ -212,15 +240,17 @@ export const games = { } }, barotrauma: { - name: 'Barotrauma (2019)', + name: 'Barotrauma', + release_year: 2019, options: { port: 27015, port_query_offset: 1, protocol: 'valve' } }, - bat1944: { - name: 'Battalion 1944 (2018)', + battalion1944: { + name: 'Battalion 1944', + release_year: 2018, options: { port: 7777, port_query_offset: 3, @@ -234,64 +264,72 @@ export const games = { protocol: 'beammp' } }, - bf1942: { - name: 'Battlefield 1942 (2002)', + battlefield1942: { + name: 'Battlefield 1942', + release_year: 2002, options: { port: 14567, port_query: 23000, protocol: 'gamespy1' } }, - bfv: { - name: 'Battlefield Vietnam (2004)', + battlefieldvietnam: { + name: 'Battlefield Vietnam', + release_year: 2004, options: { port: 15567, port_query: 23000, protocol: 'gamespy2' } }, - bf2: { - name: 'Battlefield 2 (2005)', + battlefield2: { + name: 'Battlefield 2', + release_year: 2005, options: { port: 16567, port_query: 29900, protocol: 'gamespy3' } }, - bf2142: { - name: 'Battlefield 2142 (2006)', + battlefield2142: { + name: 'Battlefield 2142', + release_year: 2006, options: { port: 16567, port_query: 29900, protocol: 'gamespy3' } }, - bfbc2: { - name: 'Battlefield: Bad Company 2 (2010)', + bbc2: { + name: 'Battlefield: Bad Company 2', + release_year: 2010, options: { port: 19567, port_query: 48888, protocol: 'battlefield' } }, - bf3: { - name: 'Battlefield 3 (2011)', + battlefield3: { + name: 'Battlefield 3', + release_year: 2011, options: { port: 25200, port_query_offset: 22000, protocol: 'battlefield' } }, - bf4: { - name: 'Battlefield 4 (2013)', + battlefield4: { + name: 'Battlefield 4', + release_year: 2013, options: { port: 25200, port_query_offset: 22000, protocol: 'battlefield' } }, - bfh: { - name: 'Battlefield Hardline (2015)', + battlefieldhardline: { + name: 'Battlefield Hardline', + release_year: 2015, options: { port: 25200, port_query_offset: 22000, @@ -299,14 +337,16 @@ export const games = { } }, blackmesa: { - name: 'Black Mesa (2020)', + name: 'Black Mesa', + release_year: 2020, options: { port: 27015, protocol: 'valve' } }, brainbread2: { - name: 'BrainBread 2 (2022)', + name: 'BrainBread 2', + release_year: 2022, options: { port: 27015, protocol: 'valve' @@ -314,127 +354,154 @@ export const games = { }, brainbread: { name: 'BrainBread', + release_year: 2007, options: { port: 27015, protocol: 'valve' } }, breach: { - name: 'Breach (2011)', + name: 'Breach', + release_year: 2011, options: { port: 27016, protocol: 'valve' } }, breed: { - name: 'Breed (2004)', + name: 'Breed', + release_year: 2004, options: { port: 7649, protocol: 'gamespy2' } }, brink: { - name: 'Brink (2011)', + name: 'Brink', + release_year: 2011, options: { port_query_offset: 1, protocol: 'valve' } }, - bd: { - name: 'Base Defense (2017)', + basedefense: { + name: 'Base Defense', + release_year: 2017, options: { port: 27015, protocol: 'valve' } }, - bs: { - name: 'Blade Symphony (2014)', + bladesymphony: { + name: 'Blade Symphony', + release_year: 2014, options: { port: 27015, protocol: 'valve' } }, - buildandshoot: { - name: 'Build and Shoot / Ace of Spades Classic (2012)', + bas: { + name: 'Build and Shoot', options: { port: 32887, port_query_offset: -1, protocol: 'buildandshoot' - } + }, + release_year: 2012 + }, + aosc: { + name: 'Ace of Spades Classic', + options: { + port: 32887, + port_query_offset: -1, + protocol: 'buildandshoot' + }, + release_year: 2012 }, cod: { - name: 'Call of Duty (2003)', + name: 'Call of Duty', + release_year: 2003, options: { port: 28960, protocol: 'quake3' } }, coduo: { - name: 'Call of Duty: United Offensive (2004)', + name: 'Call of Duty: United Offensive', + release_year: 2004, options: { port: 28960, protocol: 'quake3' } }, cod2: { - name: 'Call of Duty 2 (2005)', + name: 'Call of Duty 2', + release_year: 2005, options: { port: 28960, protocol: 'quake3' } }, cod3: { - name: 'Call of Duty 3 (2006)', + name: 'Call of Duty 3', + release_year: 2006, options: { port: 28960, protocol: 'quake3' } }, - cod4: { - name: 'Call of Duty 4: Modern Warfare (2007)', + cod4mw: { + name: 'Call of Duty 4: Modern Warfare', options: { port: 28960, protocol: 'quake3' - } + }, + release_year: 2007 }, codwaw: { - name: 'Call of Duty: World at War (2008)', + name: 'Call of Duty: World at War', + release_year: 2008, options: { port: 28960, protocol: 'quake3' } }, codmw2: { - name: 'Call of Duty: Modern Warfare 2 (2009)', + name: 'Call of Duty: Modern Warfare 2', + release_year: 2009, options: { port: 28960, protocol: 'quake3' } }, codmw3: { - name: 'Call of Duty: Modern Warfare 3 (2011)', + name: 'Call of Duty: Modern Warfare 3', + release_year: 2011, options: { port_query_offset: 2, protocol: 'valve' } }, - callofjuarez: { - name: 'Call of Juarez (2006)', + coj: { + name: 'Call of Juarez', + release_year: 2006, options: { port_query: 26000, protocol: 'ase' } }, chaser: { - name: 'Chaser (2003)', + name: 'Chaser', + release_year: 2003, options: { port: 3000, port_query_offset: 123, protocol: 'ase' } }, - chivalry: { - name: 'Chivalry: Medieval Warfare (2012)', + cmw: { + name: 'Chivalry: Medieval Warfare', + release_year: 2012, options: { port: 7777, port_query_offset: 2, @@ -442,7 +509,8 @@ export const games = { } }, chrome: { - name: 'Chrome (2003)', + name: 'Chrome', + release_year: 2003, options: { port: 27015, port_query_offset: 123, @@ -450,35 +518,40 @@ export const games = { } }, codenamecure: { - name: 'Codename CURE (2017)', + name: 'Codename CURE', + release_year: 2017, options: { port: 27015, protocol: 'valve' } }, codenameeagle: { - name: 'Codename Eagle (2000)', + name: 'Codename Eagle', + release_year: 2000, options: { port_query: 4711, protocol: 'gamespy1' } }, colonysurvival: { - name: 'Colony Survival (2017)', + name: 'Colony Survival', + release_year: 2017, options: { port: 27004, protocol: 'valve' } }, - commandos3: { - name: 'Commandos 3: Destination Berlin (2003)', + c3db: { + name: 'Commandos 3: Destination Berlin', + release_year: 2003, options: { port_query: 6500, protocol: 'gamespy1' } }, - cacrenegade: { - name: 'Command and Conquer: Renegade (2002)', + cacr: { + name: 'Command and Conquer: Renegade', + release_year: 2002, options: { port: 4848, port_query: 25300, @@ -486,7 +559,8 @@ export const games = { } }, conanexiles: { - name: 'Conan Exiles (2018)', + name: 'Conan Exiles', + release_year: 2018, options: { port: 7777, port_query: 27015, @@ -494,64 +568,73 @@ export const games = { } }, contagion: { - name: 'Contagion (2011)', + name: 'Contagion', + release_year: 2011, options: { port: 27015, protocol: 'valve' } }, - contactjack: { - name: 'Contract J.A.C.K. (2003)', + contractjack: { + name: 'Contract J.A.C.K.', + release_year: 2003, options: { port_query: 27888, protocol: 'gamespy1' } }, corekeeper: { - name: 'Core Keeper (2022)', + name: 'Core Keeper', + release_year: 2022, options: { port: 1234, port_query_offset: 1, protocol: 'valve' } }, - cs15: { - name: 'Counter-Strike 1.5 (2002)', + counterstrike15: { + name: 'Counter-Strike 1.5', + release_year: 2002, options: { port: 27015, protocol: 'goldsrc' } }, - cs16: { - name: 'Counter-Strike 1.6 (2003)', + counterstrike16: { + name: 'Counter-Strike 1.6', + release_year: 2003, options: { port: 27015, protocol: 'valve' } }, cs2d: { - name: 'CS2D (2004)', + name: 'CS2D', + release_year: 2004, options: { port: 36963, protocol: 'cs2d' } }, cscz: { - name: 'Counter-Strike: Condition Zero (2004)', + name: 'Counter-Strike: Condition Zero', + release_year: 2004, options: { port: 27015, protocol: 'valve' } }, css: { - name: 'Counter-Strike: Source (2004)', + name: 'Counter-Strike: Source', + release_year: 2004, options: { port: 27015, protocol: 'valve' } }, csgo: { - name: 'Counter-Strike: Global Offensive (2012)', + name: 'Counter-Strike: Global Offensive', + release_year: 2012, options: { port: 27015, protocol: 'valve' @@ -560,23 +643,26 @@ export const games = { doc_notes: 'csgo' } }, - cs2: { - name: 'Counter-Strike 2 (2023)', + counterstrike2: { + name: 'Counter-Strike 2', + release_year: 2023, options: { port: 27015, protocol: 'valve' } }, creativerse: { - name: 'Creativerse (2017)', + name: 'Creativerse', + release_year: 2017, options: { port: 26900, port_query_offset: 1, protocol: 'valve' } }, - crossracing: { - name: 'Cross Racing Championship Extreme 2005 (2005)', + crce: { + name: 'Cross Racing Championship Extreme', + release_year: 2005, options: { port: 12321, port_query_offset: 123, @@ -584,35 +670,40 @@ export const games = { } }, crysis: { - name: 'Crysis (2007)', + name: 'Crysis', + release_year: 2007, options: { port: 64087, protocol: 'gamespy3' } }, crysiswars: { - name: 'Crysis Wars (2008)', + name: 'Crysis Wars', + release_year: 2008, options: { port: 64100, protocol: 'gamespy3' } }, crysis2: { - name: 'Crysis 2 (2011)', + name: 'Crysis 2', + release_year: 2011, options: { port: 64000, protocol: 'gamespy3' } }, dab: { - name: 'Double Action: Boogaloo (2014)', + name: 'Double Action: Boogaloo', + release_year: 2014, options: { port: 27015, protocol: 'valve' } }, daikatana: { - name: 'Daikatana (2000)', + name: 'Daikatana', + release_year: 2000, options: { port: 27982, port_query_offset: 10, @@ -620,14 +711,16 @@ export const games = { } }, dmomam: { - name: 'Dark Messiah of Might and Magic (2006)', + name: 'Dark Messiah of Might and Magic', + release_year: 2006, options: { port: 27015, protocol: 'valve' } }, - darkesthour: { - name: "Darkest Hour: Europe '44-'45 (2008)", + dhe4445: { + name: "Darkest Hour: Europe '44-'45", + release_year: 2008, options: { port: 7757, port_query_offset: 1, @@ -635,22 +728,25 @@ export const games = { } }, dayofdragons: { - name: 'Day of Dragons (2019)', + name: 'Day of Dragons', + release_year: 2019, options: { port: 7777, port_query: 27015, protocol: 'valve' } }, - daysofwar: { - name: 'Days of War (2017)', + dow: { + name: 'Days of War', + release_year: 2017, options: { port: 27015, protocol: 'valve' } }, dayz: { - name: 'DayZ (2018)', + name: 'DayZ', + release_year: 2018, options: { port: 2302, port_query_offset: 24714, @@ -658,22 +754,25 @@ export const games = { } }, dayzmod: { - name: 'DayZ Mod (2013)', + name: 'DayZ Mod', + release_year: 2013, options: { port: 2302, port_query_offset: 1, protocol: 'valve' } }, - deadlydozenpt: { - name: 'Deadly Dozen: Pacific Theater (2002)', + ddpt: { + name: 'Deadly Dozen: Pacific Theater', + release_year: 2002, options: { port_query: 25300, protocol: 'gamespy1' } }, - dh2005: { - name: 'Deer Hunter 2005 (2004)', + deerhunter2005: { + name: 'Deer Hunter 2005', + release_year: 2004, options: { port: 23459, port_query: 34567, @@ -681,7 +780,8 @@ export const games = { } }, descent3: { - name: 'Descent 3 (1999)', + name: 'Descent 3', + release_year: 1999, options: { port: 2092, port_query: 20142, @@ -689,7 +789,8 @@ export const games = { } }, deusex: { - name: 'Deus Ex (2000)', + name: 'Deus Ex', + release_year: 2000, options: { port: 7791, port_query_offset: 1, @@ -697,22 +798,25 @@ export const games = { } }, devastation: { - name: 'Devastation (2003)', + name: 'Devastation', + release_year: 2003, options: { port: 7777, port_query_offset: 1, protocol: 'unreal2' } }, - dinodday: { - name: 'Dino D-Day (2011)', + ddd: { + name: 'Dino D-Day', + release_year: 2011, options: { port: 27015, protocol: 'valve' } }, - dirttrackracing2: { - name: 'Dirt Track Racing 2 (2002)', + dtr2: { + name: 'Dirt Track Racing 2', + release_year: 2002, options: { port: 32240, port_query_offset: -100, @@ -721,6 +825,7 @@ export const games = { }, discord: { name: 'Discord', + release_year: 2015, options: { protocol: 'discord' }, @@ -728,15 +833,17 @@ export const games = { doc_notes: 'discord' } }, - dmc: { - name: 'Deathmatch Classic (2001)', + deathmatchclassic: { + name: 'Deathmatch Classic', + release_year: 2001, options: { port: 27015, protocol: 'valve' } }, - dnl: { - name: 'Dark and Light (2017)', + dal: { + name: 'Dark and Light', + release_year: 2017, options: { port: 7777, port_query: 27015, @@ -744,42 +851,48 @@ export const games = { } }, dod: { - name: 'Day of Defeat (2003)', + name: 'Day of Defeat', + release_year: 2003, options: { port: 27015, protocol: 'valve' } }, dods: { - name: 'Day of Defeat: Source (2005)', + name: 'Day of Defeat: Source', + release_year: 2005, options: { port: 27015, protocol: 'valve' } }, doi: { - name: 'Day of Infamy (2017)', + name: 'Day of Infamy', + release_year: 2017, options: { port: 27015, protocol: 'valve' } }, doom3: { - name: 'Doom 3 (2004)', + name: 'Doom 3', + release_year: 2004, options: { port: 27666, protocol: 'doom3' } }, dota2: { - name: 'Dota 2 (2013)', + name: 'Dota 2', + release_year: 2013, options: { port: 27015, protocol: 'valve' } }, - drakan: { - name: 'Drakan: Order of the Flame (1999)', + dootf: { + name: 'Drakan: Order of the Flame', + release_year: 1999, options: { port: 27045, port_query_offset: 1, @@ -787,22 +900,25 @@ export const games = { } }, dst: { - name: "Don't Starve Together (2016)", + name: "Don't Starve Together", + release_year: 2016, options: { port: 10999, port_query: 27016, protocol: 'valve' } }, - dys: { - name: 'Dystopia (2005)', + dystopia: { + name: 'Dystopia', + release_year: 2005, options: { port: 27015, protocol: 'valve' } }, eco: { - name: 'Eco (2018)', + name: 'Eco', + release_year: 2018, options: { port: 3000, port_query_offset: 1, @@ -816,552 +932,625 @@ export const games = { protocol: 'eldewrito' } }, - em: { - name: 'Empires Mod (2008)', + empiresmod: { + name: 'Empires Mod', + release_year: 2008, options: { port: 27015, protocol: 'valve' } }, - empyrion: { - name: 'Empyrion - Galactic Survival (2015)', + egs: { + name: 'Empyrion - Galactic Survival', options: { port: 30000, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2015 }, etqw: { - name: 'Enemy Territory: Quake Wars (2007)', + name: 'Enemy Territory: Quake Wars', options: { port: 3074, port_query: 27733, protocol: 'doom3' - } + }, + release_year: 2007 }, fear: { - name: 'F.E.A.R. (2005)', + name: 'F.E.A.R.', options: { port_query: 27888, protocol: 'gamespy2' - } + }, + release_year: 2005 }, - f12002: { - name: 'Formula One 2002 (2002)', + formulaone2002: { + name: 'Formula One 2002', options: { port_query: 3297, protocol: 'gamespy1' - } + }, + release_year: 2002 }, f1c9902: { - name: "F1 Challenge '99-'02 (2002)", + name: "F1 Challenge '99-'02", options: { port_query: 34397, protocol: 'gamespy1' - } + }, + release_year: 2002 }, farcry: { - name: 'Far Cry (2004)', + name: 'Far Cry', options: { port: 49001, port_query_offset: 123, protocol: 'ase' - } + }, + release_year: 2004 }, farcry2: { - name: 'Far Cry 2 (2008)', + name: 'Far Cry 2', options: { port_query: 14001, protocol: 'ase' - } + }, + release_year: 2008 }, fof: { - name: 'Fistful of Frags (2014)', + name: 'Fistful of Frags', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2014 }, fortressforever: { - name: 'Fortress Forever (2007)', + name: 'Fortress Forever', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2007 }, ofcwc: { - name: 'Operation Flashpoint: Cold War Crisis (2001)', + name: 'Operation Flashpoint: Cold War Crisis', options: { port: 2302, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2001 }, - flashpointresistance: { - name: 'Operation Flashpoint: Resistance (2002)', + ofr: { + name: 'Operation Flashpoint: Resistance', options: { port: 2302, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2002 }, ffow: { - name: 'Frontlines: Fuel of War (2008)', + name: 'Frontlines: Fuel of War', options: { port: 5476, port_query_offset: 2, protocol: 'ffow' - } + }, + release_year: 2008 }, - fivem: { - name: 'Grand Theft Auto V - FiveM (2013)', + gta5f: { + name: 'Grand Theft Auto V - FiveM', options: { port: 30120, protocol: 'fivem' - } + }, + release_year: 2013 }, - forrest: { - name: 'The Forrest (2014)', + theforrest: { + name: 'The Forrest', options: { port: 27015, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2014 }, garrysmod: { - name: "Garry's Mod (2004)", + name: "Garry's Mod", options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2004 }, - graw: { - name: "Tom Clancy's Ghost Recon Advanced Warfighter (2006)", + tcgraw: { + name: "Tom Clancy's Ghost Recon Advanced Warfighter", options: { port_query: 15250, protocol: 'gamespy2' - } + }, + release_year: 2006 }, - graw2: { - name: "Tom Clancy's Ghost Recon Advanced Warfighter 2 (2007)", + tcgraw2: { + name: "Tom Clancy's Ghost Recon Advanced Warfighter 2", options: { port_query: 16250, protocol: 'gamespy2' - } + }, + release_year: 2007 }, - giantscitizenkabuto: { - name: 'Giants: Citizen Kabuto (2000)', + gck: { + name: 'Giants: Citizen Kabuto', options: { port_query: 8911, protocol: 'gamespy1' - } + }, + release_year: 2000 }, globaloperations: { - name: 'Global Operations (2002)', + name: 'Global Operations', options: { port_query: 28672, protocol: 'gamespy1' - } + }, + release_year: 2002 }, geneshift: { - name: 'Geneshift (2017)', + name: 'Geneshift', options: { port: 11235, protocol: 'geneshift' - } + }, + release_year: 2017 }, - ges: { - name: 'GoldenEye: Source (2010)', + goldeneyesource: { + name: 'GoldenEye: Source', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2010 }, - gore: { - name: 'Gore: Ultimate Soldier (2002)', + gus: { + name: 'Gore: Ultimate Soldier', options: { port: 27777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2002 }, groundbreach: { - name: 'Ground Breach (2018)', + name: 'Ground Breach', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2018 }, gunmanchronicles: { - name: 'Gunman Chronicles (2000)', + name: 'Gunman Chronicles', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2000 }, - hldm: { - name: 'Half-Life Deathmatch (1998)', + hld: { + name: 'Half-Life Deathmatch', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 1998 }, - hldms: { - name: 'Half-Life Deathmatch: Source (2005)', + hlds: { + name: 'Half-Life Deathmatch: Source', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2005 }, - hlopfor: { - name: 'Half-Life: Opposing Force (1999)', + hlof: { + name: 'Half-Life: Opposing Force', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 1999 }, - hl2dm: { - name: 'Half-Life 2: Deathmatch (2004)', + hl2d: { + name: 'Half-Life 2: Deathmatch', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2004 }, halo: { - name: 'Halo (2003)', + name: 'Halo', options: { port: 2302, protocol: 'gamespy2' - } + }, + release_year: 2003 }, halo2: { - name: 'Halo 2 (2007)', + name: 'Halo 2', options: { port: 2302, protocol: 'gamespy2' - } + }, + release_year: 2007 }, heretic2: { - name: 'Heretic II (1998)', + name: 'Heretic II', options: { port: 27900, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 1998 }, hexen2: { - name: 'Hexen II (1997)', + name: 'Hexen II', options: { port: 26900, port_query_offset: 50, protocol: 'hexen2' - } + }, + release_year: 1997 }, - hidden: { - name: 'The Hidden (2005)', + thehidden: { + name: 'The Hidden', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2005 }, hll: { name: 'Hell Let Loose', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2019 }, - had2: { - name: 'Hidden & Dangerous 2 (2003)', + hiddendangerous2: { + name: 'Hidden & Dangerous 2', options: { port: 11001, port_query_offset: 3, protocol: 'gamespy1' - } + }, + release_year: 2003 }, homefront: { - name: 'Homefront (2011)', + name: 'Homefront', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2011 }, homeworld2: { - name: 'Homeworld 2 (2003)', + name: 'Homeworld 2', options: { port_query: 6500, protocol: 'gamespy1' - } + }, + release_year: 2003 }, hurtworld: { - name: 'Hurtworld (2015)', + name: 'Hurtworld', options: { port: 12871, port_query: 12881, protocol: 'valve' - } + }, + release_year: 2015 }, - igi2: { - name: 'I.G.I.-2: Covert Strike (2003)', + i2cs: { + name: 'IGI 2: Covert Strike', options: { port_query: 26001, protocol: 'gamespy1' - } + }, + release_year: 2003 }, - il2: { - name: 'IL-2 Sturmovik (2001)', + il2sturmovik: { + name: 'IL-2 Sturmovik', options: { port_query: 21000, protocol: 'gamespy1' - } + }, + release_year: 2001 }, insurgency: { - name: 'Insurgency (2014)', + name: 'Insurgency', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2014 }, - insurgencymic: { - name: 'Insurgency: Modern Infantry Combat (2007)', + imic: { + name: 'Insurgency: Modern Infantry Combat', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2007 }, insurgencysandstorm: { - name: 'Insurgency: Sandstorm (2018)', + name: 'Insurgency: Sandstorm', options: { port: 27015, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2018 }, ironstorm: { - name: 'Iron Storm (2002)', + name: 'Iron Storm', options: { port_query: 3505, protocol: 'gamespy1' - } + }, + release_year: 2002 }, - isle: { - name: 'The Isle (2015)', + theisle: { + name: 'The Isle', options: { port: 7707, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2015 }, - jamesbondnightfire: { - name: 'James Bond 007: Nightfire (2002)', + jb007n: { + name: 'James Bond 007: Nightfire', options: { port_query: 6550, protocol: 'gamespy1' - } + }, + release_year: 2002 }, - jc2mp: { - name: 'Just Cause 2 - Multiplayer (2010)', + jc2m: { + name: 'Just Cause 2 - Multiplayer', options: { port: 7777, protocol: 'jc2mp' - } + }, + release_year: 2010 }, - jc3mp: { - name: 'Just Cause 3 - Multiplayer (2017)', + jc3m: { + name: 'Just Cause 3 - Multiplayer', options: { port: 4200, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2017 }, killingfloor: { - name: 'Killing Floor (2009)', + name: 'Killing Floor', options: { port: 7707, port_query_offset: 1, protocol: 'unreal2' - } + }, + release_year: 2009 }, killingfloor2: { - name: 'Killing Floor 2 (2016)', + name: 'Killing Floor 2', options: { port: 7777, port_query: 27015, protocol: 'valve' - } + }, + release_year: 2016 }, - kingpin: { - name: 'Kingpin: Life of Crime (1999)', + kloc: { + name: 'Kingpin: Life of Crime', options: { port: 31510, port_query_offset: -10, protocol: 'gamespy1' - } + }, + release_year: 1999 }, - kisspc: { - name: 'Kiss: Psycho Circus: The Nightmare Child (2000)', + kpctnc: { + name: 'Kiss: Psycho Circus: The Nightmare Child', options: { port: 7777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2000 }, - kspdmp: { - name: 'Kerbal Space Program - DMP Multiplayer (2015)', + kspd: { + name: 'Kerbal Space Program - DMP', options: { port: 6702, port_query_offset: 1, protocol: 'kspdmp' - } + }, + release_year: 2015 }, - kzmod: { - name: 'Kreedz Climbing (2017)', + kreedzclimbing: { + name: 'Kreedz Climbing', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2017 }, - left4dead: { - name: 'Left 4 Dead (2008)', + l4d: { + name: 'Left 4 Dead', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2008 }, - left4dead2: { - name: 'Left 4 Dead 2 (2009)', + l4d2: { + name: 'Left 4 Dead 2', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2009 }, - m2mp: { - name: 'Mafia II - Multiplayer (2010)', + m2m: { + name: 'Mafia II - Multiplayer', options: { port: 27016, port_query_offset: 1, protocol: 'mafia2mp' - } + }, + release_year: 2010 }, m2o: { - name: 'Mafia II - Online (2010)', + name: 'Mafia II - Online', options: { port: 27015, port_query_offset: 1, protocol: 'mafia2online' - } + }, + release_year: 2010 }, medievalengineers: { - name: 'Medieval Engineers (2015)', + name: 'Medieval Engineers', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2015 }, mohaa: { - name: 'Medal of Honor: Allied Assault (2002)', + name: 'Medal of Honor: Allied Assault', options: { port: 12203, port_query_offset: 97, protocol: 'gamespy1' - } + }, + release_year: 2002 }, - mohsh: { - name: 'Medal of Honor: Allied Assault Spearhead (2002)', + mohaas: { + name: 'Medal of Honor: Allied Assault Spearhead', options: { port: 12203, port_query_offset: 97, protocol: 'gamespy1' - } + }, + release_year: 2002 }, - mohbt: { - name: 'Medal of Honor: Allied Assault Breakthrough (2003)', + mohaab: { + name: 'Medal of Honor: Allied Assault Breakthrough', options: { port: 12203, port_query_offset: 97, protocol: 'gamespy1' - } + }, + release_year: 2003 }, mohpa: { - name: 'Medal of Honor: Pacific Assault (2004)', + name: 'Medal of Honor: Pacific Assault', options: { port: 13203, port_query_offset: 97, protocol: 'gamespy1' - } + }, + release_year: 2004 }, - mohab: { - name: 'Medal of Honor: Airborne (2007)', + moha: { + name: 'Medal of Honor: Airborne', options: { port: 12203, port_query_offset: 97, protocol: 'gamespy1' - } + }, + release_year: 2007 }, - moh2010: { - name: 'Medal of Honor (2010)', + moh: { + name: 'Medal of Honor', options: { port: 7673, port_query: 48888, protocol: 'battlefield' - } + }, + release_year: 2010 }, - mohwf: { - name: 'Medal of Honor: Warfighter (2012)', + mohw: { + name: 'Medal of Honor: Warfighter', options: { port: 25200, port_query_offset: 22000, protocol: 'battlefield' - } + }, + release_year: 2012 }, minecraft: { - name: 'Minecraft (2009)', + name: 'Minecraft', options: { port: 25565, protocol: 'minecraft' - } + }, + release_year: 2009 }, - minecraftbe: { - name: 'Minecraft: Bedrock Edition (2011)', + mbe: { + name: 'Minecraft: Bedrock Edition', options: { port: 19132, protocol: 'minecraft' - } + }, + release_year: 2011 }, mnc: { - name: 'Monday Night Combat (2011)', + name: 'Monday Night Combat', options: { port: 7777, port_query: 27016, protocol: 'valve' - } + }, + release_year: 2011 }, mordhau: { - name: 'Mordhau (2019)', + name: 'Mordhau', options: { port: 7777, port_query: 27015, protocol: 'valve' - } + }, + release_year: 2019 }, - mtavc: { - name: 'Grand Theft Auto: Vice City - Multi Theft Auto (2002)', + gtavcmta: { + name: 'Grand Theft Auto: Vice City - Multi Theft Auto', options: { port: 22003, port_query_offset: 123, protocol: 'ase' - } + }, + release_year: 2002 }, - mtasa: { - name: 'Grand Theft Auto: San Andreas - Multi Theft Auto (2004)', + gtasamta: { + name: 'Grand Theft Auto: San Andreas - Multi Theft Auto', options: { port: 22003, port_query_offset: 123, protocol: 'ase' - } + }, + release_year: 2004 }, - mumble: { - name: 'Mumble - GTmurmur Plugin (2005)', + mgm: { + name: 'Mumble - GT Murmur', options: { port: 64738, port_query: 27800, @@ -1369,154 +1558,175 @@ export const games = { }, extra: { doc_notes: 'mumble' - } + }, + release_year: 2005 }, - mumbleping: { - name: 'Mumble - Lightweight (2005)', + mumble: { + name: 'Mumble', options: { port: 64738, protocol: 'mumbleping' }, extra: { doc_notes: 'mumble' - } + }, + release_year: 2005 }, mutantfactions: { - name: 'Mutant Factions (2009)', + name: 'Mutant Factions', options: { port: 11235, protocol: 'geneshift' - } + }, + release_year: 2009 }, nascarthunder2004: { - name: 'NASCAR Thunder 2004 (2003)', + name: 'NASCAR Thunder 2004', options: { port_query: 13333, protocol: 'gamespy2' - } + }, + release_year: 2003 }, netpanzer: { - name: 'netPanzer (2002)', + name: 'netPanzer', options: { port: 3030, protocol: 'gamespy1' - } + }, + release_year: 2002 }, nmrih: { - name: 'No More Room in Hell (2011)', + name: 'No More Room in Hell', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2011 }, - ns: { - name: 'Natural Selection (2002)', + naturalselection: { + name: 'Natural Selection', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2002 }, - ns2: { - name: 'Natural Selection 2 (2012)', + naturalselection2: { + name: 'Natural Selection 2', options: { port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2012 }, nfshp2: { - name: 'Need for Speed: Hot Pursuit 2 (2002)', + name: 'Need for Speed: Hot Pursuit 2', options: { port_query: 61220, protocol: 'gamespy1' - } + }, + release_year: 2002 }, nab: { - name: 'Nerf Arena Blast (1999)', + name: 'Nerf Arena Blast', options: { port: 4444, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 1999 }, - nwn: { - name: 'Neverwinter Nights (2002)', + neverwinternights: { + name: 'Neverwinter Nights', options: { port_query: 5121, protocol: 'gamespy2' - } + }, + release_year: 2002 }, - nwn2: { - name: 'Neverwinter Nights 2 (2006)', + neverwinternights2: { + name: 'Neverwinter Nights 2', options: { port: 5121, port_query: 6500, protocol: 'gamespy2' - } + }, + release_year: 2006 }, nexuiz: { - name: 'Nexuiz (2005)', + name: 'Nexuiz', options: { port_query: 26000, protocol: 'quake3' - } + }, + release_year: 2005 }, nitrofamily: { - name: 'Nitro Family (2004)', + name: 'Nitro Family', options: { port_query: 25601, protocol: 'gamespy1' - } + }, + release_year: 2004 }, - nolf: { - name: 'The Operative: No One Lives Forever (2000)', + tonolf: { + name: 'The Operative: No One Lives Forever', options: { port_query: 27888, protocol: 'gamespy1' - } + }, + release_year: 2000 }, - nolf2: { - name: "No One Lives Forever 2: A Spy in H.A.R.M.'s Way (2002)", + nolf2asihw: { + name: "No One Lives Forever 2: A Spy in H.A.R.M.'s Way", options: { port_query: 27890, protocol: 'gamespy1' - } + }, + release_year: 2002 }, nucleardawn: { - name: 'Nuclear Dawn (2011)', + name: 'Nuclear Dawn', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2011 }, ohd: { - name: 'Operation: Harsh Doorstop (2023)', + name: 'Operation: Harsh Doorstop', options: { port: 7777, port_query: 27005, protocol: 'valve' - } + }, + release_year: 2023 }, onset: { - name: 'Onset (2019)', + name: 'Onset', options: { port: 7777, port_query_offset: -1, protocol: 'valve' - } + }, + release_year: 2019 }, openarena: { - name: 'OpenArena (2005)', + name: 'OpenArena', options: { port_query: 27960, protocol: 'quake3' - } + }, + release_year: 2005 }, openttd: { - name: 'OpenTTD (2004)', + name: 'OpenTTD', options: { port: 3979, protocol: 'openttd' - } + }, + release_year: 2004 }, painkiller: { name: 'Painkiller', @@ -1524,29 +1734,33 @@ export const games = { port: 3455, port_query_offset: 123, protocol: 'ase' - } + }, + release_year: 2004 }, - pvkii: { - name: 'Pirates, Vikings, and Knights II (2007)', + pvak2: { + name: 'Pirates, Vikings, and Knights II', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2007 }, pixark: { - name: 'PixARK (2018)', + name: 'PixARK', options: { port: 7777, port_query: 27015, protocol: 'valve' - } + }, + release_year: 2018 }, - ps: { + postscriptum: { name: 'Post Scriptum', options: { port: 10037, protocol: 'valve' - } + }, + release_year: 2018 }, postal2: { name: 'Postal 2', @@ -1554,131 +1768,149 @@ export const games = { port: 7777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2003 }, prey: { name: 'Prey', options: { port: 27719, protocol: 'doom3' - } + }, + release_year: 2017 }, - primalcarnage: { + pce: { name: 'Primal Carnage: Extinction', options: { port: 7777, port_query: 27015, protocol: 'valve' - } + }, + release_year: 2015 }, - pc: { - name: 'Project Cars (2015)', + projectcars: { + name: 'Project Cars', options: { port: 27015, query_port: 1, protocol: 'valve' - } + }, + release_year: 2015 }, - pc2: { - name: 'Project Cars 2 (2017)', + projectcars2: { + name: 'Project Cars 2', options: { port: 27015, query_port: 1, protocol: 'valve' - } + }, + release_year: 2017 }, - prbf2: { - name: 'Project Reality: Battlefield 2 (2005)', + prb2: { + name: 'Project Reality: Battlefield 2', options: { port: 16567, port_query: 29900, protocol: 'gamespy3' - } + }, + release_year: 2005 }, - przomboid: { + projectzomboid: { name: 'Project Zomboid', options: { port: 16261, protocol: 'valve' - } + }, + release_year: 2013 }, - quake1: { - name: 'Quake 1: QuakeWorld (1996)', + quake: { + name: 'Quake', options: { port: 27500, protocol: 'quake1' - } + }, + release_year: 1996 }, quake2: { - name: 'Quake 2 (1997)', + name: 'Quake 2', options: { port: 27910, protocol: 'quake2' - } + }, + release_year: 1997 }, - quake3: { - name: 'Quake 3: Arena (1999)', + q3a: { + name: 'Quake 3: Arena', options: { port: 27960, protocol: 'quake3' - } + }, + release_year: 1999 }, quake4: { - name: 'Quake 4 (2005)', + name: 'Quake 4', options: { port: 28004, protocol: 'doom3' - } + }, + release_year: 2005 }, quakelive: { - name: 'Quake Live (2010)', + name: 'Quake Live', options: { port: 27960, protocol: 'valve' - } + }, + release_year: 2010 }, - ragdollkungfu: { + rdkf: { name: 'Rag Doll Kung Fu', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2005 }, - r6: { + rainbowsix: { name: 'Rainbow Six', options: { port_query: 2348, protocol: 'gamespy1' - } + }, + release_year: 1998 }, - r6roguespear: { + rs2rs: { name: 'Rainbow Six 2: Rogue Spear', options: { port_query: 2346, protocol: 'gamespy1' - } + }, + release_year: 1999 }, - r6ravenshield: { + rs3rs: { name: 'Rainbow Six 3: Raven Shield', options: { port: 7777, port_query_offset: 1000, protocol: 'gamespy1' - } + }, + release_year: 2003 }, rallisportchallenge: { name: 'RalliSport Challenge', options: { port_query: 17500, protocol: 'gamespy1' - } + }, + release_year: 2002 }, rallymasters: { name: 'Rally Masters', options: { port_query: 16666, protocol: 'gamespy1' - } + }, + release_year: 2000 }, redorchestra: { name: 'Red Orchestra', @@ -1686,15 +1918,17 @@ export const games = { port: 7758, port_query_offset: 1, protocol: 'unreal2' - } + }, + release_year: 2018 }, - redorchestraost: { + roo4145: { name: 'Red Orchestra: Ostfront 41-45', options: { port: 7757, port_query_offset: 10, protocol: 'gamespy1' - } + }, + release_year: 2006 }, redorchestra2: { name: 'Red Orchestra 2', @@ -1702,28 +1936,32 @@ export const games = { port: 7777, port_query: 27015, protocol: 'valve' - } + }, + release_year: 2011 }, redline: { name: 'Redline', options: { port_query: 25252, protocol: 'gamespy1' - } + }, + release_year: 2010 }, - redm: { - name: 'Red Dead Redemption 2 - RedM (2018)', + rdr2r: { + name: 'Red Dead Redemption 2 - RedM', options: { port: 30120, protocol: 'fivem' - } + }, + release_year: 2018 }, rtcw: { name: 'Return to Castle Wolfenstein', options: { port_query: 27960, protocol: 'quake3' - } + }, + release_year: 2001 }, rfactor: { name: 'rFactor', @@ -1731,44 +1969,50 @@ export const games = { port: 34397, port_query_offset: -100, protocol: 'rfactor' - } + }, + release_year: 2018 }, ricochet: { name: 'Ricochet', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2005 }, - riseofnations: { + ron: { name: 'Rise of Nations', options: { port_query: 6501, protocol: 'gamespy1' - } + }, + release_year: 2003 }, risingworld: { - name: 'Rising World (2014)', + name: 'Rising World', options: { port: 4255, port_query_offset: -1, protocol: 'valve' - } + }, + release_year: 2014 }, ror2: { - name: 'Risk of Rain 2 (2020)', + name: 'Risk of Rain 2', options: { port: 27015, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2020 }, - rs2: { + rs2v: { name: 'Rising Storm 2: Vietnam', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2017 }, rune: { name: 'Rune', @@ -1776,86 +2020,98 @@ export const games = { port: 7777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2000 }, rust: { name: 'Rust', options: { port: 28015, protocol: 'valve' - } + }, + release_year: 2013 }, - samp: { - name: 'San Andreas Multiplayer', + gtasam: { + name: 'Grand Theft Auto: San Andreas Multiplayer', options: { port: 7777, protocol: 'samp' - } + }, + release_year: 2006 }, - saomp: { - name: 'San Andreas OpenMP', + gtasao: { + name: 'Grand Theft Auto: San Andreas OpenMP', options: { port: 7777, protocol: 'samp' - } + }, + release_year: 2019 }, - savage2: { - name: 'Savage 2: A Tortured Soul (2008)', + s2ats: { + name: 'Savage 2: A Tortured Soul', options: { port_query: 11235, protocol: 'savage2' - } + }, + release_year: 2008 }, sdtd: { - name: '7 Days to Die (2013)', + name: '7 Days to Die', options: { port: 26900, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2013 }, spaceengineers: { name: 'Space Engineers', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2019 }, - ss: { + serioussam: { name: 'Serious Sam', options: { port: 25600, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2001 }, - ss2: { + serioussam2: { name: 'Serious Sam 2', options: { port: 25600, protocol: 'gamespy2' - } + }, + release_year: 2005 }, shatteredhorizon: { name: 'Shattered Horizon', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2009 }, - ship: { + theship: { name: 'The Ship', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2006 }, shogo: { name: 'Shogo', options: { port_query: 27888, protocol: 'gamespy1' - } + }, + release_year: 1998 }, shootmania: { name: 'Shootmania', @@ -1866,21 +2122,24 @@ export const games = { }, extra: { doc_notes: 'nadeo-shootmania--trackmania--etc' - } + }, + release_year: 2013 }, sin: { name: 'SiN', options: { port_query: 22450, protocol: 'gamespy1' - } + }, + release_year: 1998 }, - sinep: { + sinepisodes: { name: 'SiN Episodes', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2006 }, soldat: { name: 'Soldat', @@ -1888,29 +2147,33 @@ export const games = { port: 13073, port_query_offset: 123, protocol: 'ase' - } + }, + release_year: 2002 }, sof: { name: 'Soldier of Fortune', options: { port_query: 28910, protocol: 'quake1' - } + }, + release_year: 2000 }, sof2: { name: 'Soldier of Fortune 2', options: { port_query: 20100, protocol: 'quake3' - } + }, + release_year: 2002 }, - sonsoftheforest: { - name: 'Sons Of The Forest (2023)', + sotf: { + name: 'Sons Of The Forest', options: { port: 8766, port_query: 27016, protocol: 'valve' - } + }, + release_year: 2023 }, stalker: { name: 'S.T.A.L.K.E.R.', @@ -1918,36 +2181,41 @@ export const games = { port: 5445, port_query_offset: 2, protocol: 'gamespy3' - } + }, + release_year: 2007 }, stn: { - name: 'Survive the Nights (2017)', + name: 'Survive the Nights', options: { port: 7950, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2017 }, stbc: { name: 'Star Trek: Bridge Commander', options: { port_query: 22101, protocol: 'gamespy1' - } + }, + release_year: 2002 }, stvef: { name: 'Star Trek: Voyager - Elite Force', options: { port_query: 27960, protocol: 'quake3' - } + }, + release_year: 2000 }, stvef2: { name: 'Star Trek: Voyager - Elite Force 2', options: { port_query: 29253, protocol: 'quake3' - } + }, + release_year: 2003 }, squad: { name: 'Squad', @@ -1955,35 +2223,40 @@ export const games = { port: 7787, port_query: 27165, protocol: 'valve' - } + }, + release_year: 2020 }, - swbf: { + swb: { name: 'Star Wars: Battlefront', options: { port_query: 3658, protocol: 'gamespy2' - } + }, + release_year: 2004 }, - swbf2: { + swb2: { name: 'Star Wars: Battlefront 2', options: { port_query: 3658, protocol: 'gamespy2' - } + }, + release_year: 2005 }, - swjk: { - name: 'Star Wars Jedi Knight: Jedi Academy (2003)', + swjkja: { + name: 'Star Wars Jedi Knight: Jedi Academy', options: { port_query: 29070, protocol: 'quake3' - } + }, + release_year: 2003 }, - swjk2: { - name: 'Star Wars Jedi Knight II: Jedi Outcast (2002)', + swjk2jo: { + name: 'Star Wars Jedi Knight II: Jedi Outcast', options: { port_query: 28070, protocol: 'quake3' - } + }, + release_year: 2002 }, swrc: { name: 'Star Wars: Republic Commando', @@ -1991,35 +2264,40 @@ export const games = { port: 7777, port_query: 11138, protocol: 'gamespy2' - } + }, + release_year: 2005 }, starbound: { name: 'Starbound', options: { port: 21025, protocol: 'valve' - } + }, + release_year: 2016 }, starmade: { name: 'StarMade', options: { port: 4242, protocol: 'starmade' - } + }, + release_year: 2012 }, starsiege: { - name: 'Starsiege (2009)', + name: 'Starsiege', options: { port: 29001, protocol: 'starsiege' - } + }, + release_year: 2009 }, suicidesurvival: { name: 'Suicide Survival', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2008 }, swat4: { name: 'SWAT 4', @@ -2027,21 +2305,24 @@ export const games = { port: 10480, port_query_offset: 2, protocol: 'gamespy2' - } + }, + release_year: 2005 }, svencoop: { name: 'Sven Coop', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 1999 }, synergy: { name: 'Synergy', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2005 }, tacticalops: { name: 'Tactical Ops', @@ -2049,43 +2330,49 @@ export const games = { port: 7777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 1999 }, - takeonhelicopters: { - name: 'Take On Helicopters (2011)', + toh: { + name: 'Take On Helicopters', options: { port: 2302, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 2011 }, teamfactor: { name: 'Team Factor', options: { port_query: 57778, protocol: 'gamespy1' - } + }, + release_year: 2002 }, tfc: { name: 'Team Fortress Classic', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 1999 }, - tf2: { + teamfortress2: { name: 'Team Fortress 2', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2007 }, teamspeak2: { name: 'Teamspeak 2', options: { port: 8767, protocol: 'teamspeak2' - } + }, + release_year: 2001 }, teamspeak3: { name: 'Teamspeak 3', @@ -2095,17 +2382,19 @@ export const games = { }, extra: { doc_notes: 'teamspeak3' - } + }, + release_year: 2011 }, terminus: { name: 'Terminus', options: { port_query: 12286, protocol: 'gamespy1' - } + }, + release_year: 2000 }, - terraria: { - name: 'Terraria - TShock (2011)', + terrariatshosck: { + name: 'Terraria - TShock', options: { port: 7777, port_query_offset: 101, @@ -2113,50 +2402,57 @@ export const games = { }, extra: { doc_notes: 'terraria' - } + }, + release_year: 2011 }, theforest: { - name: 'The Forest (2014)', + name: 'The Forest', options: { port: 27015, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2014 }, thefront: { - name: 'The Front (2023)', + name: 'The Front', options: { port_query: 27015, protocol: 'valve' - } + }, + release_year: 2023 }, thps3: { name: "Tony Hawk's Pro Skater 3", options: { port_query: 6500, protocol: 'gamespy1' - } + }, + release_year: 2001 }, thps4: { name: "Tony Hawk's Pro Skater 4", options: { port_query: 6500, protocol: 'gamespy1' - } + }, + release_year: 2002 }, thu2: { name: "Tony Hawk's Underground 2", options: { port_query: 5153, protocol: 'gamespy1' - } + }, + release_year: 2004 }, towerunite: { name: 'Tower Unite', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2016 }, trackmania2: { name: 'Trackmania 2', @@ -2167,7 +2463,8 @@ export const games = { }, extra: { doc_notes: 'nadeo-shootmania--trackmania--etc' - } + }, + release_year: 2011 }, trackmaniaforever: { name: 'Trackmania Forever', @@ -2178,21 +2475,24 @@ export const games = { }, extra: { doc_notes: 'nadeo-shootmania--trackmania--etc' - } + }, + release_year: 2008 }, tremulous: { name: 'Tremulous', options: { port_query: 30720, protocol: 'quake3' - } + }, + release_year: 2006 }, - tribes1: { + t1s: { name: 'Tribes 1: Starsiege', options: { port: 28001, protocol: 'tribes1' - } + }, + release_year: 1998 }, tribesvengeance: { name: 'Tribes: Vengeance', @@ -2200,28 +2500,32 @@ export const games = { port: 7777, port_query_offset: 1, protocol: 'gamespy2' - } + }, + release_year: 2004 }, tron20: { name: 'Tron 2.0', options: { port_query: 27888, protocol: 'gamespy2' - } + }, + release_year: 2003 }, - ts: { - name: 'The Specalists', + thespecialists: { + name: 'The Specialists', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2002 }, turok2: { name: 'Turok 2', options: { port_query: 12880, protocol: 'gamespy1' - } + }, + release_year: 1998 }, universalcombat: { name: 'Universal Combat', @@ -2229,7 +2533,8 @@ export const games = { port: 1135, port_query_offset: 123, protocol: 'ase' - } + }, + release_year: 2004 }, unreal: { name: 'Unreal', @@ -2237,7 +2542,8 @@ export const games = { port: 7777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 1998 }, unturned: { name: 'unturned', @@ -2245,56 +2551,63 @@ export const games = { port: 27015, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2014 }, - ut: { + unrealtournament: { name: 'Unreal Tournament', options: { port: 7777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 1993 }, - ut2003: { + unrealtournament2003: { name: 'Unreal Tournament 2003', options: { port: 7757, port_query_offset: 1, protocol: 'unreal2' - } + }, + release_year: 2003 }, - ut2004: { + unrealtournament2004: { name: 'Unreal Tournament 2004', options: { port: 7777, port_query_offset: 1, protocol: 'unreal2' - } + }, + release_year: 2004 }, - ut3: { + unrealtournament3: { name: 'Unreal Tournament 3', options: { port: 7777, port_query_offset: -1277, protocol: 'ut3' - } + }, + release_year: 2007 }, urbanterror: { name: 'Urban Terror', options: { port_query: 27960, protocol: 'quake3' - } + }, + release_year: 2000 }, - v8supercar: { + v8sc: { name: 'V8 Supercar Challenge', options: { port_query: 16700, protocol: 'gamespy1' - } + }, + release_year: 2002 }, valheim: { - name: 'Valheim (2021)', + name: 'Valheim', options: { port: 2456, port_query_offset: 1, @@ -2302,21 +2615,24 @@ export const games = { }, extra: { doc_notes: 'valheim' - } + }, + release_year: 2021 }, - vcmp: { + vcm: { name: 'Vice City Multiplayer', options: { port: 8192, protocol: 'vcmp' - } + }, + release_year: 2015 }, ventrilo: { name: 'Ventrilo', options: { port: 3784, protocol: 'ventrilo' - } + }, + release_year: 2002 }, vietcong: { name: 'Vietcong', @@ -2324,7 +2640,8 @@ export const games = { port: 5425, port_query: 15425, protocol: 'gamespy1' - } + }, + release_year: 2003 }, vietcong2: { name: 'Vietcong 2', @@ -2332,66 +2649,75 @@ export const games = { port: 5001, port_query: 19967, protocol: 'gamespy2' - } + }, + release_year: 2005 }, vrising: { - name: 'V Rising (2022)', + name: 'V Rising', options: { port: 27015, port_query_offset: 1, protocol: 'valve' - } + }, + release_year: 2022 }, - vs: { + vampireslayer: { name: 'Vampire Slayer', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2000 }, warsow: { name: 'Warsow', options: { port: 44400, protocol: 'warsow' - } + }, + release_year: 2012 }, warfork: { name: 'Warfork', options: { port_query: 44400, protocol: 'warsow' - } + }, + release_year: 2019 }, - wheeloftime: { + wot: { name: 'Wheel of Time', options: { port: 7777, port_query_offset: 1, protocol: 'gamespy1' - } + }, + release_year: 1999 }, - wolfenstein2009: { - name: 'Wolfenstein 2009', + wolfenstein: { + name: 'Wolfenstein', options: { port: 27666, protocol: 'doom3' - } + }, + release_year: 2009 }, - wolfensteinet: { + wet: { name: 'Wolfenstein: Enemy Territory', options: { port_query: 27960, protocol: 'quake3' - } + }, + release_year: 2003 }, - wurm: { + wurmunlimited: { name: 'Wurm Unlimited', options: { port: 3724, query_port: 27016, protocol: 'valve' - } + }, + release_year: 2006 }, xpandrally: { name: 'Xpand Rally', @@ -2399,20 +2725,23 @@ export const games = { port: 28015, port_query_offset: 123, protocol: 'ase' - } + }, + release_year: 2004 }, zombiemaster: { name: 'Zombie Master', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2007 }, zps: { name: 'Zombie Panic: Source', options: { port: 27015, protocol: 'valve' - } + }, + release_year: 2007 } }