Skip to main content

Python command line tool to retrieve game server lists for various games

Project description

GameserverLister

ci License Package Last commit

A Python 🐍 command line tool to retrieve game server lists for various games.

Features

  • create/update lists of game servers stored as JSON
  • removal of servers not seen in a configurable timespan
  • search game server's query ports if not contained in server list
  • handle completely broken pagination on Battlelog
  • proxy support for requests to Battlelog

Usage

You can easily install GameserverLister via pip.

pip install GameserverLister

Upgrading from an older version is equally simple.

pip install --upgrade GameserverLister

After installing through pip, you can get some help for the command line options through

$ python3 -m GameserverLister --help
Usage: python -m GameserverLister [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  battlelog
  bfbc2
  gamespy
  gametools
  medalofhonor
  quake3
  unreal2
  valve

Required tools

The server list retrieval for GameSpy-games requires an external tool. In order to retrieve GameSpy servers, you need to set up gslist. gslist was developed by Luigi Auriemma.

Supported games

The scripts support retrieval for following games from the listed sources. If you know more sources for any of the listed games or know other games that support the listed protocols, please create an issue, and I will add them.

Game Platforms Source type/protocol Server list source(s)
7 Days to Die PC Valve Valve ¹
America's Army: Proving Grounds PC Valve Valve ¹
ARK: Survival Evolved PC Valve Valve ¹
Arma 2 PC Valve Valve ¹
Arma 3 PC Valve Valve ¹
Battlefield 1942 PC GameSpy bf1942.org, openspy.net, qtracker.com
Battlefield Vietnam PC GameSpy openspy.net, qtracker.com
Battlefield 2 PC GameSpy bf2hub.com, playbf2.ru, openspy.net, b2bf2.net
Battlefield 2142 PC GameSpy novgames.ru, openspy.net, play2142.ru
Battlefield: Bad Company 2 PC fesl/theater Project Rome (emulatornexus.com)
Battlefield 3 PC Battlelog battlelog.com
Battlefield 4 PC, PS3, PS4, Xbox 360, Xbox One Battlelog battlelog.com
Battlefield Hardline PC, PS3, PS4, Xbox 360, Xbox One Battlelog battlelog.com
Battlefield 1 PC Gametools API api.gametools.network
Battlefield 5 PC Gametools API api.gametools.network
Call of Duty PC Quake3 Activision
Call of Duty: United Offensive PC Quake3 Activision
Call of Duty 2 PC Quake3 Activision
Call of Duty 4: Modern Warfare PC Quake3 Activision
CoD4x Mod PC Quake3 cod4x.ovh
Counter Strike PC Valve Valve ¹
Counter Strike: Condition Zero PC Valve Valve ¹
Counter Strike: Source PC Valve Valve ¹
Counter Strike: Global Offensive PC Valve Valve ¹
Crysis PC GameSpy crymp.net
Crysis Wars PC GameSpy jedi95.us
Day of Defeat PC Valve Valve ¹
Day of Defeat: Source PC Valve Valve ¹
DayZ PC Valve Valve ¹
DayZ (Arma 2 mod) PC Valve Valve ¹
Deus Ex PC GameSpy 333networks.com, errorist.eu, newbiesplayground.net, oldunreal.com
Duke Nukem Forever PC GameSpy 333networks.com
Forgotten Hope 2 PC GameSpy fh2.dev
Garry's Mod PC Valve Valve ¹
Insurgency PC Valve Valve ¹
Insurgency: Sandstorm PC Valve Valve ¹
James Bond 007: Nightfire PC GameSpy openspy.net, nightfirepc.com
Left 4 Dead PC Valve Valve ¹
Left 4 Dead 2 PC Valve Valve ¹
Nexuiz PC Quake3 deathmask.net
OpenArena PC Quake3 deathmask.net
ParaWorld PC GameSpy openspy.net
Postal 2 PC GameSpy 333networks.com
Q3Rally PC Quake3 deathmask.net
Quake PC Quake3 deathmask.net
Quake 3 Arena PC Quake3 quake3arena.com, urbanterror.info, excessiveplus.net, ioquake3.org, huxxer.de, maverickservers.com, deathmask.net
Return to Castle Wolfenstein PC Quake3 id Software
Rising Storm 2: Vietnam PC Valve Valve ¹
Rune PC GameSpy 333networks.com, errorist.eu, newbiesplayground.net, oldunreal.com
Rust PC Valve Valve ¹
Serious Sam: The First Encounter PC GameSpy 333networks.com, errorist.eu, newbiesplayground.net, oldunreal.com
Serious Sam: Second Encounter PC GameSpy 333networks.com, errorist.eu, newbiesplayground.net, oldunreal.com
Soldier of Fortune II: Double Helix PC Quake3 Raven Software
Squad PC Valve Valve ¹
Star Wars Jedi Knight II: Jedi Outcast PC Quake3 Raven Software, jkhub.org
Star Wars Jedi Knight: Jedi Academy PC Quake3 Raven Software, jkhub.org
SWAT 4 PC GameSpy swat4stats.com
Team Fortress Classic PC Valve Valve ¹
Team Fortress 2 PC Valve Valve ¹
Tremulous PC Quake3 tremulous.net
Unreal PC GameSpy 333networks.com, errorist.eu, openspy.net, oldunreal.com, qtracker.com
Unreal Tournament PC GameSpy 333networks.com, errorist.eu, openspy.net, oldunreal.com, qtracker.com
Unreal Tournament 2003 PC Unreal2 openspy.net
Unreal Tournament 2004 PC Unreal2 openspy.net, 333networks.com, errorist.eu
Unreal Tournament 3 PC GameSpy openspy.net
UrbanTerror PC Quake3 FrozenSand
Vietcong PC GameSpy vietcong.tk, vietcong1.eu, qtracker.com
Vietcong 2 PC GameSpy openspy.net
Warfork PC Quake3 deathmask.net
Warsow PC Quake3 deathmask.net
Wheel of Time PC GameSpy 333networks.com, errorist.eu, newbiesplayground.net, oldunreal.com
Wolfenstein: Enemy Territory PC Quake3 id Software, etlegacy.com
Xonotic PC Quake3 deathmask.net, tchr.no

¹ Valve's principal servers are rate limited. If you do not use additional filters to only retrieve matching servers, you will get blocked/timed out. You can pass filters via the -f/--filter argument, e.g. use -f "\dedicated\1\password\0\empty\1\full\1" to only retrieve dedicated servers without a password which are neither full nor empty. You can find a full list of filter options here (the \appid\ filter is applied automatically).

Game server query ports

After obtaining a server list, you may want request current details directly from the game server via different query protocols. However, only the GameSpy and Quake3 principal servers return the game server's query port. Battlelog and the EA fesl/theater do not provide details about the server's query port. So, the respective scripts attempt to find the query port if run with the --find-query-port flag.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gameserverlister-2.2.1.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

GameserverLister-2.2.1-py3-none-any.whl (50.3 kB view details)

Uploaded Python 3

File details

Details for the file gameserverlister-2.2.1.tar.gz.

File metadata

  • Download URL: gameserverlister-2.2.1.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for gameserverlister-2.2.1.tar.gz
Algorithm Hash digest
SHA256 4fe5e47abf92cbce85e398c860f83570e9ab28def6983b5f837e9a3b7a3262b0
MD5 bd24e9d51a7dafb75e53478347d1ebcf
BLAKE2b-256 2f90284dd0d110cae907a21a123b40bbc0a2f75a79e3c9c1a752809591a0b56d

See more details on using hashes here.

File details

Details for the file GameserverLister-2.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for GameserverLister-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6f17859c5a9e1dc0bbc081fb939558c987ab7e3349e0dea7577897344ec0027a
MD5 b2879463b679945fefc53400ff234519
BLAKE2b-256 0bf8476a2e2bcb6d473d605b23ab950cff2ec50340a2b3dab816d2864ee807c3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page