Skip to main content

MineStat

MineStat is a Minecraft server status checker library for Python, supporting a wide range of Minecraft servers:

  • Java Edition since Minecraft version Beta 1.8 (September 2011),
  • Bedrock Edition starting with Minecraft version 0.14 (March 2018), maybe earlier.

Supports Minecraft SRV record resolution, which requires the package dnspython. This mechanism allows server operators to use a custom port or host without the player having to type it. One common server utilizing this feature example is 2b2t: The actual server is at connect.2b2t.org, while users simply use 2bt2.org. MineStat supports querying both, if dnspython is installed.

Python example

PyPI

To use the PyPI package: pip install minestat

import minestat

ms = minestat.MineStat('minecraft.frag.land', 25565)
print('Minecraft server status of %s on port %d:' % (ms.address, ms.port))
if ms.online:
  print('Server is online running version %s with %s out of %s players.' % (ms.version, ms.current_players, ms.max_players))
  # Bedrock-specific attribute:
  if ms.gamemode:
    print('Game mode: %s' % ms.gamemode)
  print('Message of the day: %s' % ms.motd)
  print('Message of the day without formatting: %s' % ms.stripped_motd)
  print('Latency: %sms' % ms.latency)
  print('Connected using protocol: %s' % ms.slp_protocol)
else:
  print('Server is offline!')

Available parameters

The following parameters exist for the MineStat object:

  • address: str,
    • Hostname or IP address of the Minecraft server.
  • port: int = 0,
    • Optional port of the Minecraft server. Defaults to auto detection (25565 for Java Edition, 19132 for Bedrock/MCPE).
  • timeout: int = DEFAULT_TIMEOUT,
    • Optional timeout in seconds for each connection attempt. Defaults to 5 seconds.
  • query_protocol: SlpProtocols = SlpProtocols.ALL,
    • Optional protocol to use. See minestat.SlpProtocols for available choices. Defaults to auto detection.
  • resolve_srv: Optional[bool] = None
    • Optional, whether to resolve Minecraft SRV records. Requires dnspython to be installed.

Minimal example with port auto-detection:

import minestat
ms = minestat.MineStat('minecraft.frag.land')
print(f"Is online? {ms.online=}")

Available attributes

The following attributes are available on the MineStat object:

  • online: bool
    • Whether the server is online and reachable with the specified protocol. True if online.
  • address: str
    • Addresss (domain or IP-address) of the server to connect to.
  • port: int
    • Port of the server to connect to.
  • version: str
    • String describing the server Minecraft version. In vanilla servers the version number (e.g. 1.18.2), may be modified by the server (e.g. by ViaVersion). On Bedrock servers includes the Edition (MCEE/MCPE) and the server info.
  • motd: str
    • The raw MOTD returned by the server. May include formatting codes (§) or JSON chat components.
    • Examples (See https://github.com/FragLand/minestat/issues/84#issuecomment-895375890):
      • With formatting codes: §6~~§r §3§lM§7§lA§2§lG§9§lI§4§lC§r1.16 v3§6~~§r
      • JSON chat components: {"extra": [{"color": "gold", "text": "~~"}, {"text": " "}, {"bold": true, "color": "dark_aqua", "text": "M"}, {"bold": true, "color": "gray", "text": "A"}, {"bold": true, "color": "dark_green", "text": "G"}, {"bold": true, "color": "blue", "text": "I"}, {"bold": true, "color": "dark_red", "text": "C"}, {"text": "1.16 v3"}, {"color": "gold", "text": "~~"}], "text": ""}
  • stripped_motd: str
  • current_players: int
    • Count of players currently online on the server.
  • max_players: int
    • Count of maximum allowed players as reported by the server.
  • latency: int
    • Time in milliseconds the server took to respond to the information request.
  • slp_protocol: minestat.SlpProtocol
    • Protocol used to retrieve information from the server.
  • connection_status: minestat.ConnStatus
    • Status of connection ("SUCCESS", "CONNFAIL", "TIMEOUT", or "UNKNOWN").
  • srv_record: bool
    • wether the server has a SRV record.

Extra attributes

The following attributes are not availabe with every protocol.

  • player_list: list[str] (UT3/GS4 Query specific)
    • List of online players, may be empty even if current_players is over 0.
  • plugins: list[str] (UT3/GS4 Query specific)
    • List of plugins returned by the Query protcol.
  • map: str (UT3/GS4 Query specific)
    • The name of the map the server is running on.
  • gamemode: str (Bedrock specific)
    • Gamemode currently active on the server (Creative/Survival/Adventure).
  • favicon_b64: str (SLP 1.7/JSON specific)
    • Base64-encoded favicon.
  • favicon: str (SLP 1.7/JSON specific)
    • Decoded favicon data.

Metadata

Release files for minestat 2.6.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for minestat 2.6.3
File Size Uploaded
minestat-2.6.3.tar.gz 27.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for minestat 2.6.3
File Interpreter ABI Platform
minestat-2.6.3-py3-none-any.whl Python 3 none any Details

Total release size: 53.2 kB

Release files / minestat-2.6.3.tar.gz

Download URL minestat-2.6.3.tar.gz
Size 27.2 kB
Tags Source
SHA-256 checksum
How to use checksums
283a339d36f43e6f4f71d14b3a38bc838367709213a16805540c2a4cc2732ace
BLAKE2b-256 checksum
How to use checksums
4b9d2999b2e3de7c1750c94651cd16eb3b7f03139401c31d2601dd943907be0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / minestat-2.6.3-py3-none-any.whl

Download URL minestat-2.6.3-py3-none-any.whl
Size 26.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
883b90073abbab4d79d17b6530f023547462c894c78b02e446e915e0873a1d54
BLAKE2b-256 checksum
How to use checksums
c59886483e1cfb770684f2f3bf03ae580807203d598881aff3be9b2202994eb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

2.6.3 This release

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page