25 lines
1.3 KiB
Python
25 lines
1.3 KiB
Python
|
from mcstatus import JavaServer
|
||
|
import json
|
||
|
|
||
|
# You can pass the same address you'd enter into the address field in minecraft into the 'lookup' function
|
||
|
# If you know the host and port, you may skip this and use JavaServer("example.org", 1234)
|
||
|
server = JavaServer.lookup("your.minecraft.server.hostname.here")
|
||
|
|
||
|
# 'status' is supported by all Minecraft servers that are version 1.7 or higher.
|
||
|
# Don't expect the player list to always be complete, because many servers run
|
||
|
# plugins that hide this information or limit the number of players returned or even
|
||
|
# alter this list to contain fake players for purposes of having a custom message here.
|
||
|
status = server.status()
|
||
|
print(json.dumps({'players': status.players.online, 'ms': status.latency}))
|
||
|
#print(f"{{""players"": {status.players.online}, ""ms"": {status.latency} }}")
|
||
|
|
||
|
# 'ping' is supported by all Minecraft servers that are version 1.7 or higher.
|
||
|
# It is included in a 'status' call, but is also exposed separate if you do not require the additional info.
|
||
|
#latency = server.ping()
|
||
|
#print(f"The server replied in {latency} ms")
|
||
|
|
||
|
# 'query' has to be enabled in a server's server.properties file!
|
||
|
# It may give more information than a ping, such as a full player list or mod information.
|
||
|
#query = server.query()
|
||
|
#print(f"The server has the following players online: {', '.join(query.players.names)}")
|