diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 68a6797ec..ec4bf66ac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -198,8 +198,8 @@ jobs: - name: Copy packaging files to BepInEx config run: | - cp -rf packaging/* epic/ - cp -rf packaging/* steam/ + cp -rf packaging-epic/* epic/ + cp -rf packaging-steam/* steam/ - name: Steam App ID run : echo "945360" > steam/steam_appid.txt diff --git a/.github/workflows/release_without_crowdin.yml b/.github/workflows/release_without_crowdin.yml deleted file mode 100644 index 4bb36b783..000000000 --- a/.github/workflows/release_without_crowdin.yml +++ /dev/null @@ -1,252 +0,0 @@ -name: Build & Release EHR Without Crowdin Updates - -on: - workflow_dispatch: - inputs: - version: - description: "Version (e.g. 7.0.2)" - required: true - -jobs: - - # --------------------------------------------------------- - # 1) Build EHR on Linux - # --------------------------------------------------------- - build-ehr: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 6.0.x - - - name: Build EHR - run: dotnet build EHR.csproj -c Release -o build/ - - - name: Upload EHR artifact - uses: actions/upload-artifact@v4 - with: - name: ehr - path: build/EHR.dll - - # --------------------------------------------------------- - # 2) Build Control Panel on Windows using MSBuild - # --------------------------------------------------------- - build-control-panel: - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 6.0.x - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v2 - - - name: Restore .NET packages - run: dotnet restore -p:SelfContained=true CTA/CustomTeamAssigner/CustomTeamAssigner.csproj - - - name: Build Control Panel (MSBuild) - run: | - msbuild CTA/CustomTeamAssigner/CustomTeamAssigner.csproj ` - /p:Configuration=Release ` - /p:Platform="x64" ` - /p:PublishSingleFile=true ` - /p:SelfContained=true ` - /p:RuntimeIdentifier=win-x64 ` - /p:IncludeAllContentForSelfExtract=true ` - /p:DebugType=None ` - /p:PublishDir=build\ ` - /t:publish - - - name: Rename exe file - run: | - mkdir build/ - mv CTA/CustomTeamAssigner/build/CustomTeamAssigner.exe build/EHR_Control-Panel_BETA.exe - - - name: Upload Control Panel artifact - uses: actions/upload-artifact@v4 - with: - name: control-panel - path: build\EHR_Control-Panel_BETA.exe - - # --------------------------------------------------------- - # 3) Sign binaries using SignPath - # --------------------------------------------------------- - sign: - runs-on: ubuntu-latest - needs: [build-ehr, build-control-panel] - - steps: - - name: Download EHR - uses: actions/download-artifact@v4 - with: - name: ehr - path: signing - - - name: Download Control Panel - uses: actions/download-artifact@v4 - with: - name: control-panel - path: signing - - - name: Create SignPath ZIP - run: | - cd signing - zip ../signpath-input.zip EHR.dll EHR_Control-Panel_BETA.exe - - - name: Upload unsigned artifact - id: upload-unsigned-artifact - uses: actions/upload-artifact@v4 - with: - name: signpath-input - path: signpath-input.zip - - - name: Submit signing request - uses: signpath/github-action-submit-signing-request@v2 - with: - api-token: ${{ secrets.SIGNPATH_API_TOKEN }} - organization-id: 298f5e96-d02b-40b5-88f6-32bddafcd47d - project-slug: EndlessHostRoles - signing-policy-slug: test-signing - artifact-configuration-slug: initial - github-artifact-id: ${{ steps.upload-unsigned-artifact.outputs.artifact-id }} - wait-for-completion: true - output-artifact-directory: signed - - - name: Extract signed ZIP - run: | - mkdir extracted - unzip signed/*.zip -d extracted - - - name: Upload signed binaries - uses: actions/upload-artifact@v4 - with: - name: signed-binaries - path: extracted/* - - # --------------------------------------------------------- - # 4) Package everything on Linux - # --------------------------------------------------------- - package: - runs-on: ubuntu-latest - needs: [sign] - - steps: - - uses: actions/checkout@v4 - - - name: Download signed binaries - uses: actions/download-artifact@v4 - with: - name: signed-binaries - path: artifacts/signed - - - name: Prepare release folders - run: | - mkdir -p epic - mkdir -p steam - - - name: Download BepInEx 6 pre-release 735 - run: | - curl -L https://builds.bepinex.dev/projects/bepinex_be/735/BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.735%2B5fef357.zip -o bepinex-x64.zip - unzip bepinex-x64.zip -d epic - chmod -R u+rwX,go+rX epic - curl -L https://builds.bepinex.dev/projects/bepinex_be/735/BepInEx-Unity.IL2CPP-win-x86-6.0.0-be.735%2B5fef357.zip -o bepinex-x86.zip - unzip bepinex-x86.zip -d steam - chmod -R u+rwX,go+rX steam - - - name: Copy EHR dll to plugins - run: | - cp artifacts/signed/EHR.dll epic/BepInEx/plugins/ - cp artifacts/signed/EHR.dll steam/BepInEx/plugins/ - - - name: Download modded regions DLL - run: | - curl -L https://github.com/miniduikboot/Mini.RegionInstall/releases/download/v1.2.0/Mini.RegionInstall.dll -o epic/BepInEx/plugins/Mini.RegionInstall.dll - cp epic/BepInEx/plugins/Mini.RegionInstall.dll steam/BepInEx/plugins/Mini.RegionInstall.dll - - - name: Copy packaging files to BepInEx config - run: | - cp -r packaging/* epic/ - cp -r packaging/* steam/ - - - name: Steam App ID - run : echo "945360" > steam/steam_appid.txt - - - name: Create Epic/MS Store ZIP - run: | - cd epic - zip -r "../EHR.v${{ github.event.inputs.version }}_Epic-Games_Microsoft-Store.zip" . - - - name: Create Steam ZIP - run: | - cd steam - zip -r "../EHR.v${{ github.event.inputs.version }}_Steam.zip" . - - - name: Upload release artifacts - uses: actions/upload-artifact@v4 - with: - name: final-zips - path: ./EHR*.zip - - # --------------------------------------------------------- - # 5) Create GitHub Release - # --------------------------------------------------------- - release: - runs-on: ubuntu-latest - needs: [package] - - steps: - - uses: actions/checkout@v4 - - # ----------------------------- - # Download all artifacts - # ----------------------------- - - name: Download packaged ZIPs - uses: actions/download-artifact@v4 - with: - name: final-zips - path: release-artifacts/zips - - - name: Download signed binaries - uses: actions/download-artifact@v4 - with: - name: signed-binaries - path: release-artifacts/signed - - # ----------------------------- - # Create GitHub Release - # ----------------------------- - - name: Create Release - uses: softprops/action-gh-release@v2 - with: - tag_name: "v${{ github.event.inputs.version }}" - name: "EHR v${{ github.event.inputs.version }}" - generate_release_notes: true - body_path: CHANGELOG.md - files: | - release-artifacts/zips/* - release-artifacts/signed/EHR.dll - release-artifacts/signed/*.exe - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # ----------------------------- - # Send Mod News - # ----------------------------- - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: 3.x - - - name: Install dependencies - run: pip install requests markdown - - - name: Run script and send ModNews - env: - MODNEWS_API_URL: ${{ secrets.MODNEWS_API_URL }} - MODNEWS_API_TOKEN: ${{ secrets.MODNEWS_API_TOKEN }} - run: python release_to_modnews.py diff --git a/.github/workflows/signing_test.yml b/.github/workflows/signing_test.yml deleted file mode 100644 index 97505a596..000000000 --- a/.github/workflows/signing_test.yml +++ /dev/null @@ -1,130 +0,0 @@ -name: Test Artifact Signing - -on: - workflow_dispatch: - inputs: - version: - description: "Version (e.g. 7.0.2)" - required: true - -jobs: - - # --------------------------------------------------------- - # 1) Build EHR on Linux - # --------------------------------------------------------- - build-ehr: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 6.0.x - - - name: Build EHR - run: dotnet build EHR.csproj -c Release -o build/ - - - name: Upload EHR artifact - uses: actions/upload-artifact@v4 - with: - name: ehr - path: build/EHR.dll - - # --------------------------------------------------------- - # 2) Build Control Panel on Windows using MSBuild - # --------------------------------------------------------- - build-control-panel: - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 6.0.x - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v2 - - - name: Restore .NET packages - run: dotnet restore -p:SelfContained=true CTA/CustomTeamAssigner/CustomTeamAssigner.csproj - - - name: Build Control Panel (MSBuild) - run: | - msbuild CTA/CustomTeamAssigner/CustomTeamAssigner.csproj ` - /p:Configuration=Release ` - /p:Platform="x64" ` - /p:PublishSingleFile=true ` - /p:SelfContained=true ` - /p:RuntimeIdentifier=win-x64 ` - /p:IncludeAllContentForSelfExtract=true ` - /p:DebugType=None ` - /p:PublishDir=build\ ` - /t:publish - - - name: Rename exe file - run: | - mkdir build/ - mv CTA/CustomTeamAssigner/build/CustomTeamAssigner.exe build/EHR_Control-Panel_BETA.exe - - - name: Upload Control Panel artifact - uses: actions/upload-artifact@v4 - with: - name: control-panel - path: build\EHR_Control-Panel_BETA.exe - - # --------------------------------------------------------- - # 3) Sign binaries using SignPath - # --------------------------------------------------------- - sign: - runs-on: ubuntu-latest - needs: [build-ehr, build-control-panel] - - steps: - - name: Download EHR - uses: actions/download-artifact@v4 - with: - name: ehr - path: signing - - - name: Download Control Panel - uses: actions/download-artifact@v4 - with: - name: control-panel - path: signing - - - name: Create SignPath ZIP - run: | - cd signing - zip ../signpath-input.zip EHR.dll EHR_Control-Panel_BETA.exe - - - name: Upload unsigned artifact - id: upload-unsigned-artifact - uses: actions/upload-artifact@v4 - with: - name: signpath-input - path: signpath-input.zip - - - name: Submit signing request - uses: signpath/github-action-submit-signing-request@v2 - with: - api-token: ${{ secrets.SIGNPATH_API_TOKEN }} - organization-id: 298f5e96-d02b-40b5-88f6-32bddafcd47d - project-slug: EndlessHostRoles - signing-policy-slug: test-signing - artifact-configuration-slug: initial - github-artifact-id: ${{ steps.upload-unsigned-artifact.outputs.artifact-id }} - wait-for-completion: true - output-artifact-directory: signed - - - name: Extract signed ZIP - run: | - mkdir extracted - unzip signed/*.zip -d extracted - - - name: Upload signed binaries - uses: actions/upload-artifact@v4 - with: - name: signed-binaries - path: extracted/* diff --git a/packaging-epic/.doorstop_version b/packaging-epic/.doorstop_version new file mode 100644 index 000000000..99523d476 --- /dev/null +++ b/packaging-epic/.doorstop_version @@ -0,0 +1 @@ +4.5.1 \ No newline at end of file diff --git a/packaging/BepInEx/config/BepInEx.cfg b/packaging-epic/BepInEx/config/BepInEx.cfg similarity index 97% rename from packaging/BepInEx/config/BepInEx.cfg rename to packaging-epic/BepInEx/config/BepInEx.cfg index dbe9e403f..b318f6125 100644 --- a/packaging/BepInEx/config/BepInEx.cfg +++ b/packaging-epic/BepInEx/config/BepInEx.cfg @@ -1,194 +1,194 @@ -[Caching] - -## Enable/disable assembly metadata cache -## Enabling this will speed up discovery of plugins and patchers by caching the metadata of all types BepInEx discovers. -# Setting type: Boolean -# Default value: true -EnableAssemblyCache = true - -[Detours] - -## The native provider to use for managed detours -# Setting type: DetourProvider -# Default value: Default -# Acceptable values: Default, Dobby, Funchook -DetourProviderType = Default - -[Harmony.Logger] - -## Specifies which Harmony log channels to listen to. -## NOTE: IL channel dumps the whole patch methods, use only when needed! -# Setting type: LogChannel -# Default value: Warn, Error -# Acceptable values: None, Info, IL, Warn, Error, Debug, All -# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) -LogChannels = Warn, Error - -[IL2CPP] - -## Whether to run Il2CppInterop automatically to generate Il2Cpp support assemblies when they are outdated. -## If disabled assemblies in `BepInEx/interop` won't be updated between game or BepInEx updates! -## -# Setting type: Boolean -# Default value: true -UpdateInteropAssemblies = true - -## URL to the ZIP of managed Unity base libraries. -## The base libraries are used by Il2CppInterop to generate interop assemblies. -## The URL can include {VERSION} template which will be replaced with the game's Unity engine version. -## -# Setting type: String -# Default value: https://unity.bepinex.dev/libraries/{VERSION}.zip -UnityBaseLibrariesSource = https://unity.bepinex.dev/libraries/{VERSION}.zip - -## The RegEx string to pass to Il2CppAssemblyUnhollower for renaming obfuscated names. -## All types and members matching this RegEx will get a name based on their signature, -## resulting in names that persist after game updates. -## -# Setting type: String -# Default value: -UnhollowerDeobfuscationRegex = - -## If enabled, Il2CppInterop will use xref to find dead methods and generate CallerCount attributes. -# Setting type: Boolean -# Default value: true -ScanMethodRefs = true - -## If enabled, BepInEx will save dummy assemblies generated by an Cpp2IL dumper into BepInEx/dummy. -# Setting type: Boolean -# Default value: false -DumpDummyAssemblies = false - -## The path to the folder where IL2CPPInterop assemblies are stored. -## Supports the following placeholders: -## {BepInEx} - Path to the BepInEx folder. -## {ProcessName} - Name of the current process -## -# Setting type: String -# Default value: {BepInEx} -IL2CPPInteropAssembliesPath = {BepInEx} - -## Automatically load all interop assemblies right before loading plugins. -## Some plugins may not work properly without this, but it may cause issues in some games. -## -# Setting type: Boolean -# Default value: true -PreloadIL2CPPInteropAssemblies = true - -## The path to the IL2CPP metadata file. -## Supports the following placeholders: -## {BepInEx} - Path to the BepInEx folder. -## {ProcessName} - Name of the current process -## {GameDataPath} - Path to the game's Data folder. -## -# Setting type: String -# Default value: {GameDataPath}/il2cpp_data/Metadata/global-metadata.dat -GlobalMetadataPath = {GameDataPath}/il2cpp_data/Metadata/global-metadata.dat - -[Logging] - -## Enables showing unity log messages in the BepInEx logging system. -# Setting type: Boolean -# Default value: true -UnityLogListening = true - -[Logging.Console] - -## Enables showing a console for log output. -# Setting type: Boolean -# Default value: true -Enabled = true - -## If enabled, will prevent closing the console (either by deleting the close button or in other platform-specific way). -# Setting type: Boolean -# Default value: false -PreventClose = false - -## If true, console is set to the Shift-JIS encoding, otherwise UTF-8 encoding. -# Setting type: Boolean -# Default value: false -ShiftJisEncoding = false - -## Hints console manager on what handle to assign as StandardOut. Possible values: -## Auto - lets BepInEx decide how to redirect console output -## ConsoleOut - prefer redirecting to console output; if possible, closes original standard output -## StandardOut - prefer redirecting to standard output; if possible, closes console out -## -# Setting type: ConsoleOutRedirectType -# Default value: Auto -# Acceptable values: Auto, ConsoleOut, StandardOut -StandardOutType = Auto - -## Which log levels to show in the console output. -# Setting type: LogLevel -# Default value: Fatal, Error, Warning, Message, Info -# Acceptable values: None, Fatal, Error, Warning, Message, Info, Debug, All -# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) -LogLevels = Fatal, Error, Warning, Message, Info - -[Logging.Disk] - -## Appends to the log file instead of overwriting, on game startup. -# Setting type: Boolean -# Default value: false -AppendLog = false - -## Enables writing log messages to disk. -# Setting type: Boolean -# Default value: true -Enabled = true - -## Only displays the specified log levels in the disk log output. -# Setting type: LogLevel -# Default value: Fatal, Error, Warning, Message, Info -# Acceptable values: None, Fatal, Error, Warning, Message, Info, Debug, All -# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) -LogLevels = Fatal, Error, Warning, Message, Info - -## If true, instantly writes any received log entries to disk. -## This incurs a major performance hit if a lot of log messages are being written, however it is really useful for debugging crashes. -## -# Setting type: Boolean -# Default value: false -InstantFlushing = false - -## The maximum amount of concurrent log files that will be written to disk. -## As one log file is used per open game instance, you may find it necessary to increase this limit when debugging multiple instances at the same time. -## -# Setting type: Int32 -# Default value: 5 -ConcurrentFileLimit = 5 - -## Include unity log messages in log file output. -# Setting type: Boolean -# Default value: false -WriteUnityLog = false - -[Preloader] - -## Specifies which MonoMod backend to use for Harmony patches. Auto uses the best available backend. -## This setting should only be used for development purposes (e.g. debugging in dnSpy). Other code might override this setting. -# Setting type: MonoModBackend -# Default value: auto -# Acceptable values: auto, dynamicmethod, methodbuilder, cecil -HarmonyBackend = auto - -## If enabled, BepInEx will save patched assemblies into BepInEx/DumpedAssemblies. -## This can be used by developers to inspect and debug preloader patchers. -# Setting type: Boolean -# Default value: false -DumpAssemblies = false - -## If enabled, BepInEx will load patched assemblies from BepInEx/DumpedAssemblies instead of memory. -## This can be used to be able to load patched assemblies into debuggers like dnSpy. -## If set to true, will override DumpAssemblies. -# Setting type: Boolean -# Default value: false -LoadDumpedAssemblies = false - -## If enabled, BepInEx will call Debugger.Break() once before loading patched assemblies. -## This can be used with debuggers like dnSpy to install breakpoints into patched assemblies before they are loaded. -# Setting type: Boolean -# Default value: false -BreakBeforeLoadAssemblies = false - +[Caching] + +## Enable/disable assembly metadata cache +## Enabling this will speed up discovery of plugins and patchers by caching the metadata of all types BepInEx discovers. +# Setting type: Boolean +# Default value: true +EnableAssemblyCache = true + +[Detours] + +## The native provider to use for managed detours +# Setting type: DetourProvider +# Default value: Default +# Acceptable values: Default, Dobby, Funchook +DetourProviderType = Default + +[Harmony.Logger] + +## Specifies which Harmony log channels to listen to. +## NOTE: IL channel dumps the whole patch methods, use only when needed! +# Setting type: LogChannel +# Default value: Warn, Error +# Acceptable values: None, Info, IL, Warn, Error, Debug, All +# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) +LogChannels = Warn, Error + +[IL2CPP] + +## Whether to run Il2CppInterop automatically to generate Il2Cpp support assemblies when they are outdated. +## If disabled assemblies in `BepInEx/interop` won't be updated between game or BepInEx updates! +## +# Setting type: Boolean +# Default value: true +UpdateInteropAssemblies = true + +## URL to the ZIP of managed Unity base libraries. +## The base libraries are used by Il2CppInterop to generate interop assemblies. +## The URL can include {VERSION} template which will be replaced with the game's Unity engine version. +## +# Setting type: String +# Default value: https://unity.bepinex.dev/libraries/{VERSION}.zip +UnityBaseLibrariesSource = https://unity.bepinex.dev/libraries/{VERSION}.zip + +## The RegEx string to pass to Il2CppAssemblyUnhollower for renaming obfuscated names. +## All types and members matching this RegEx will get a name based on their signature, +## resulting in names that persist after game updates. +## +# Setting type: String +# Default value: +UnhollowerDeobfuscationRegex = + +## If enabled, Il2CppInterop will use xref to find dead methods and generate CallerCount attributes. +# Setting type: Boolean +# Default value: true +ScanMethodRefs = true + +## If enabled, BepInEx will save dummy assemblies generated by an Cpp2IL dumper into BepInEx/dummy. +# Setting type: Boolean +# Default value: false +DumpDummyAssemblies = false + +## The path to the folder where IL2CPPInterop assemblies are stored. +## Supports the following placeholders: +## {BepInEx} - Path to the BepInEx folder. +## {ProcessName} - Name of the current process +## +# Setting type: String +# Default value: {BepInEx} +IL2CPPInteropAssembliesPath = {BepInEx} + +## Automatically load all interop assemblies right before loading plugins. +## Some plugins may not work properly without this, but it may cause issues in some games. +## +# Setting type: Boolean +# Default value: true +PreloadIL2CPPInteropAssemblies = true + +## The path to the IL2CPP metadata file. +## Supports the following placeholders: +## {BepInEx} - Path to the BepInEx folder. +## {ProcessName} - Name of the current process +## {GameDataPath} - Path to the game's Data folder. +## +# Setting type: String +# Default value: {GameDataPath}/il2cpp_data/Metadata/global-metadata.dat +GlobalMetadataPath = {GameDataPath}/il2cpp_data/Metadata/global-metadata.dat + +[Logging] + +## Enables showing unity log messages in the BepInEx logging system. +# Setting type: Boolean +# Default value: true +UnityLogListening = true + +[Logging.Console] + +## Enables showing a console for log output. +# Setting type: Boolean +# Default value: true +Enabled = true + +## If enabled, will prevent closing the console (either by deleting the close button or in other platform-specific way). +# Setting type: Boolean +# Default value: false +PreventClose = false + +## If true, console is set to the Shift-JIS encoding, otherwise UTF-8 encoding. +# Setting type: Boolean +# Default value: false +ShiftJisEncoding = false + +## Hints console manager on what handle to assign as StandardOut. Possible values: +## Auto - lets BepInEx decide how to redirect console output +## ConsoleOut - prefer redirecting to console output; if possible, closes original standard output +## StandardOut - prefer redirecting to standard output; if possible, closes console out +## +# Setting type: ConsoleOutRedirectType +# Default value: Auto +# Acceptable values: Auto, ConsoleOut, StandardOut +StandardOutType = Auto + +## Which log levels to show in the console output. +# Setting type: LogLevel +# Default value: Fatal, Error, Warning, Message, Info +# Acceptable values: None, Fatal, Error, Warning, Message, Info, Debug, All +# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) +LogLevels = Fatal, Error, Warning, Message, Info + +[Logging.Disk] + +## Appends to the log file instead of overwriting, on game startup. +# Setting type: Boolean +# Default value: false +AppendLog = false + +## Enables writing log messages to disk. +# Setting type: Boolean +# Default value: true +Enabled = true + +## Only displays the specified log levels in the disk log output. +# Setting type: LogLevel +# Default value: Fatal, Error, Warning, Message, Info +# Acceptable values: None, Fatal, Error, Warning, Message, Info, Debug, All +# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) +LogLevels = Fatal, Error, Warning, Message, Info + +## If true, instantly writes any received log entries to disk. +## This incurs a major performance hit if a lot of log messages are being written, however it is really useful for debugging crashes. +## +# Setting type: Boolean +# Default value: false +InstantFlushing = false + +## The maximum amount of concurrent log files that will be written to disk. +## As one log file is used per open game instance, you may find it necessary to increase this limit when debugging multiple instances at the same time. +## +# Setting type: Int32 +# Default value: 5 +ConcurrentFileLimit = 5 + +## Include unity log messages in log file output. +# Setting type: Boolean +# Default value: false +WriteUnityLog = false + +[Preloader] + +## Specifies which MonoMod backend to use for Harmony patches. Auto uses the best available backend. +## This setting should only be used for development purposes (e.g. debugging in dnSpy). Other code might override this setting. +# Setting type: MonoModBackend +# Default value: auto +# Acceptable values: auto, dynamicmethod, methodbuilder, cecil +HarmonyBackend = auto + +## If enabled, BepInEx will save patched assemblies into BepInEx/DumpedAssemblies. +## This can be used by developers to inspect and debug preloader patchers. +# Setting type: Boolean +# Default value: false +DumpAssemblies = false + +## If enabled, BepInEx will load patched assemblies from BepInEx/DumpedAssemblies instead of memory. +## This can be used to be able to load patched assemblies into debuggers like dnSpy. +## If set to true, will override DumpAssemblies. +# Setting type: Boolean +# Default value: false +LoadDumpedAssemblies = false + +## If enabled, BepInEx will call Debugger.Break() once before loading patched assemblies. +## This can be used with debuggers like dnSpy to install breakpoints into patched assemblies before they are loaded. +# Setting type: Boolean +# Default value: false +BreakBeforeLoadAssemblies = false + diff --git a/packaging/BepInEx/config/at.duikbo.regioninstall.cfg b/packaging-epic/BepInEx/config/at.duikbo.regioninstall.cfg similarity index 99% rename from packaging/BepInEx/config/at.duikbo.regioninstall.cfg rename to packaging-epic/BepInEx/config/at.duikbo.regioninstall.cfg index d76f2b2a4..dd2b3cb97 100644 --- a/packaging/BepInEx/config/at.duikbo.regioninstall.cfg +++ b/packaging-epic/BepInEx/config/at.duikbo.regioninstall.cfg @@ -1,15 +1,15 @@ -## Settings file was created by EHR -## Plugin GUID: at.duikbo.regioninstall - -[General] - -## Create an array of regions you want to add/update. To create this array, go to https://impostor.github.io/Impostor/ and put the Regions array from the server file in here -# Setting type: String -# Default value: {\"CurrentRegionIdx\":0,\"Regions\":[]} -Regions = { \"CurrentRegionIdx\": 2, \"Regions\": [ { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-NA\", \"PingServer\": \"https://au-us.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-us.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-AS\", \"PingServer\": \"https://au-as.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-as.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-EU\", \"PingServer\": \"https://au-eu.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-eu.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded EU (MEU)\", \"PingServer\": \"https://au-eu.duikbo.at\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://au-eu.duikbo.at\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded NA (MNA)\", \"PingServer\": \"https://aumods.org\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://aumods.org\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded Asia (MAS)\", \"PingServer\": \"https://au-as.duikbo.at\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://au-as.duikbo.at\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 } ] } - -## Comma-seperated list of region names that should be removed. -# Setting type: String -# Default value: -RemoveRegions = Niko233(NA_US),Niko233(NA_US2),Niko233(AS_CN),Niko233(AS_CN2),NikoCat233(US),NikoCat233(CN),Niko233(AS3),Niko233(NA2),Niko233(EU2),Niko233(AS2),Custom,Niko233(NA),Niko233(EU),Niko233(AS),Niko233(CN),Modded SA (MSA),Niko-CN - +## Settings file was created by EHR +## Plugin GUID: at.duikbo.regioninstall + +[General] + +## Create an array of regions you want to add/update. To create this array, go to https://impostor.github.io/Impostor/ and put the Regions array from the server file in here +# Setting type: String +# Default value: {\"CurrentRegionIdx\":0,\"Regions\":[]} +Regions = { \"CurrentRegionIdx\": 2, \"Regions\": [ { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-NA\", \"PingServer\": \"https://au-us.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-us.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-AS\", \"PingServer\": \"https://au-as.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-as.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-EU\", \"PingServer\": \"https://au-eu.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-eu.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded EU (MEU)\", \"PingServer\": \"https://au-eu.duikbo.at\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://au-eu.duikbo.at\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded NA (MNA)\", \"PingServer\": \"https://aumods.org\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://aumods.org\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded Asia (MAS)\", \"PingServer\": \"https://au-as.duikbo.at\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://au-as.duikbo.at\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 } ] } + +## Comma-seperated list of region names that should be removed. +# Setting type: String +# Default value: +RemoveRegions = Niko233(NA_US),Niko233(NA_US2),Niko233(AS_CN),Niko233(AS_CN2),NikoCat233(US),NikoCat233(CN),Niko233(AS3),Niko233(NA2),Niko233(EU2),Niko233(AS2),Custom,Niko233(NA),Niko233(EU),Niko233(AS),Niko233(CN),Modded SA (MSA),Niko-CN + diff --git a/packaging/doorstop_config.ini b/packaging-epic/doorstop_config.ini similarity index 77% rename from packaging/doorstop_config.ini rename to packaging-epic/doorstop_config.ini index 144d5e4af..dcdf605ab 100644 --- a/packaging/doorstop_config.ini +++ b/packaging-epic/doorstop_config.ini @@ -2,21 +2,22 @@ [General] # Enable Doorstop? -enabled = true +enabled=true # Path to the assembly to load and execute # NOTE: The entrypoint must be of format `static void Doorstop.Entrypoint.Start()` -target_assembly = BepInEx\core\BepInEx.Unity.IL2CPP.dll +target_assembly=Doorstop.dll # If true, Unity's output log is redirected to \output_log.txt -redirect_output_log = false +redirect_output_log=false # Overrides the default boot.config file path -boot_config_override = +boot_config_override= # If enabled, DOORSTOP_DISABLE env var value is ignored # USE THIS ONLY WHEN ASKED TO OR YOU KNOW WHAT THIS MEANS -ignore_disable_switch = false +ignore_disable_switch=false + # Options specific to running under Unity Mono runtime [UnityMono] @@ -26,25 +27,27 @@ ignore_disable_switch = false # (e.g. mscorlib is stripped in original game) # This option causes Mono to seek mscorlib and core libraries from a different folder before Managed # Original Managed folder is added as a secondary folder in the search path -dll_search_path_override = +# To specify multiple paths, separate them with semicolons (;) +dll_search_path_override= # If true, Mono debugger server will be enabled -debug_enabled = false +debug_enabled=false # When debug_enabled is true, specifies the address to use for the debugger server -debug_address = 127.0.0.1:10000 +debug_address=127.0.0.1:10000 # If true and debug_enabled is true, Mono debugger server will suspend the game execution until a debugger is attached -debug_suspend = false +debug_suspend=false # Options sepcific to running under Il2Cpp runtime [Il2Cpp] # Path to coreclr.dll that contains the CoreCLR runtime -coreclr_path = dotnet\coreclr.dll +coreclr_path= # Path to the directory containing the managed core libraries for CoreCLR (mscorlib, System, etc.) -corlib_dir = dotnet +corlib_dir= +# Environment variables to set for the current game process before the Unity runtime starts. [Environment] GC_DISABLE_INCREMENTAL=1 diff --git a/packaging-epic/winhttp.dll b/packaging-epic/winhttp.dll new file mode 100644 index 000000000..f56f138c4 Binary files /dev/null and b/packaging-epic/winhttp.dll differ diff --git a/packaging-steam/.doorstop_version b/packaging-steam/.doorstop_version new file mode 100644 index 000000000..99523d476 --- /dev/null +++ b/packaging-steam/.doorstop_version @@ -0,0 +1 @@ +4.5.1 \ No newline at end of file diff --git a/packaging-steam/BepInEx/config/BepInEx.cfg b/packaging-steam/BepInEx/config/BepInEx.cfg new file mode 100644 index 000000000..b318f6125 --- /dev/null +++ b/packaging-steam/BepInEx/config/BepInEx.cfg @@ -0,0 +1,194 @@ +[Caching] + +## Enable/disable assembly metadata cache +## Enabling this will speed up discovery of plugins and patchers by caching the metadata of all types BepInEx discovers. +# Setting type: Boolean +# Default value: true +EnableAssemblyCache = true + +[Detours] + +## The native provider to use for managed detours +# Setting type: DetourProvider +# Default value: Default +# Acceptable values: Default, Dobby, Funchook +DetourProviderType = Default + +[Harmony.Logger] + +## Specifies which Harmony log channels to listen to. +## NOTE: IL channel dumps the whole patch methods, use only when needed! +# Setting type: LogChannel +# Default value: Warn, Error +# Acceptable values: None, Info, IL, Warn, Error, Debug, All +# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) +LogChannels = Warn, Error + +[IL2CPP] + +## Whether to run Il2CppInterop automatically to generate Il2Cpp support assemblies when they are outdated. +## If disabled assemblies in `BepInEx/interop` won't be updated between game or BepInEx updates! +## +# Setting type: Boolean +# Default value: true +UpdateInteropAssemblies = true + +## URL to the ZIP of managed Unity base libraries. +## The base libraries are used by Il2CppInterop to generate interop assemblies. +## The URL can include {VERSION} template which will be replaced with the game's Unity engine version. +## +# Setting type: String +# Default value: https://unity.bepinex.dev/libraries/{VERSION}.zip +UnityBaseLibrariesSource = https://unity.bepinex.dev/libraries/{VERSION}.zip + +## The RegEx string to pass to Il2CppAssemblyUnhollower for renaming obfuscated names. +## All types and members matching this RegEx will get a name based on their signature, +## resulting in names that persist after game updates. +## +# Setting type: String +# Default value: +UnhollowerDeobfuscationRegex = + +## If enabled, Il2CppInterop will use xref to find dead methods and generate CallerCount attributes. +# Setting type: Boolean +# Default value: true +ScanMethodRefs = true + +## If enabled, BepInEx will save dummy assemblies generated by an Cpp2IL dumper into BepInEx/dummy. +# Setting type: Boolean +# Default value: false +DumpDummyAssemblies = false + +## The path to the folder where IL2CPPInterop assemblies are stored. +## Supports the following placeholders: +## {BepInEx} - Path to the BepInEx folder. +## {ProcessName} - Name of the current process +## +# Setting type: String +# Default value: {BepInEx} +IL2CPPInteropAssembliesPath = {BepInEx} + +## Automatically load all interop assemblies right before loading plugins. +## Some plugins may not work properly without this, but it may cause issues in some games. +## +# Setting type: Boolean +# Default value: true +PreloadIL2CPPInteropAssemblies = true + +## The path to the IL2CPP metadata file. +## Supports the following placeholders: +## {BepInEx} - Path to the BepInEx folder. +## {ProcessName} - Name of the current process +## {GameDataPath} - Path to the game's Data folder. +## +# Setting type: String +# Default value: {GameDataPath}/il2cpp_data/Metadata/global-metadata.dat +GlobalMetadataPath = {GameDataPath}/il2cpp_data/Metadata/global-metadata.dat + +[Logging] + +## Enables showing unity log messages in the BepInEx logging system. +# Setting type: Boolean +# Default value: true +UnityLogListening = true + +[Logging.Console] + +## Enables showing a console for log output. +# Setting type: Boolean +# Default value: true +Enabled = true + +## If enabled, will prevent closing the console (either by deleting the close button or in other platform-specific way). +# Setting type: Boolean +# Default value: false +PreventClose = false + +## If true, console is set to the Shift-JIS encoding, otherwise UTF-8 encoding. +# Setting type: Boolean +# Default value: false +ShiftJisEncoding = false + +## Hints console manager on what handle to assign as StandardOut. Possible values: +## Auto - lets BepInEx decide how to redirect console output +## ConsoleOut - prefer redirecting to console output; if possible, closes original standard output +## StandardOut - prefer redirecting to standard output; if possible, closes console out +## +# Setting type: ConsoleOutRedirectType +# Default value: Auto +# Acceptable values: Auto, ConsoleOut, StandardOut +StandardOutType = Auto + +## Which log levels to show in the console output. +# Setting type: LogLevel +# Default value: Fatal, Error, Warning, Message, Info +# Acceptable values: None, Fatal, Error, Warning, Message, Info, Debug, All +# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) +LogLevels = Fatal, Error, Warning, Message, Info + +[Logging.Disk] + +## Appends to the log file instead of overwriting, on game startup. +# Setting type: Boolean +# Default value: false +AppendLog = false + +## Enables writing log messages to disk. +# Setting type: Boolean +# Default value: true +Enabled = true + +## Only displays the specified log levels in the disk log output. +# Setting type: LogLevel +# Default value: Fatal, Error, Warning, Message, Info +# Acceptable values: None, Fatal, Error, Warning, Message, Info, Debug, All +# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning) +LogLevels = Fatal, Error, Warning, Message, Info + +## If true, instantly writes any received log entries to disk. +## This incurs a major performance hit if a lot of log messages are being written, however it is really useful for debugging crashes. +## +# Setting type: Boolean +# Default value: false +InstantFlushing = false + +## The maximum amount of concurrent log files that will be written to disk. +## As one log file is used per open game instance, you may find it necessary to increase this limit when debugging multiple instances at the same time. +## +# Setting type: Int32 +# Default value: 5 +ConcurrentFileLimit = 5 + +## Include unity log messages in log file output. +# Setting type: Boolean +# Default value: false +WriteUnityLog = false + +[Preloader] + +## Specifies which MonoMod backend to use for Harmony patches. Auto uses the best available backend. +## This setting should only be used for development purposes (e.g. debugging in dnSpy). Other code might override this setting. +# Setting type: MonoModBackend +# Default value: auto +# Acceptable values: auto, dynamicmethod, methodbuilder, cecil +HarmonyBackend = auto + +## If enabled, BepInEx will save patched assemblies into BepInEx/DumpedAssemblies. +## This can be used by developers to inspect and debug preloader patchers. +# Setting type: Boolean +# Default value: false +DumpAssemblies = false + +## If enabled, BepInEx will load patched assemblies from BepInEx/DumpedAssemblies instead of memory. +## This can be used to be able to load patched assemblies into debuggers like dnSpy. +## If set to true, will override DumpAssemblies. +# Setting type: Boolean +# Default value: false +LoadDumpedAssemblies = false + +## If enabled, BepInEx will call Debugger.Break() once before loading patched assemblies. +## This can be used with debuggers like dnSpy to install breakpoints into patched assemblies before they are loaded. +# Setting type: Boolean +# Default value: false +BreakBeforeLoadAssemblies = false + diff --git a/packaging-steam/BepInEx/config/at.duikbo.regioninstall.cfg b/packaging-steam/BepInEx/config/at.duikbo.regioninstall.cfg new file mode 100644 index 000000000..dd2b3cb97 --- /dev/null +++ b/packaging-steam/BepInEx/config/at.duikbo.regioninstall.cfg @@ -0,0 +1,15 @@ +## Settings file was created by EHR +## Plugin GUID: at.duikbo.regioninstall + +[General] + +## Create an array of regions you want to add/update. To create this array, go to https://impostor.github.io/Impostor/ and put the Regions array from the server file in here +# Setting type: String +# Default value: {\"CurrentRegionIdx\":0,\"Regions\":[]} +Regions = { \"CurrentRegionIdx\": 2, \"Regions\": [ { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-NA\", \"PingServer\": \"https://au-us.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-us.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-AS\", \"PingServer\": \"https://au-as.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-as.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Niko-EU\", \"PingServer\": \"https://au-eu.niko233.top\", \"Servers\": [ { \"Name\": \"http-1\", \"Ip\": \"https://au-eu.niko233.top\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded EU (MEU)\", \"PingServer\": \"https://au-eu.duikbo.at\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://au-eu.duikbo.at\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded NA (MNA)\", \"PingServer\": \"https://aumods.org\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://aumods.org\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 }, { \"$type\": \"StaticHttpRegionInfo, Assembly-CSharp\", \"Name\": \"Modded Asia (MAS)\", \"PingServer\": \"https://au-as.duikbo.at\", \"Servers\": [ { \"Name\": \"Http-1\", \"Ip\": \"https://au-as.duikbo.at\", \"Port\": 443, \"UseDtls\": false, \"Players\": 0, \"ConnectionFailures\": 0 } ], \"TargetServer\": null, \"TranslateName\": 1003 } ] } + +## Comma-seperated list of region names that should be removed. +# Setting type: String +# Default value: +RemoveRegions = Niko233(NA_US),Niko233(NA_US2),Niko233(AS_CN),Niko233(AS_CN2),NikoCat233(US),NikoCat233(CN),Niko233(AS3),Niko233(NA2),Niko233(EU2),Niko233(AS2),Custom,Niko233(NA),Niko233(EU),Niko233(AS),Niko233(CN),Modded SA (MSA),Niko-CN + diff --git a/packaging-steam/doorstop_config.ini b/packaging-steam/doorstop_config.ini new file mode 100644 index 000000000..dcdf605ab --- /dev/null +++ b/packaging-steam/doorstop_config.ini @@ -0,0 +1,53 @@ +# General options for Unity Doorstop +[General] + +# Enable Doorstop? +enabled=true + +# Path to the assembly to load and execute +# NOTE: The entrypoint must be of format `static void Doorstop.Entrypoint.Start()` +target_assembly=Doorstop.dll + +# If true, Unity's output log is redirected to \output_log.txt +redirect_output_log=false + +# Overrides the default boot.config file path +boot_config_override= + +# If enabled, DOORSTOP_DISABLE env var value is ignored +# USE THIS ONLY WHEN ASKED TO OR YOU KNOW WHAT THIS MEANS +ignore_disable_switch=false + + +# Options specific to running under Unity Mono runtime +[UnityMono] + +# Overrides default Mono DLL search path +# Sometimes it is needed to instruct Mono to seek its assemblies from a different path +# (e.g. mscorlib is stripped in original game) +# This option causes Mono to seek mscorlib and core libraries from a different folder before Managed +# Original Managed folder is added as a secondary folder in the search path +# To specify multiple paths, separate them with semicolons (;) +dll_search_path_override= + +# If true, Mono debugger server will be enabled +debug_enabled=false + +# When debug_enabled is true, specifies the address to use for the debugger server +debug_address=127.0.0.1:10000 + +# If true and debug_enabled is true, Mono debugger server will suspend the game execution until a debugger is attached +debug_suspend=false + +# Options sepcific to running under Il2Cpp runtime +[Il2Cpp] + +# Path to coreclr.dll that contains the CoreCLR runtime +coreclr_path= + +# Path to the directory containing the managed core libraries for CoreCLR (mscorlib, System, etc.) +corlib_dir= + +# Environment variables to set for the current game process before the Unity runtime starts. +[Environment] +GC_DISABLE_INCREMENTAL=1 diff --git a/packaging-steam/winhttp.dll b/packaging-steam/winhttp.dll new file mode 100644 index 000000000..1ac79cbd0 Binary files /dev/null and b/packaging-steam/winhttp.dll differ diff --git a/packaging/winhttp.dll b/packaging/winhttp.dll deleted file mode 100644 index d3030030b..000000000 Binary files a/packaging/winhttp.dll and /dev/null differ