From 351cbe26f9c1befb1ca67f529c9a87cb55cb5a49 Mon Sep 17 00:00:00 2001
From: Sainan <63328889+Sainan@users.noreply.github.com>
Date: Sat, 31 May 2025 15:03:28 +0200
Subject: [PATCH] Switch client guide to exclusively rely on a setup script
---
guide.php | 15 ++++-------
supplementals/Bootstrapper Setup.sh | 13 ++++++++++
supplementals/Download Latest DLL.sh | 38 ++++++++++++++++++++++++++++
3 files changed, 56 insertions(+), 10 deletions(-)
create mode 100644 supplementals/Bootstrapper Setup.sh
create mode 100644 supplementals/Download Latest DLL.sh
diff --git a/guide.php b/guide.php
index fc1c644..8b4ea33 100644
--- a/guide.php
+++ b/guide.php
@@ -39,16 +39,11 @@ $version = ""; //json_decode(file_get_contents("supplementals/static data/buildC
Now you can use npm run start
to start the server again
Client Patch
- 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).
- -
- For 38.6.0 and above, you will also need sideloadify and then simply drop Warframe.x64.exe on top of sideloadify.
-
- - This is currently not needed on Linux as Wine/Proton always checks the game folder for dwmapi.dll.
-
-
-
+ In order to connect to custom servers, the client needs to be patched, which is what the Boostrapper is for. To set it up:
+
+ - Download the bootstrapper setup script for Windows (Powershell) or for Linux-ish (Bash).
+ - Put the script in the game's installation folder (the one where Warframe.x64.exe is in) and run it there.
+
With that done, you can double-click Warframe.x64.exe to start the game with OpenWF. Opening the game's launcher will revert it back to normal.
The bootstrapper is fully documented here, but the most important point is that, while the game is running, you can visit http://localhost:6155/ to manage options, cheats, and scripts.
IRC Server
diff --git a/supplementals/Bootstrapper Setup.sh b/supplementals/Bootstrapper Setup.sh
new file mode 100644
index 0000000..6d495f1
--- /dev/null
+++ b/supplementals/Bootstrapper Setup.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+if [[ -f "Warframe.x64.exe" ]]; then
+ if [[ ! -f "OpenWF/Download Latest DLL.sh" ]]; then
+ mkdir -p OpenWF
+ curl -L "https://openwf.io/supplementals/Download%20Latest%20DLL.sh" -o "OpenWF/Download Latest DLL.sh"
+ fi
+ cd OpenWF
+ chmod +x "Download Latest DLL.sh"
+ ./Download\ Latest\ DLL.sh
+else
+ echo "Please put this script into your Warframe installation folder (the one where Warframe.x64.exe is in) before running it."
+fi
diff --git a/supplementals/Download Latest DLL.sh b/supplementals/Download Latest DLL.sh
new file mode 100644
index 0000000..5ac9eec
--- /dev/null
+++ b/supplementals/Download Latest DLL.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+echo "Fetching latest version..."
+latest_version=$(curl -s "https://openwf.io/supplementals/client%20drop-in/latest.txt")
+latest_hotfix=$(curl -s "https://openwf.io/supplementals/client%20drop-in/latest_hotfix.txt")
+latest_sha256=$(curl -s "https://openwf.io/supplementals/client%20drop-in/sha256.txt")
+latest_hotfix_sha256=$(curl -s "https://openwf.io/supplementals/client%20drop-in/sha256_hotfix.txt")
+
+sha256=""
+hotfix_sha256=""
+if [[ -f "../dwmapi.dll" ]]; then
+ sha256=$(sha256sum "../dwmapi.dll" | awk '{print $1}')
+fi
+if [[ -f "Hotfix.owf" ]]; then
+ hotfix_sha256=$(sha256sum "Hotfix.owf" | awk '{print $1}')
+fi
+
+if [[ "$sha256" != "$latest_sha256" || "$hotfix_sha256" != "$latest_hotfix_sha256" ]]; then
+ if [[ -n "$latest_hotfix" ]]; then
+ echo "Downloading OpenWF Bootstrapper v$latest_version $latest_hotfix..."
+ else
+ echo "Downloading OpenWF Bootstrapper v$latest_version..."
+ fi
+
+ if [[ "$sha256" != "$latest_sha256" ]]; then
+ curl -L "https://openwf.io/supplementals/client%20drop-in/$latest_version/dwmapi.dll" -o "../dwmapi.dll"
+ fi
+
+ if [[ "$hotfix_sha256" != "$latest_hotfix_sha256" ]]; then
+ if [[ -n "$latest_hotfix" ]]; then
+ curl -L "https://openwf.io/supplementals/client%20drop-in/$latest_version/${latest_hotfix// /%20}/Hotfix.owf" -o "Hotfix.owf"
+ else
+ rm -f "Hotfix.owf"
+ fi
+ fi
+else
+ echo "Your OpenWF Bootstrapper is up-to-date."
+fi