From 0e414f28ad65563de218178ea39c921a31252887 Mon Sep 17 00:00:00 2001
From: Sainan <63328889+Sainan@users.noreply.github.com>
Date: Thu, 22 May 2025 10:21:37 +0200
Subject: [PATCH] Add bootstrapper setup powershell script
---
.gitignore | 4 +-
guide.php | 2 +-
supplementals/Bootstrapper Setup.ps1 | 12 +++++
supplementals/Download Latest DLL.ps1 | 65 +++++++++++++++++++++++++++
4 files changed, 81 insertions(+), 2 deletions(-)
create mode 100644 supplementals/Bootstrapper Setup.ps1
create mode 100644 supplementals/Download Latest DLL.ps1
diff --git a/.gitignore b/.gitignore
index 92e7543..73c58b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
-supplementals/
+supplementals/client drop-in
+supplementals/static data
+supplementals/IRC.zip
diff --git a/guide.php b/guide.php
index c60695b..0db8248 100644
--- a/guide.php
+++ b/guide.php
@@ -13,7 +13,7 @@ $version = ""; //json_decode(file_get_contents("supplementals/static data/buildC
Client Patch
-
In order to connect to custom servers, the client needs to be patched. We will use the Boostrapper for this.
+
In order to connect to custom servers, the client needs to be patched, which the Boostrapper is for. To set it up, you can use this powershell script or follow these steps:
- Download the boostrapper DLL (dwmapi.dll) and put it in your game's installation folder (the one where Warframe.x64.exe is in).
-
diff --git a/supplementals/Bootstrapper Setup.ps1 b/supplementals/Bootstrapper Setup.ps1
new file mode 100644
index 0000000..d6b04d1
--- /dev/null
+++ b/supplementals/Bootstrapper Setup.ps1
@@ -0,0 +1,12 @@
+if (Test-Path "Warframe.x64.exe") {
+ if (!(Test-Path "OpenWF/Download Latest DLL.ps1")) {
+ [System.IO.Directory]::CreateDirectory("OpenWF") | Out-Null
+ Invoke-WebRequest -Uri "https://openwf.io/supplementals/Download%20Latest%20DLL.ps1" -OutFile "OpenWF/Download Latest DLL.ps1"
+ }
+ Set-Location -Path OpenWF
+ & "$PSScriptRoot\OpenWF\Download Latest DLL.ps1"
+}
+else {
+ Write-Host "Please put this script into your Warframe installation folder (the one where Warframe.x64.exe is in) before running it."
+ Start-Sleep -Seconds 864000
+}
diff --git a/supplementals/Download Latest DLL.ps1 b/supplementals/Download Latest DLL.ps1
new file mode 100644
index 0000000..0eb9a89
--- /dev/null
+++ b/supplementals/Download Latest DLL.ps1
@@ -0,0 +1,65 @@
+Write-Host "Fetching latest version..."
+$latest = Invoke-RestMethod -Uri "https://openwf.io/supplementals/client%20drop-in/meta" -Method Get
+
+$dll_path = "../dwmapi.dll"
+if (Test-Path "../wtsapi32.dll") {
+ $dll_path = "../wtsapi32.dll"
+}
+if (Test-Path "../version.dll") {
+ $dll_path = "../version.dll"
+}
+
+$sha256 = ""
+if (Test-Path $dll_path) {
+ $sha256 = (Get-FileHash $dll_path -Algorithm SHA256).Hash.ToLower()
+}
+$hotfix_sha256 = ""
+if (Test-Path "Hotfix.bin") {
+ $hotfix_sha256 = (Get-FileHash "Hotfix.bin" -Algorithm SHA256).Hash.ToLower()
+}
+
+$sideloadify_sha256 = ""
+if (Test-Path "sideloadify-cli.cache") {
+ $sideloadify_sha256 = (Get-FileHash "sideloadify-cli.cache" -Algorithm SHA256).Hash
+}
+if ($sideloadify_sha256 -ne "EE990FF8366E49DE5AF5A80DB845A9BFE9285092365E3A887FDFC76EB20C61AF") {
+ Invoke-WebRequest -Uri "https://github.com/Sainan/Sideloadify/releases/download/1.1.0/sideloadify-cli.exe" -OutFile "sideloadify-cli.cache"
+}
+
+$should_sleep = $false
+
+if ($sha256 -ne $latest.sha256 -or $hotfix_sha256 -ne $latest.hotfix_sha256) {
+ if ($latest.hotfix -ne "") {
+ Write-Host "Downloading OpenWF Bootstrapper v$($latest.version) $($latest.hotfix)..."
+ }
+ else {
+ Write-Host "Downloading OpenWF Bootstrapper v$($latest.version)..."
+ }
+
+ if ($sha256 -ne $latest.sha256) {
+ Invoke-WebRequest -Uri "https://openwf.io/supplementals/client%20drop-in/$($latest.version)/dwmapi.dll" -OutFile $dll_path
+ }
+ if ($hotfix_sha256 -ne $latest.hotfix_sha256) {
+ if ($latest.hotfix -ne "") {
+ Invoke-WebRequest -Uri "https://openwf.io/supplementals/client%20drop-in/$($latest.version)/$($latest.hotfix)/Hotfix.bin" -OutFile "Hotfix.bin"
+ }
+ else {
+ Remove-Item "Hotfix.bin"
+ }
+ }
+}
+else {
+ Write-Host "Your OpenWF Bootstrapper is up-to-date."
+ $should_sleep = $true
+}
+
+Rename-Item -Path "sideloadify-cli.cache" -NewName "sideloadify-cli.exe"
+$sideloadified = (./sideloadify-cli.exe ../Warframe.x64.exe).Contains(" has successfully been sideloadified.")
+Rename-Item -Path "sideloadify-cli.exe" -NewName "sideloadify-cli.cache"
+if ($sideloadified) {
+ Write-Host "Warframe.x64.exe has successfully been sideloadified."
+ $should_sleep = $true
+}
+if ($should_sleep) {
+ Start-Sleep -Seconds 2
+}