mirror of
https://github.com/tribufu/node-gamedig
synced 2026-06-01 09:42:41 +00:00
Merge branch 'master' into master
This commit is contained in:
commit
10ac17fa01
36 changed files with 1246 additions and 868 deletions
347
README.md
347
README.md
|
|
@ -43,6 +43,7 @@ this query port may work instead. (defaults to protocol default port)
|
|||
will cause many queries to take longer even if the server is online. (default 2000)
|
||||
* **attemptTimeout**: number - Milliseconds allowed for an entire query attempt. This timeout is not commonly hit,
|
||||
as the socketTimeout typically fires first. (default 10000)
|
||||
* **givenPortOnly**: boolean - Only attempt to query server on given port. (default false)
|
||||
* **debug**: boolean - Enables massive amounts of debug logging to stdout. (default false)
|
||||
|
||||
### Return Value
|
||||
|
|
@ -54,10 +55,9 @@ The returned state object will contain the following keys:
|
|||
* **password**: boolean - If a password is required
|
||||
* **maxplayers**: number
|
||||
* **players**: array of objects
|
||||
* Each object **may or may not** contain name, ping, score, team, address.
|
||||
* The number of players online can be determined by `players.length`.
|
||||
* For servers which do not provide player names, this may be an array
|
||||
of empty objects (ex. `[{},{},{}]`), one for each player without a name.
|
||||
* **name**: string - If the player's name is unknown, the string will be empty.
|
||||
* **raw**: object - Additional information about the player if available (unstable)
|
||||
* The content of this field MAY change on a per-protocol basis between GameDig patch releases (although not typical).
|
||||
* **bots**: array of objects - Same schema as `players`
|
||||
* **connect**: string
|
||||
* This will typically include the game's `ip:port`
|
||||
|
|
@ -78,32 +78,32 @@ Games List
|
|||
### Supported
|
||||
<!--- BEGIN GENERATED GAMES -->
|
||||
|
||||
| GameDig Type ID | Name | Notes
|
||||
| GameDig Type ID | Name | See Also
|
||||
|---|---|---
|
||||
| `7d2d` | 7 Days to Die (2013)
|
||||
| `ageofchivalry` | Age of Chivalry (2007)
|
||||
| `7d2d` | 7 Days to Die (2013) | [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)
|
||||
| `alienswarm` | Alien Swarm (2010) | [Valve Protocol](#valve)
|
||||
| `avp2` | Aliens versus Predator 2 (2001)
|
||||
| `avp2010` | Aliens vs. Predator (2010)
|
||||
| `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)
|
||||
| `americasarmypg` | America's Army: Proving Grounds (2015)
|
||||
| `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)
|
||||
| `arma2` | ARMA 2 (2009)
|
||||
| `arma2oa` | ARMA 2: Operation Arrowhead (2010)
|
||||
| `arma3` | ARMA 3 (2013)
|
||||
| `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)
|
||||
| `armagetron` | Armagetron Advanced (2001)
|
||||
| `assettocorsa` | Assetto Corsa (2014)
|
||||
| `atlas` | Atlas (2018)
|
||||
| `atlas` | Atlas (2018) | [Valve Protocol](#valve)
|
||||
| `baldursgate` | Baldur's Gate (1998)
|
||||
| `bat1944` | Battalion 1944 (2018)
|
||||
| `bat1944` | Battalion 1944 (2018) | [Valve Protocol](#valve)
|
||||
| `bf1942` | Battlefield 1942 (2002)
|
||||
| `bf2` | Battlefield 2 (2005)
|
||||
| `bf2142` | Battlefield 2142 (2006)
|
||||
|
|
@ -112,16 +112,16 @@ Games List
|
|||
| `bfh` | Battlefield Hardline (2015)
|
||||
| `bfv` | Battlefield Vietnam (2004)
|
||||
| `bfbc2` | Battlefield: Bad Company 2 (2010)
|
||||
| `breach` | Breach (2011)
|
||||
| `breach` | Breach (2011) | [Valve Protocol](#valve)
|
||||
| `breed` | Breed (2004)
|
||||
| `brink` | Brink (2011)
|
||||
| `brink` | Brink (2011) | [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)
|
||||
| `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)
|
||||
|
|
@ -130,86 +130,87 @@ Games List
|
|||
| `codenameeagle` | Codename Eagle (2000)
|
||||
| `cacrenegade` | Command and Conquer: Renegade (2002)
|
||||
| `commandos3` | Commandos 3: Destination Berlin (2003)
|
||||
| `conanexiles` | Conan Exiles (2018)
|
||||
| `contagion` | Contagion (2011)
|
||||
| `conanexiles` | Conan Exiles (2018) | [Valve Protocol](#valve)
|
||||
| `contagion` | Contagion (2011) | [Valve Protocol](#valve)
|
||||
| `contactjack` | Contract J.A.C.K. (2003)
|
||||
| `cs15` | Counter-Strike 1.5 (2002)
|
||||
| `cs16` | Counter-Strike 1.6 (2003)
|
||||
| `cs15` | Counter-Strike 1.5 (2002) | [Valve Protocol](#valve)
|
||||
| `cs16` | Counter-Strike 1.6 (2003) | [Valve Protocol](#valve)
|
||||
| `cs2d` | Counter-Strike: 2D (2004)
|
||||
| `cscz` | Counter-Strike: Condition Zero (2004)
|
||||
| `csgo` | Counter-Strike: Global Offensive (2012) | [Notes](#csgo)
|
||||
| `css` | Counter-Strike: Source (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)
|
||||
| `crossracing` | Cross Racing Championship Extreme 2005 (2005)
|
||||
| `crysis` | Crysis (2007)
|
||||
| `crysis2` | Crysis 2 (2011)
|
||||
| `crysiswars` | Crysis Wars (2008)
|
||||
| `daikatana` | Daikatana (2000)
|
||||
| `dnl` | Dark and Light (2017)
|
||||
| `dmomam` | Dark Messiah of Might and Magic (2006)
|
||||
| `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)
|
||||
| `dods` | Day of Defeat: Source (2005)
|
||||
| `doi` | Day of Infamy (2017)
|
||||
| `daysofwar` | Days of War (2017)
|
||||
| `dayz` | DayZ (2018)
|
||||
| `dayzmod` | DayZ Mod (2013)
|
||||
| `dod` | Day of Defeat (2003) | [Valve Protocol](#valve)
|
||||
| `dods` | Day of Defeat: Source (2005) | [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)
|
||||
| `dinodday` | Dino D-Day (2011) | [Valve Protocol](#valve)
|
||||
| `dirttrackracing2` | Dirt Track Racing 2 (2002)
|
||||
| `discord` | Discord | [Notes](#discord)
|
||||
| `doom3` | Doom 3 (2004)
|
||||
| `dota2` | Dota 2 (2013)
|
||||
| `dota2` | Dota 2 (2013) | [Valve Protocol](#valve)
|
||||
| `drakan` | Drakan: Order of the Flame (1999)
|
||||
| `empyrion` | Empyrion - Galactic Survival (2015)
|
||||
| `empyrion` | Empyrion - Galactic Survival (2015) | [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)
|
||||
| `fortressforever` | Fortress Forever (2007)
|
||||
| `fortressforever` | Fortress Forever (2007) | [Valve Protocol](#valve)
|
||||
| `ffow` | Frontlines: Fuel of War (2008)
|
||||
| `garrysmod` | Garry's Mod (2004)
|
||||
| `garrysmod` | Garry's Mod (2004) | [Valve Protocol](#valve)
|
||||
| `geneshift`<br>`mutantfactions` | Geneshift (2017)
|
||||
| `giantscitizenkabuto` | Giants: Citizen Kabuto (2000)
|
||||
| `globaloperations` | Global Operations (2002)
|
||||
| `ges` | GoldenEye: Source (2010)
|
||||
| `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)
|
||||
| `gunmanchronicles` | Gunman Chronicles (2000)
|
||||
| `hl2dm` | Half-Life 2: Deathmatch (2004)
|
||||
| `hldm` | Half-Life Deathmatch (1998)
|
||||
| `hldms` | Half-Life Deathmatch: Source (2005)
|
||||
| `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)
|
||||
| `halo` | Halo (2003)
|
||||
| `halo2` | Halo 2 (2007)
|
||||
| `hll` | Hell Let Loose
|
||||
| `hll` | Hell Let Loose | [Valve Protocol](#valve)
|
||||
| `heretic2` | Heretic II (1998)
|
||||
| `hexen2` | Hexen II (1997)
|
||||
| `had2` | Hidden & Dangerous 2 (2003)
|
||||
| `homefront` | Homefront (2011)
|
||||
| `homefront` | Homefront (2011) | [Valve Protocol](#valve)
|
||||
| `homeworld2` | Homeworld 2 (2003)
|
||||
| `hurtworld` | Hurtworld (2015)
|
||||
| `hurtworld` | Hurtworld (2015) | [Valve Protocol](#valve)
|
||||
| `igi2` | I.G.I.-2: Covert Strike (2003)
|
||||
| `il2` | IL-2 Sturmovik (2001)
|
||||
| `insurgency` | Insurgency (2014)
|
||||
| `insurgencysandstorm` | Insurgency: Sandstorm (2018)
|
||||
| `insurgency` | Insurgency (2014) | [Valve Protocol](#valve)
|
||||
| `insurgencysandstorm` | Insurgency: Sandstorm (2018) | [Valve Protocol](#valve)
|
||||
| `ironstorm` | Iron Storm (2002)
|
||||
| `jamesbondnightfire` | James Bond 007: Nightfire (2002)
|
||||
| `jc2mp` | Just Cause 2 - Multiplayer (2010)
|
||||
| `jc3mp` | Just Cause 3 - Multiplayer (2017)
|
||||
| `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)
|
||||
| `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)
|
||||
| `left4dead` | Left 4 Dead (2008)
|
||||
| `left4dead2` | Left 4 Dead 2 (2009)
|
||||
| `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)
|
||||
|
|
@ -219,16 +220,16 @@ Games List
|
|||
| `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)
|
||||
| `medievalengineers` | Medieval Engineers (2015) | [Valve Protocol](#valve)
|
||||
| `minecraft`<br>`minecraftping` | Minecraft (2009)
|
||||
| `minecraftpe`<br>`minecraftbe` | Minecraft: Bedrock Edition (2011)
|
||||
| `mnc` | Monday Night Combat (2011)
|
||||
| `mordhau` | Mordhau (2019)
|
||||
| `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)
|
||||
| `ns2` | Natural Selection 2 (2012)
|
||||
| `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)
|
||||
|
|
@ -236,56 +237,57 @@ Games List
|
|||
| `nwn2` | Neverwinter Nights 2 (2006)
|
||||
| `nexuiz` | Nexuiz (2005)
|
||||
| `nitrofamily` | Nitro Family (2004)
|
||||
| `nmrih` | No More Room in Hell (2011)
|
||||
| `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)
|
||||
| `nucleardawn` | Nuclear Dawn (2011) | [Valve Protocol](#valve)
|
||||
| `openarena` | OpenArena (2005)
|
||||
| `openttd` | OpenTTD (2004)
|
||||
| `operationflashpoint`<br>`flashpoint` | Operation Flashpoint: Cold War Crisis (2001)
|
||||
| `flashpointresistance` | Operation Flashpoint: Resistance (2002)
|
||||
| `painkiller` | Painkiller
|
||||
| `pixark` | PixARK (2018)
|
||||
| `pixark` | PixARK (2018) | [Valve Protocol](#valve)
|
||||
| `ps` | Post Scriptum
|
||||
| `postal2` | Postal 2
|
||||
| `prey` | Prey
|
||||
| `primalcarnage` | Primal Carnage: Extinction
|
||||
| `primalcarnage` | Primal Carnage: Extinction | [Valve Protocol](#valve)
|
||||
| `prbf2` | Project Reality: Battlefield 2 (2005)
|
||||
| `quake1` | Quake 1: QuakeWorld (1996)
|
||||
| `quake2` | Quake 2 (1997)
|
||||
| `quake3` | Quake 3: Arena (1999)
|
||||
| `quake4` | Quake 4 (2005)
|
||||
| `quakelive` | Quake Live (2010)
|
||||
| `ragdollkungfu` | Rag Doll Kung Fu
|
||||
| `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
|
||||
| `redorchestra2` | Red Orchestra 2 | [Valve Protocol](#valve)
|
||||
| `redorchestraost` | Red Orchestra: Ostfront 41-45
|
||||
| `redline` | Redline
|
||||
| `rtcw` | Return to Castle Wolfenstein
|
||||
| `rfactor` | rFactor
|
||||
| `ricochet` | Ricochet
|
||||
| `ricochet` | Ricochet | [Valve Protocol](#valve)
|
||||
| `riseofnations` | Rise of Nations
|
||||
| `rs2` | Rising Storm 2: Vietnam
|
||||
| `rs2` | Rising Storm 2: Vietnam | [Valve Protocol](#valve)
|
||||
| `rune` | Rune
|
||||
| `rust` | Rust
|
||||
| `rust` | Rust | [Valve Protocol](#valve)
|
||||
| `stalker` | S.T.A.L.K.E.R.
|
||||
| `samp` | San Andreas Multiplayer
|
||||
| `savage2` | Savage 2: A Tortured Soul (2008)
|
||||
| `ss` | Serious Sam
|
||||
| `ss2` | Serious Sam 2
|
||||
| `shatteredhorizon` | Shattered Horizon
|
||||
| `shatteredhorizon` | Shattered Horizon | [Valve Protocol](#valve)
|
||||
| `shogo` | Shogo
|
||||
| `shootmania` | Shootmania | [Notes](#nadeo-shootmania--trackmania--etc)
|
||||
| `sin` | SiN
|
||||
| `sinep` | SiN Episodes
|
||||
| `sinep` | SiN Episodes | [Valve Protocol](#valve)
|
||||
| `soldat` | Soldat
|
||||
| `sof` | Soldier of Fortune
|
||||
| `sof2` | Soldier of Fortune 2
|
||||
| `spaceengineers` | Space Engineers
|
||||
| `squad` | Squad
|
||||
| `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
|
||||
|
|
@ -294,32 +296,32 @@ Games List
|
|||
| `swbf` | Star Wars: Battlefront
|
||||
| `swbf2` | Star Wars: Battlefront 2
|
||||
| `swrc` | Star Wars: Republic Commando
|
||||
| `starbound` | Starbound
|
||||
| `starbound` | Starbound | [Valve Protocol](#valve)
|
||||
| `starmade` | StarMade
|
||||
| `starsiege` | Starsiege (2009)
|
||||
| `suicidesurvival` | Suicide Survival
|
||||
| `svencoop` | Sven Coop
|
||||
| `suicidesurvival` | Suicide Survival | [Valve Protocol](#valve)
|
||||
| `svencoop` | Sven Coop | [Valve Protocol](#valve)
|
||||
| `swat4` | SWAT 4
|
||||
| `synergy` | Synergy
|
||||
| `synergy` | Synergy | [Valve Protocol](#valve)
|
||||
| `tacticalops` | Tactical Ops
|
||||
| `takeonhelicopters` | Take On Helicopters (2011)
|
||||
| `teamfactor` | Team Factor
|
||||
| `tf2` | Team Fortress 2
|
||||
| `tfc` | Team Fortress Classic
|
||||
| `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`<br>`tshock` | Terraria - TShock (2011) | [Notes](#terraria)
|
||||
| `forrest` | The Forrest (2014)
|
||||
| `hidden` | The Hidden (2005)
|
||||
| `forrest` | The Forrest (2014) | [Valve Protocol](#valve)
|
||||
| `hidden` | The Hidden (2005) | [Valve Protocol](#valve)
|
||||
| `nolf` | The Operative: No One Lives Forever (2000)
|
||||
| `ship` | The Ship
|
||||
| `ship` | The Ship | [Valve Protocol](#valve)
|
||||
| `graw` | Tom Clancy's Ghost Recon Advanced Warfighter (2006)
|
||||
| `graw2` | Tom Clancy's Ghost Recon Advanced Warfighter 2 (2007)
|
||||
| `thps3` | Tony Hawk's Pro Skater 3
|
||||
| `thps4` | Tony Hawk's Pro Skater 4
|
||||
| `thu2` | Tony Hawk's Underground 2
|
||||
| `towerunite` | Tower Unite
|
||||
| `towerunite` | Tower Unite | [Valve Protocol](#valve)
|
||||
| `trackmania2` | Trackmania 2 | [Notes](#nadeo-shootmania--trackmania--etc)
|
||||
| `trackmaniaforever` | Trackmania Forever | [Notes](#nadeo-shootmania--trackmania--etc)
|
||||
| `tremulous` | Tremulous
|
||||
|
|
@ -333,9 +335,10 @@ Games List
|
|||
| `ut2003` | Unreal Tournament 2003
|
||||
| `ut2004` | Unreal Tournament 2004
|
||||
| `ut3` | Unreal Tournament 3
|
||||
| `unturned` | unturned
|
||||
| `unturned` | unturned | [Valve Protocol](#valve)
|
||||
| `urbanterror` | Urban Terror
|
||||
| `v8supercar` | V8 Supercar Challenge
|
||||
| `valheim` | Valheim (2021) | [Notes](#valheim), [Valve Protocol](#valve)
|
||||
| `ventrilo` | Ventrilo
|
||||
| `vcmp` | Vice City Multiplayer
|
||||
| `vietcong` | Vietcong
|
||||
|
|
@ -345,8 +348,8 @@ Games List
|
|||
| `wolfenstein2009` | Wolfenstein 2009
|
||||
| `wolfensteinet` | Wolfenstein: Enemy Territory
|
||||
| `xpandrally` | Xpand Rally
|
||||
| `zombiemaster` | Zombie Master
|
||||
| `zps` | Zombie Panic: Source
|
||||
| `zombiemaster` | Zombie Master | [Valve Protocol](#valve)
|
||||
| `zps` | Zombie Panic: Source | [Valve Protocol](#valve)
|
||||
|
||||
<!--- END GENERATED GAMES -->
|
||||
|
||||
|
|
@ -385,7 +388,6 @@ Games List
|
|||
* Red Faction
|
||||
* S.T.A.L.K.E.R. Clear Sky
|
||||
* Savage: The Battle For Newerth
|
||||
* Savage 2: A Tortured Soul
|
||||
* SiN 1 Multiplayer
|
||||
* South Park
|
||||
* Star Wars Jedi Knight: Dark Forces II
|
||||
|
|
@ -402,7 +404,7 @@ Games List
|
|||
|
||||
> Want support for one of these games? Please open an issue to show your interest!
|
||||
> __Know how to code?__ Protocol details for many of the games above are documented
|
||||
> at https://github.com/sonicsnes/legacy-query-library-archive
|
||||
> at https://github.com/gamedig/legacy-query-library-archive
|
||||
> , ready for you to develop into GameDig!
|
||||
|
||||
> Don't see your game listed here?
|
||||
|
|
@ -428,6 +430,11 @@ Games with Additional Notes
|
|||
To receive a full player list response from CS:GO servers, the server must
|
||||
have set the cvar: host_players_show 2
|
||||
|
||||
### Discord
|
||||
You must set the `guildId` request field to the server's guild ID. Do not provide an IP.
|
||||
The Guild ID can be found in server widget settings (Server ID) or by enabling developer mode in client settings and right-clicking the server's icon.
|
||||
In order to retrieve information from discord server's they must have the `Enable server widget` option enabled.
|
||||
|
||||
### Mumble
|
||||
For full query results from Mumble, you must be running the
|
||||
[GTmurmur plugin](http://www.gametracker.com/downloads/gtmurmurplugin.php).
|
||||
|
|
@ -452,7 +459,49 @@ For teamspeak 3 queries to work correctly, the following permissions must be ava
|
|||
|
||||
### Terraria
|
||||
Requires tshock server mod, and a REST user token, which can be passed to GameDig with the
|
||||
additional option: token
|
||||
additional option: `token`
|
||||
|
||||
### Valheim
|
||||
Valheim servers will only respond to queries if they are started in public mode (`-public 1`).
|
||||
|
||||
### <a name="valve"></a>Valve Protocol
|
||||
For many valve games, additional 'rules' may be fetched into the unstable `raw` field by passing the additional
|
||||
option: `requestRules: true`. Beware that this may increase query time.
|
||||
|
||||
Common Issues
|
||||
---
|
||||
|
||||
### Firewalls block incoming UDP
|
||||
*(replit / docker / some VPS providers)*
|
||||
|
||||
Most game query protocols require a UDP request and response. This means that in some environments, gamedig may not be able to receive the reponse required due to environmental restrictions.
|
||||
|
||||
Some examples include:
|
||||
* Docker containers
|
||||
* You may need to run the container in `--network host` mode so that gamedig can bind a UDP listen port.
|
||||
* Alternatively, you can forward a single UDP port to your container, and force gamedig to listen on that port using the
|
||||
instructions in the section down below.
|
||||
* replit
|
||||
* Most online IDEs run in an isolated container, which will never receive UDP responses from outside networks.
|
||||
* Various VPS / server providers
|
||||
* Even if your server provider doesn't explicitly block incoming UDP packets, some server hosts block other server hosts from connecting to them for DDOS-mitigation and anti-botting purposes.
|
||||
|
||||
### Gamedig doesn't work in the browser
|
||||
Gamedig cannot operate within a browser. This means you cannot package it as part of your webpack / browserify / rollup / parcel package.
|
||||
Even if you were able to get it packaged into a bundle, unfortunately no browsers support the UDP protocols required to query server status
|
||||
from most game servers. As an alternative, we'd recommend using gamedig on your server-side, then expose your own API to your webapp's frontend
|
||||
displaying the status information. If your application is thin (with no constant server component), you may wish to investigate a server-less lambda provider.
|
||||
|
||||
### Specifying a listen UDP port override
|
||||
In some very rare scenarios, you may need to bind / listen on a fixed local UDP port. The is usually not needed except behind
|
||||
some extremely strict firewalls, or within a docker container (where you only wish to forward a single UDP port).
|
||||
To use a fixed listen udp port, construct a new Gamedig object like this:
|
||||
```
|
||||
const gamedig = new Gamedig({
|
||||
listenUdpPort: 13337
|
||||
});
|
||||
gamedig.query(...)
|
||||
```
|
||||
|
||||
Usage from Command Line
|
||||
---
|
||||
|
|
@ -470,121 +519,3 @@ gamedig --type minecraft mc.example.com:11234
|
|||
|
||||
The output of the command will be in JSON format. Additional advanced parameters can be passed in
|
||||
as well: `--debug`, `--pretty`, `--socketTimeout 5000`, etc.
|
||||
|
||||
Changelog
|
||||
---
|
||||
|
||||
### 2.0.20
|
||||
* Fixed minecraft protocol never throwing exceptions
|
||||
|
||||
### 2.0.19
|
||||
* Added Days of War (2017)
|
||||
* Added The Forrest (2014)
|
||||
* Added Just Cause 3 Multiplayer (2017)
|
||||
* Added Project Reality: Battlefield 2 (2005)
|
||||
* Added Quake Live (2010)
|
||||
* Added Contagion (2011)
|
||||
* Added Empyrion: Galactic Survival (2015)
|
||||
* Added PixARK (2018)
|
||||
|
||||
### 2.0.16, 2.0.17, 2.0.18
|
||||
* Various improvements to killing floor / unreal2 protocol
|
||||
|
||||
### 2.0.15
|
||||
* Added Hell Let Loose
|
||||
* Added Rising Storm 2: Vietnam
|
||||
* Added Squad
|
||||
* Fixed DNS lookup not working in some situations when dns.lookup unexpectedly returns a string
|
||||
* Improved minecraft protocol for non-vanilla server implementations (bedrock, waterfall, bungeecord)
|
||||
* Updated dependencies
|
||||
|
||||
### 2.0.14
|
||||
* Node 8 compatibility fixes
|
||||
|
||||
### 2.0.13
|
||||
* Improved logging
|
||||
|
||||
### 2.0.12
|
||||
* Servers are now limited to 10000 players to prevent OOM
|
||||
* Improvements to Starmade (2012)
|
||||
* Added Atlas (2018)
|
||||
|
||||
### 2.0.11
|
||||
* Added Acra Sim Racing
|
||||
* Added Mafia 2: Online
|
||||
|
||||
### 2.0.10
|
||||
* Added rFactor
|
||||
|
||||
### 2.0.9
|
||||
* Added Vice City: Multiplayer
|
||||
|
||||
### 2.0.8
|
||||
* Improve out-of-order packet handling for gamespy1 protocol
|
||||
* Work-around for buggy duplicate player reporting from bf1942 servers
|
||||
* Report team names rather than IDs when possible for gamespy1 protocol
|
||||
|
||||
### 2.0.7
|
||||
* Prevent tcp socket errors from dumping straight to console
|
||||
|
||||
### 2.0.6
|
||||
* Added support for host domains requiring Punycode encoding (special characters)
|
||||
|
||||
### 2.0.5
|
||||
* Added support for Counter-Strike: 2D
|
||||
|
||||
### 2.0.4
|
||||
* Added details about new 2.0 reponse fields to the README.
|
||||
|
||||
### 2.0.3
|
||||
* Added support for Insurgency: Sandstorm
|
||||
|
||||
### 2.0.2
|
||||
* Added support for Starsiege 2009 (starsiege)
|
||||
|
||||
### 2.0.1
|
||||
* Updated readme games list for 2.0
|
||||
* Fixed csgo default port
|
||||
|
||||
### 2.0.0
|
||||
|
||||
##### Breaking API changes
|
||||
* **Node 8 is now required**
|
||||
* Removed the `port_query` option. You can now pass either the server's game port **or** query port in the `port` option, and
|
||||
GameDig will automatically discover the proper port to query. Passing the query port is more likely be successful in
|
||||
unusual cases, as otherwise it must be automatically derived from the game port.
|
||||
* Removed `callback` parameter from Gamedig.query. Only promises are now supported. If you would like to continue
|
||||
using callbacks, you can use node's `util.callbackify` function to convert the method to callback format.
|
||||
* Removed `query` field from response object, as it was poorly documented and unstable.
|
||||
* Removed `notes` field from options / response object. Data can be passed through a standard javascript context if needed.
|
||||
|
||||
##### Minor Changes
|
||||
* Rewrote core to use promises extensively for better error-handling. Async chains have been dramatically simplified
|
||||
by using async/await across the codebase, eliminating callback chains and the 'async' dependency.
|
||||
* Replaced `--output pretty` cli parameter with `--pretty`.
|
||||
* You can now query from CLI using shorthand syntax: `gamedig --type <gameid> <ip>[:<port>]`
|
||||
* UDP socket is only opened if needed by a query.
|
||||
* Automatic query port detection -- If provided with a non-standard port, gamedig will attempt to discover if it is a
|
||||
game port or query port by querying twice: once to the port provided, and once to the port including the game's query
|
||||
port offset (if available).
|
||||
* Added new `connect` field to the response object. This will typically include the game's `ip:port` (the port will reflect the server's
|
||||
game port, even if you passed in a query port in your request). For some games, this may be a server ID or connection url
|
||||
if an IP:Port is not appropriate.
|
||||
* Added new `ping` field (in milliseconds) to the response object. As icmp packets are often blocked by NATs, and node has poor support
|
||||
for raw sockets, this time is derived from the rtt of one of the UDP requests, or the time required to open a TCP socket
|
||||
during the query.
|
||||
* Improved debug logging across all parts of GameDig
|
||||
* Removed global `Gamedig.debug`. `debug` is now an option on each query.
|
||||
|
||||
##### Protocol Changes
|
||||
* Added support for games using older versions of battlefield protocol.
|
||||
* Simplified detection of BC2 when using battlefield protocol.
|
||||
* Fixed buildandshoot not reading player list
|
||||
* Standardized all doom3 games into a single protocol, which can discover protocol discrepancies automatically.
|
||||
* Standardized all gamespy2 games into a single protocol, which can discover protocol discrepancies automatically.
|
||||
* Standardized all gamespy3 games into a single protocol, which can discover protocol discrepancies automatically.
|
||||
* Improved valve protocol challenge key retry process
|
||||
|
||||
### 1.0.0
|
||||
* First official release
|
||||
* Node.js 6 is now required
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue