Hilfe beim Stoppen eines Minecraft-Servers über ein Python-Skript
Verfasst: Montag 30. Dezember 2024, 22:16
Hallo zusammen,
ich versuche, ein Python-Skript zu erstellen, mit dem ich eine Schnittstelle zur Minecraft-Server-Konsole habe. Der Server wird derzeit wie folgt gestartet:
Jetzt möchte ich den Server stoppen. Wenn ich jedoch denselben Subprozess über die subprocess_server-Variable aufrufe und versuche, einen "stop"-Befehl auszuführen, passiert nichts.
Hat jemand von euch eine Idee, wie ich das erreichen kann?
ich versuche, ein Python-Skript zu erstellen, mit dem ich eine Schnittstelle zur Minecraft-Server-Konsole habe. Der Server wird derzeit wie folgt gestartet:
Code: Alles auswählen
def start_server(server_name, install_dir="servers"):
global subprocess_server
server_path = os.path.join(install_dir, server_name)
# Ensure the start script exists
run_script = "run.bat" if os.name == 'nt' else "run.sh"
run_script_path = os.path.join(server_path, run_script)
if not os.path.exists(run_script_path):
print(f"Error: {run_script} not found. Ensure the server is correctly installed.")
return False
# Start the server
try:
if os.name == 'nt': # Windows
subprocess_server = subprocess.Popen(
["cmd", "/c", "start", "cmd", "/k", run_script],
cwd=server_path
)
else: # Unix-based systems
subprocess_server = subprocess.Popen(
["bash", run_script],
cwd=server_path,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)
print(f"Server '{server_name}' started.")
return True
except Exception as e:
print(f"Error starting the server: {e}")
return False
Hat jemand von euch eine Idee, wie ich das erreichen kann?