A lightweight Minecraft client for querying the status data of a Minecraft server.
Project description
MCClient-lib
A lightweight Minecraft client for querying the status data of a Minecraft server.
Supported Mincraft versions
- Minecraft Java (v1.4.0 and later)
- Minecraft Bedrock
Supported protocols
- ServerListPing for Minecraft java servers
- Legacy ServerListPing for Minecraft java servers before 1.4
- Query Protocol for Minecraft java servers (this needs to be enabled on the server)
- Bedrock ServerListPing for Bedrock servers
Installation
pypi
pip3 install mcclient-lib
pip + github
You can also install the package directly from github.
pip3 install git+https://github.com/Sch8ill/MCClient-lib.git
Usage
ServerListPing
from mcclient import SLPClient
# for Minecraft Java servers from 1.7.* and newer
slp_client = SLPClient("mc.example.com", port=12345)
res = slp_client.get_status()
Query
from mcclient import QueryClient
# for Minecraft Java servers (needs to be enabled on the server)
query_client = QueryClient("mc.example.com", port=12345)
res = query_client.get_status()
Bedrock ServerListPing
from mcclient import BedrockSLPClient
# for Minecraft Bedrock servers
bedrock_slp_client = BedrockSLPClient("mc.example.com", port=12345)
res = bedrock_slp_client.get_status()
Response
How to handle the returned response object
# The server address and port
host = res.host
port = host.port
motd = res.motd
online_players = res.players.online
max_players = res.players.max
player_list = res.players.list
version = res.version.name
protocol_version = res.version.protocol
# only for query responses
plugins = res.plugins
# only for basic ServerListPing
has_favicon = res.favicon
# only for query and Bedrock
gametype = res.gametype
# only for query and bedrock
map = res.map
# only for bedrock
server_id = res.server_id
# timestamp of the request
timestamp = res.timestamp
# the reponse as a dictonary with some further infomation
# the keys are named like the values in the response object
res_dictionary = res.res
Queryable data
- motd
- online player count
- max player count
- player list
- server version
- server protocol version
- mods and plugins
- has a favicon
- name of map
- hostport and hostip
- gametype
- server id
Note: not every field is queryable with every protocol.
Documentation
You can find more documentation here, feel free to look into the source if you can't find enough.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mcclient-lib-1.1.0.tar.gz
(13.6 kB
view details)
Built Distribution
File details
Details for the file mcclient-lib-1.1.0.tar.gz
.
File metadata
- Download URL: mcclient-lib-1.1.0.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d9ffb25117467d9e695d6aac938f5cae183b0c55c156f36d50ff6f7bddd54d5 |
|
MD5 | bfd61351c5c954cfd6a65201784ecf07 |
|
BLAKE2b-256 | 0c8ae2a3dd0d014037cf0c852251bc9f473de5ba4461233a3ebe0886a1754381 |
File details
Details for the file mcclient_lib-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: mcclient_lib-1.1.0-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 264e14882512ad349d7a314240d2dcb6406818ed1899e49db661c7209fc33611 |
|
MD5 | 57dbe3e771cd98db7e70bf39bcaaf332 |
|
BLAKE2b-256 | eb21ae9292025fd4d9becd8a3e0b324eca3480882863d0a29745c5d98978a6f1 |