diff --git a/installer/olympus.iss b/installer/olympus.iss index 40cf6261..843777c1 100644 --- a/installer/olympus.iss +++ b/installer/olympus.iss @@ -46,11 +46,11 @@ Source: "..\img\olympus_configurator.ico"; DestDir: "{app}\Mods\Services\Olympus Source: "..\img\configurator_logo.png"; DestDir: "{app}\Mods\Services\Olympus\img"; Flags: ignoreversion; Source: "{#nwjsFolder}\*.*"; DestDir: "{app}\Mods\Services\Olympus\client"; Flags: ignoreversion recursesubdirs; Check: CheckLocalInstall Source: "{#nodejsFolder}\*.*"; DestDir: "{app}\Mods\Services\Olympus\client"; Flags: ignoreversion recursesubdirs; Check: CheckServerInstall -Source: "..\scripts\python\configurator\dist\configurator.exe"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion; +Source: "..\configurator\x64\Release\configurator.exe"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion; Source: "..\LEGAL"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion; [Run] -Filename: "{app}\Mods\Services\Olympus\configurator.exe"; Parameters: -a {code:GetAddress} -c {code:GetClientPort} -b {code:GetBackendPort} -p {code:GetPassword} -bp {code:GetBluePassword} -rp {code:GetRedPassword}; Check: CheckCallConfigurator +Filename: "{app}\Mods\Services\Olympus\configurator.exe"; Parameters: -a {code:GetAddress} -c {code:GetClientPort} -b {code:GetBackendPort} -p {code:GetPassword} --bp {code:GetBluePassword} --rp {code:GetRedPassword}; Check: CheckCallConfigurator [Icons] Name: "{userdesktop}\DCS Olympus Client"; Filename: "{app}\Mods\Services\Olympus\client\nw.exe"; Tasks: desktopicon; IconFilename: "{app}\Mods\Services\Olympus\img\olympus.ico"; Check: CheckLocalInstall diff --git a/scripts/python/__pycache__/weapons_data.cpython-37.pyc b/scripts/python/__pycache__/weapons_data.cpython-37.pyc deleted file mode 100644 index cb503ac1..00000000 Binary files a/scripts/python/__pycache__/weapons_data.cpython-37.pyc and /dev/null differ diff --git a/scripts/python/configurator/build_configurator.bat b/scripts/python/configurator/build_configurator.bat deleted file mode 100644 index 8377f8b3..00000000 --- a/scripts/python/configurator/build_configurator.bat +++ /dev/null @@ -1,5 +0,0 @@ -python -m venv venv -call ./venv/Scripts/activate -pip install pyinstaller -pip install PySimpleGUI -python -m PyInstaller configurator.py --onefile --noconsole \ No newline at end of file diff --git a/scripts/python/configurator/configurator.py b/scripts/python/configurator/configurator.py deleted file mode 100644 index 04e4e189..00000000 --- a/scripts/python/configurator/configurator.py +++ /dev/null @@ -1,136 +0,0 @@ -import argparse, json -import PySimpleGUI as sg -import hashlib - -# Apply the values to the olympus.json config file -def apply_values(args): - with open("olympus.json", "r") as fp: - config = json.load(fp) - - if args.address is not None and args.address != "": - config["server"]["address"] = args.address - print(f"Address set to {args.address}") - else: - print("No address provided, skipping...") - - if args.backendPort is not None and args.backendPort != "": - # The backend port must be a numerical value - if args.backendPort.isdecimal(): - config["server"]["port"] = int(args.backendPort) - print(f"Backend port set to {args.backendPort}") - else: - print(f"Invalid backend port provided: {args.backendPort}") - else: - print("No backend port provided, skipping...") - - if args.clientPort is not None and args.clientPort != "": - # The client port must be a numerical value - if args.clientPort.isdecimal(): - config["client"]["port"] = int(args.clientPort) - print(f"Client port set to {args.clientPort}") - else: - print(f"Invalid client port provided: {args.clientPort}") - else: - print("No client port provided, skipping...") - - if args.password is not None and args.password != "": - config["authentication"]["gameMasterPassword"] = hashlib.sha256(args.password.encode()).hexdigest() - print(f"Game Master password set to {args.password}") - else: - print("No Game Master password provided, skipping...") - - if args.bluePassword is not None and args.bluePassword != "": - config["authentication"]["blueCommanderPassword"] = hashlib.sha256(args.bluePassword.encode()).hexdigest() - print(f"Blue Commander password set to {args.bluePassword}") - else: - print("No Blue Commander password provided, skipping...") - - if args.redPassword is not None and args.redPassword != "": - config["authentication"]["redCommanderPassword"] = hashlib.sha256(args.redPassword.encode()).hexdigest() - print(f"Red Commander password set to {args.redPassword}") - else: - print("No Red Commander password provided, skipping...") - - with open("olympus.json", "w") as fp: - json.dump(config, fp, indent = 4) - -def main(): - # Parse the input arguments - parser = argparse.ArgumentParser( - prog="DCS Olympus configurator", - description="This software allows to edit the DCS Olympus configuration file", - epilog="") - - parser.add_argument("-a", "--address") - parser.add_argument("-c", "--clientPort") - parser.add_argument("-b", "--backendPort") - parser.add_argument("-p", "--password") - parser.add_argument("-bp", "--bluePassword") - parser.add_argument("-rp", "--redPassword") - - args = parser.parse_args() - - # If no argument was provided, start the GUI - if args.address is None and \ - args.backendPort is None and \ - args.clientPort is None and \ - args.password is None and \ - args.bluePassword is None and \ - args.redPassword is None: - print(f"No arguments provided, starting in graphical mode") - - with open("olympus.json", "r") as fp: - config = json.load(fp) - - old_values = {} - window = sg.Window("DCS Olympus configurator", - [[sg.T("DCS Olympus configurator", font=("Helvetica", 14, "bold")), sg.Push(), sg.Image(".\\img\\configurator_logo.png", size = (50, 50))], - [sg.T("")], - [sg.T("Address"), sg.Push(), sg.In(size=(30, 10), default_text=config["server"]["address"], key="address")], - [sg.T("Webserver port"), sg.Push(), sg.In(size=(30, 10), default_text=config["client"]["port"], key="clientPort", enable_events=True)], - [sg.T("Backend port"), sg.Push(), sg.In(size=(30, 10), default_text=config["server"]["port"], key="backendPort", enable_events=True)], - [sg.T("Game Master password"), sg.Push(), sg.In(size=(30, 10), password_char="*", key="password")], - [sg.T("Blue Commander password"), sg.Push(), sg.In(size=(30, 10), password_char="*", key="bluePassword")], - [sg.T("Red Commander password"), sg.Push(), sg.In(size=(30, 10), password_char="*", key="redPassword")], - [sg.T("Note: Empty fields will retain their original values")], - [sg.T("")], - [sg.B("Apply"), sg.B("Exit"), sg.T("Remember to restart DCS Server and any running mission", font=("Helvetica", 10, "bold"))]], - icon = ".\\img\\olympus_configurator.ico") - - while True: - event, values = window.read() - - # The backend and client ports must be numerical. Enforce it. - if event == "backendPort": - if values["backendPort"].isdecimal() or values["backendPort"] == "": - old_values["backendPort"] = values["backendPort"] - else: - window["backendPort"].update(old_values["backendPort"] if "backendPort" in old_values else config["server"]["port"]) - - if event == "clientPort": - if values["clientPort"].isdecimal() or values["clientPort"] == "": - old_values["clientPort"] = values["clientPort"] - else: - window["clientPort"].update(old_values["clientPort"] if "clientPort" in old_values else config["client"]["port"]) - - # Update the config file - if event == "Apply": - args.address = values["address"] - args.backendPort = values["backendPort"] - args.clientPort = values["clientPort"] - args.password = values["password"] - args.bluePassword = values["bluePassword"] - args.redPassword = values["redPassword"] - apply_values(args) - sg.Popup("DCS Olympus configuration updated") - - if event == sg.WIN_CLOSED or event == "Exit": - window.close() - break - - # If any argument was provided, run in headless mode - else: - apply_values(args) - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/scripts/python/configurator/configurator.spec b/scripts/python/configurator/configurator.spec deleted file mode 100644 index c30c0038..00000000 --- a/scripts/python/configurator/configurator.spec +++ /dev/null @@ -1,37 +0,0 @@ -# -*- mode: python ; coding: utf-8 -*- - - -a = Analysis( - ['configurator.py'], - pathex=[], - binaries=[], - datas=[], - hiddenimports=[], - hookspath=[], - hooksconfig={}, - runtime_hooks=[], - excludes=[], - noarchive=False, -) -pyz = PYZ(a.pure) - -exe = EXE( - pyz, - a.scripts, - a.binaries, - a.datas, - [], - name='configurator', - debug=False, - bootloader_ignore_signals=False, - strip=False, - upx=True, - upx_exclude=[], - runtime_tmpdir=None, - console=False, - disable_windowed_traceback=False, - argv_emulation=False, - target_arch=None, - codesign_identity=None, - entitlements_file=None, -)