Added console

This commit is contained in:
Malasaur 2025-09-03 14:32:26 +02:00
parent b901e93c12
commit a4129f1fab
3 changed files with 138 additions and 0 deletions

37
console.py Normal file
View file

@ -0,0 +1,37 @@
from os import environ
from threading import Lock, Thread
from sseclient import SSEClient
from dotenv import load_dotenv
from requests import post
load_dotenv()
MCSMGR_ADDRESS = environ.get("MCSMGR_ADDRESS", "http://localhost:8000")
MCSMGR_PASSWORD = environ.get("MCSMGR_PASSWORD", "SuperSecretPassword")
MINECRAFT_SERVER_COMMAND = environ.get(
"MINECRAFT_SERVER_COMMAND", "java -jar fabric.jar nogui")
MINECRAFT_SERVER_ADDRESS = environ.get("MINECRAFT_SERVER_ADDRESS", "localhost")
MINECRAFT_SERVER_RCON_PORT = int(
environ.get("MINECRAFT_SERVER_RCON_PORT", "25575"))
MINECRAFT_SERVER_RCON_PASSWORD = environ.get(
"MINECRAFT_SERVER_RCON_PASSWORD", "SuperSecretPassword")
post(MCSMGR_ADDRESS+"/start")
def logger():
for msg in SSEClient(MCSMGR_ADDRESS+"/logs", json={"password": MCSMGR_PASSWORD}):
print(msg.data)
t = Thread(target=logger, daemon=True)
t.start()
try:
while True:
cmd = input()
response = post(MCSMGR_ADDRESS+"/command", json={
"password": MCSMGR_PASSWORD, "cmd": cmd})
print(eval(response.text).rstrip("\n"))
except (KeyboardInterrupt, EOFError):
t.join()