Merge pull request #1 from J-onasJones/query-fix

Query fix
This commit is contained in:
Austin Prine 2023-07-09 16:41:24 -07:00 committed by GitHub
commit 5977447321
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,6 +3,7 @@ from time import sleep
ip = input("Please Enter server IP: ")
port = input("Enter Port (press enter for default port 25565, enter * if unknown): ")
q_port = input("Enter Query Port (press enter for matching or if unknown): ") # added query port input
delay = input("How many seconds do you want in between status updates?: ")
if delay == "":
@ -13,26 +14,46 @@ delay_int = int(delay)
if port == "":
port = "25565"
# query port set to matching if empty
if q_port == "":
q_port = port
if port == "*":
server = JavaServer.lookup(ip)
else:
server = JavaServer.lookup(ip + ":" + port)
try:
server.query(query_port=int(q_port))
query = True
except:
print("Query port is wrong or query is disabled.")
query = False
if port == "*":
while True:
status = server.status()
query = server.query()
ping = server.ping()
# for every if statement here, print query fetched information only if query is enabled
if query:
print("---------- " + ip + ":" + f"{query.raw['hostport']}" + " ----------")
else:
print("---------- " + ip + ":" + port + " ----------")
print(f"Version: v{status.version.name} (protocol {status.version.protocol})")
print(f'Description: "{status.description}"')
if query:
print(f"Host: {query.raw['hostip']}:{query.raw['hostport']}")
print(f"Software: v{query.software.version} {query.software.brand}")
print(f"Plugins: {query.software.plugins}")
print(f"Ping: {ping} ms")
print(f"Players: {status.players.online}/{status.players.max}")
if query:
print(f"Players Online: {query.players.names}")
print("\n")
sleep(delay_int)
@ -46,12 +67,17 @@ if port != "*":
print(f"Version: v{status.version.name} (protocol {status.version.protocol})")
print(f'Description: "{status.description}"')
if query:
print(f"Host: {query.raw['hostip']}:{query.raw['hostport']}")
print(f"Software: v{query.software.version} {query.software.brand}")
print(f"Plugins: {query.software.plugins}")
print(f"Ping: {ping} ms")
print(f"Players: {status.players.online}/{status.players.max}")
if query:
print(f"Players Online: {query.players.names}")
print("\n")
sleep(delay_int)