Skip to content

Simple Python library for querying Quake 3 based principal servers and their game servers

License

Notifications You must be signed in to change notification settings

Yotooon/pyq3serverlist

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyq3serverlist

Simple Python 🐍 library for querying Quake 3 based principal servers and their game servers. Very much based on jacklul's PHP implementation.

Features

  • retrieve a list of game servers from a Quake 3 principal ("master") server
  • supports both UDP (default) and TCP for server list retrieval
  • retrieve status details and current players from game servers

Installation

Simply install the package via pip.

$ pip install pyq3serverlist

Usage

The following example retrieves and prints a game server list for Call of Duty 4: Modern Warfare directly from Activision via UDP.

from pyq3serverlist import PrincipalServer
from pyq3serverlist.exceptions import PyQ3SLError, PyQ3SLTimeoutError

principal = PrincipalServer('cod4master.activision.com', 20810, 6)

try:
    servers = principal.get_servers()
    print(servers)
except (PyQ3SLError, PyQ3SLTimeoutError) as e:
    print(e)

You can also directly initialize a game server object for a known server and query its status.

from pyq3serverlist import Server
from pyq3serverlist.exceptions import PyQ3SLError, PyQ3SLTimeoutError

server = Server('198.144.177.2', 27963)
try:
    info = server.get_status()
    print(info)
except (PyQ3SLError, PyQ3SLTimeoutError) as e:
    print(e)

You can find a few more examples in the examples folder.

About

Simple Python library for querying Quake 3 based principal servers and their game servers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%