[+] Heavier modpack supports

Merge pull request #33 from hubHarmony/plugin-management-system
This commit is contained in:
charleslemaux 2024-09-19 12:26:55 +02:00 committed by GitHub
commit 48941b8e42
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 10 deletions

11
app.py
View File

@ -1,5 +1,4 @@
import argparse import argparse
import atexit
import http import http
import inspect import inspect
import os import os
@ -9,6 +8,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
from firebase_admin.auth import UserNotFoundError, UserRecord from firebase_admin.auth import UserNotFoundError, UserRecord
from flask import (Blueprint, Flask, Response, jsonify, request) from flask import (Blueprint, Flask, Response, jsonify, request)
from flask_cors import CORS from flask_cors import CORS
from werkzeug import run_simple
from werkzeug.datastructures import ImmutableMultiDict, FileStorage from werkzeug.datastructures import ImmutableMultiDict, FileStorage
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
@ -179,22 +179,21 @@ def upload():
return generic_response_maker(http.HTTPStatus.OK, "Successfully uploaded files !") return generic_response_maker(http.HTTPStatus.OK, "Successfully uploaded files !")
def exit_safety() -> None: def api_cleanup() -> None:
firebase_manager.set_servers_not_running() firebase_manager.set_servers_not_running()
return return
app.register_blueprint(apiBP) app.register_blueprint(apiBP)
if __name__ == '__main__': if __name__ == '__main__':
parser = argparse.ArgumentParser(description="Background Scheduler") parser = argparse.ArgumentParser(description="Background Scheduler")
parser.add_argument('--interval', type=int, default=10, help="Interval in minutes") parser.add_argument('--interval', type=int, default=10, help="Interval in minutes")
args = parser.parse_args() args = parser.parse_args()
atexit.register(exit_safety)
scheduler = BackgroundScheduler() scheduler = BackgroundScheduler()
scheduler.add_job(generic_executor.scheduled_actions, 'interval', minutes=args.interval) scheduler.add_job(generic_executor.scheduled_actions, 'interval', minutes=args.interval)
scheduler.start() scheduler.start()
app.run(host='0.0.0.0', port=3000, debug=False) run_simple('0.0.0.0', 3000, app, use_debugger=False, use_reloader=False)
api_cleanup()

View File

@ -36,10 +36,12 @@ class MinecraftServerManager:
" -XX:MaxTenuringThreshold=1 -Daikars.new.flags=true" " -XX:MaxTenuringThreshold=1 -Daikars.new.flags=true"
" -Dusing.aikars.flags=https://mcutils.com") " -Dusing.aikars.flags=https://mcutils.com")
java: str = f"/usr/lib/jvm/java-{get_sdk_version(version)}-openjdk-amd64/bin/java" command: str
if not modded:
java: str = f"/usr/lib/jvm/java-{get_sdk_version(version)}-openjdk-amd64/bin/java"
command = f"{java} -Xmx{memory_size} {reg_flags} -jar {jar_file} --nogui" command = f"{java} -Xmx{memory_size} {reg_flags} -jar {jar_file} --nogui"
if modded: else:
command = "./start.sh" command = "./start.sh"
process = subprocess.Popen(shlex.split(command), cwd=server_directory, stdin=subprocess.PIPE) process = subprocess.Popen(shlex.split(command), cwd=server_directory, stdin=subprocess.PIPE)