From c24c4ca6fb48f43bac211be568bae7a82cdbe2ac Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT Date: Thu, 19 Mar 2026 17:02:54 -0700 Subject: [PATCH 01/12] fix build targets? --- publish.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/publish.py b/publish.py index 08d0b87c..a3e2b1a6 100755 --- a/publish.py +++ b/publish.py @@ -40,17 +40,17 @@ def publish_windows(x64_only: bool): clear_prev_publish("Windows") - dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "win-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true") - dotnet_publish("SS14.Loader/SS14.Loader.csproj", "win-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true") + dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "win-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Windows") + dotnet_publish("SS14.Loader/SS14.Loader.csproj", "win-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Windows") if os.name == 'nt': - dotnet_publish("SS14.Launcher.Bootstrap/SS14.Launcher.Bootstrap.csproj", "win-x64", True, "/p:FullRelease=True", "/p:RobustILLink=true") + dotnet_publish("SS14.Launcher.Bootstrap/SS14.Launcher.Bootstrap.csproj", "win-x64", True, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Windows") safe_set_subsystem(f"SS14.Launcher/bin/Release/{TFM}/win-x64/publish/SS14.Launcher.exe") safe_set_subsystem(f"SS14.Loader/bin/Release/{TFM}/win-x64/publish/SS14.Loader.exe") if not x64_only: - dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "win-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true") - dotnet_publish("SS14.Loader/SS14.Loader.csproj", "win-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true") + dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "win-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Windows") + dotnet_publish("SS14.Loader/SS14.Loader.csproj", "win-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Windows") safe_set_subsystem(f"SS14.Launcher/bin/Release/{TFM}/win-arm64/publish/SS14.Launcher.exe") safe_set_subsystem(f"SS14.Loader/bin/Release/{TFM}/win-arm64/publish/SS14.Loader.exe") @@ -87,12 +87,12 @@ def publish_linux(x64_only: bool): os.makedirs("bin/publish/Linux", exist_ok=True) - dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "linux-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true") - dotnet_publish("SS14.Loader/SS14.Loader.csproj", "linux-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true") + dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "linux-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Linux") + dotnet_publish("SS14.Loader/SS14.Loader.csproj", "linux-x64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Linux") if not x64_only: - dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "linux-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true") - dotnet_publish("SS14.Loader/SS14.Loader.csproj", "linux-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true") + dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", "linux-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Linux") + dotnet_publish("SS14.Loader/SS14.Loader.csproj", "linux-arm64", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=Linux") os.makedirs("bin/publish/Linux/bin_x64/loader", exist_ok=True) os.makedirs("bin/publish/Linux/dotnet_x64", exist_ok=True) @@ -129,8 +129,8 @@ def publish_osx(): for arch in ["x64", "arm64"]: full_arch_name = "x86_64" if arch == "x64" else arch - dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", f"osx-{arch}", False, "/p:FullRelease=True", "/p:RobustILLink=true") - dotnet_publish("SS14.Loader/SS14.Loader.csproj", f"osx-{arch}", False, "/p:FullRelease=True", "/p:RobustILLink=true") + dotnet_publish("SS14.Launcher/SS14.Launcher.csproj", f"osx-{arch}", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=MacOS") + dotnet_publish("SS14.Loader/SS14.Loader.csproj", f"osx-{arch}", False, "/p:FullRelease=True", "/p:RobustILLink=true", "/p:TargetOS=MacOS") shutil.copytree(f"SS14.Launcher/bin/Release/{TFM}/osx-{arch}/publish", f"{res_root}/{full_arch_name}/bin", dirs_exist_ok=True) shutil.copytree(f"SS14.Loader/bin/Release/{TFM}/osx-{arch}/publish", f"{loader_res_root}/{full_arch_name}/bin", dirs_exist_ok=True) From 7e9a234c0ab6df423549fd4b37f021a1591eba8a Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT Date: Thu, 19 Mar 2026 17:13:41 -0700 Subject: [PATCH 02/12] temp publish changes --- .github/workflows/publish-release.yml | 111 +++++++++++++------------- 1 file changed, 57 insertions(+), 54 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 7bc53955..105e4a96 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -31,7 +31,7 @@ jobs: build: runs-on: ubuntu-latest - needs: build-windows-bootstrap + # needs: build-windows-bootstrap steps: - name: Checkout code @@ -45,56 +45,59 @@ jobs: dotnet-version: 10.0.x - name: Create build (macOS & Linux) - run: ./publish.py osx linux - - - name: Download Windows Bootstrap - uses: actions/download-artifact@v5 - with: - name: "bootstrap" - - - name: Create build (Windows) - run: ./publish.py windows --x64-only - - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: Release ${{ github.ref }} - draft: false - prerelease: ${{ contains(github.ref, 'pre') }} - - # Upload Linux - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./SS14.Launcher_Linux.zip - asset_name: SS14.Launcher_Linux.zip - asset_content_type: application/zip - - # Upload Windows - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./SS14.Launcher_Windows.zip - asset_name: SS14.Launcher_Windows.zip - asset_content_type: application/zip - - # Upload macOS - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./SS14.Launcher_macOS.zip - asset_name: SS14.Launcher_macOS.zip - asset_content_type: application/zip + run: ./publish.py osx # linux + + - name: Debug show files + run: ls -R bin/** + + # - name: Download Windows Bootstrap + # uses: actions/download-artifact@v5 + # with: + # name: "bootstrap" + + # - name: Create build (Windows) + # run: ./publish.py windows --x64-only + + # - name: Create Release + # id: create_release + # uses: actions/create-release@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # tag_name: ${{ github.ref }} + # release_name: Release ${{ github.ref }} + # draft: false + # prerelease: ${{ contains(github.ref, 'pre') }} + + # # Upload Linux + # - name: Upload Release Asset + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # asset_path: ./SS14.Launcher_Linux.zip + # asset_name: SS14.Launcher_Linux.zip + # asset_content_type: application/zip + + # # Upload Windows + # - name: Upload Release Asset + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # asset_path: ./SS14.Launcher_Windows.zip + # asset_name: SS14.Launcher_Windows.zip + # asset_content_type: application/zip + + # # Upload macOS + # - name: Upload Release Asset + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # asset_path: ./SS14.Launcher_macOS.zip + # asset_name: SS14.Launcher_macOS.zip + # asset_content_type: application/zip From 744fbb3ff3cb802fc81e7eef8f77124969464be5 Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT Date: Thu, 19 Mar 2026 17:14:38 -0700 Subject: [PATCH 03/12] r --- .github/workflows/publish-release.yml | 40 +++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 105e4a96..a19eb251 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -58,16 +58,16 @@ jobs: # - name: Create build (Windows) # run: ./publish.py windows --x64-only - # - name: Create Release - # id: create_release - # uses: actions/create-release@v1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # with: - # tag_name: ${{ github.ref }} - # release_name: Release ${{ github.ref }} - # draft: false - # prerelease: ${{ contains(github.ref, 'pre') }} + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false + prerelease: ${{ contains(github.ref, 'pre') }} # # Upload Linux # - name: Upload Release Asset @@ -91,13 +91,13 @@ jobs: # asset_name: SS14.Launcher_Windows.zip # asset_content_type: application/zip - # # Upload macOS - # - name: Upload Release Asset - # uses: actions/upload-release-asset@v1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # with: - # upload_url: ${{ steps.create_release.outputs.upload_url }} - # asset_path: ./SS14.Launcher_macOS.zip - # asset_name: SS14.Launcher_macOS.zip - # asset_content_type: application/zip + # Upload macOS + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./SS14.Launcher_macOS.zip + asset_name: SS14.Launcher_macOS.zip + asset_content_type: application/zip From 1dd6de526b4aa7159b9e417c2a8672ec2bd5f54e Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT Date: Thu, 19 Mar 2026 17:16:37 -0700 Subject: [PATCH 04/12] rr --- .github/workflows/publish-release.yml | 44 +++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index a19eb251..5792764f 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -6,28 +6,28 @@ on: - 'v*' jobs: - build-windows-bootstrap: - runs-on: windows-2022 - - steps: - - uses: actions/checkout@v3 - with: - submodules: false - - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - - name: Publish bootstrap - working-directory: SS14.Launcher.Bootstrap - run: dotnet publish -r win-x64 - - - uses: actions/upload-artifact@v4 - with: - name: "bootstrap" - retention-days: 1 - path: "SS14.Launcher.Bootstrap/bin/Release/net10.0-windows/win-x64/publish/SimpleStation14 Launcher.exe" + # build-windows-bootstrap: + # runs-on: windows-2022 + + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: false + + # - name: Setup .NET + # uses: actions/setup-dotnet@v3 + # with: + # dotnet-version: 10.0.x + + # - name: Publish bootstrap + # working-directory: SS14.Launcher.Bootstrap + # run: dotnet publish -r win-x64 + + # - uses: actions/upload-artifact@v4 + # with: + # name: "bootstrap" + # retention-days: 1 + # path: "SS14.Launcher.Bootstrap/bin/Release/net10.0-windows/win-x64/publish/SimpleStation14 Launcher.exe" build: runs-on: ubuntu-latest From b7da8aa57491747495b22ee48f95444de3143673 Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT Date: Thu, 19 Mar 2026 17:25:56 -0700 Subject: [PATCH 05/12] fix macos start script --- .../SimpleStation14 Launcher.app/Contents/MacOS/SS14 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/PublishFiles/SimpleStation14 Launcher.app/Contents/MacOS/SS14 b/PublishFiles/SimpleStation14 Launcher.app/Contents/MacOS/SS14 index 9e8dbec0..57b92c00 100755 --- a/PublishFiles/SimpleStation14 Launcher.app/Contents/MacOS/SS14 +++ b/PublishFiles/SimpleStation14 Launcher.app/Contents/MacOS/SS14 @@ -7,6 +7,11 @@ cd "$BASEDIR" mkdir -p "$HOME/Library/Application Support/SimpleStation14" -export DOTNET_ROOT="$(pwd)/../Resources/dotnet" +ARCH=$(uname -m) -exec ../Resources/bin/SS14.Launcher "$@" > "$HOME/Library/Application Support/SimpleStation14/launcher.log" +export DOTNET_ROOT="$(pwd)/../Resources/$ARCH/dotnet" + +# Why do we invoke dotnet with the dll, instead of the apphost? +# Because for some reason, the ARM64 apphost is broken when published by GitHub Actions. +# Idk dude. This works. +exec "$DOTNET_ROOT/dotnet" ../Resources/$ARCH/bin/SS14.Launcher.dll "$@" > "$HOME/Library/Application Support/SimpleStation14/launcher.log" From 2f00000c3800db50096e9664c81b9b91015b5966 Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT Date: Thu, 19 Mar 2026 17:37:49 -0700 Subject: [PATCH 06/12] fix path typoes --- SS14.Launcher/Models/Connector.cs | 2 +- SS14.Loader/Program.cs | 2 +- publish.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SS14.Launcher/Models/Connector.cs b/SS14.Launcher/Models/Connector.cs index 99880569..e3bd7024 100644 --- a/SS14.Launcher/Models/Connector.cs +++ b/SS14.Launcher/Models/Connector.cs @@ -763,7 +763,7 @@ private static async Task GetLoaderStartInfo() { if (release) { - var appPath = Path.Combine(basePath, "SimpleStation14.app"); + var appPath = Path.Combine(basePath, "SimpleStation14 Launcher.app"); Log.Debug("Using app bundle: {appPath}", appPath); Log.Debug("Clearing quarantine on loader."); diff --git a/SS14.Loader/Program.cs b/SS14.Loader/Program.cs index 2e973433..e6c8af9d 100644 --- a/SS14.Loader/Program.cs +++ b/SS14.Loader/Program.cs @@ -43,7 +43,7 @@ private Program(string robustPath, string[] engineArgs) var prefix = ""; if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - prefix = "SimpleStation14.app/Contents/Resources/"; + prefix = "SimpleStation14 Launcher.app/Contents/Resources/"; } _fileApi = new ZipFileApi(zipArchive, prefix); diff --git a/publish.py b/publish.py index a3e2b1a6..498059b6 100755 --- a/publish.py +++ b/publish.py @@ -125,7 +125,7 @@ def publish_osx(): res_root = "bin/publish/macOS/SimpleStation14 Launcher.app/Contents/Resources" - loader_res_root = f"{res_root}/SimpleStation14.app/Contents/Resources" + loader_res_root = f"{res_root}/SimpleStation14 Launcher.app/Contents/Resources" for arch in ["x64", "arm64"]: full_arch_name = "x86_64" if arch == "x64" else arch From f79d88cfa2944a041cd7b5d0f031bd2738113efc Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT Date: Thu, 19 Mar 2026 17:52:36 -0700 Subject: [PATCH 07/12] fix loader names --- .../Contents/Info.plist | 2 +- .../Contents/Info.plist | 0 .../Contents/MacOS/SS14 | 0 .../Contents/Resources/ss14.icns | Bin 0 -> 22584 bytes .../Contents/Resources/ss14.icns | Bin 167111 -> 0 bytes .../Contents/Resources/ss14.icns | Bin 167111 -> 22584 bytes SS14.Launcher/Models/Connector.cs | 2 +- SS14.Loader/Program.cs | 2 +- publish.py | 2 +- 9 files changed, 4 insertions(+), 4 deletions(-) rename PublishFiles/SimpleStation14 Launcher.app/Contents/Resources/bin/loader/{Space Station 14.app => SimpleStation14.app}/Contents/Info.plist (100%) rename PublishFiles/SimpleStation14 Launcher.app/Contents/Resources/bin/loader/{Space Station 14.app => SimpleStation14.app}/Contents/MacOS/SS14 (100%) create mode 100644 PublishFiles/SimpleStation14 Launcher.app/Contents/Resources/bin/loader/SimpleStation14.app/Contents/Resources/ss14.icns delete mode 100644 PublishFiles/SimpleStation14 Launcher.app/Contents/Resources/bin/loader/Space Station 14.app/Contents/Resources/ss14.icns diff --git a/PublishFiles/SimpleStation14 Launcher.app/Contents/Info.plist b/PublishFiles/SimpleStation14 Launcher.app/Contents/Info.plist index c11b0da2..d9e42edb 100644 --- a/PublishFiles/SimpleStation14 Launcher.app/Contents/Info.plist +++ b/PublishFiles/SimpleStation14 Launcher.app/Contents/Info.plist @@ -5,7 +5,7 @@ CFBundleName SS14L CFBundleDisplayName - SimpleStation14 Launcher + SimpleStation14 CFBundleExecutable SS14