Compare commits
No commits in common. "main" and "main" have entirely different histories.
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1 @@
|
||||
supplementals/client drop-in
|
||||
supplementals/static data
|
||||
supplementals/IRC.zip
|
||||
supplementals/
|
||||
|
@ -19,7 +19,7 @@
|
||||
<li>Open the DDS file inside of a hex editor like <a href="https://hexed.it/" target="_blank">HexEd.it</a> or <a href="https://mh-nexus.de/en/hxd/" target="_blank">HxD</a> and take note of the format, e.g. you will see the string <code>DXT1</code> or <code>DXT5</code> in the 6th row.</li>
|
||||
<li>You are now free to modify the image however you want. Just take care that the file has the same name, dimensions/resolution, and format/encoding as seen before.</li>
|
||||
<li>To build your assets, run <code>pluto build.pluto</code> within the warframe-cache-tools directory.</li>
|
||||
<li>Finally, to get the assets into the game, you can copy the <code>Content Replacements</code> folder from warframe-cache-tools into the OpenWF folder of your client. The Bootstrapper will automatically patch the game to use your modified content, and if you ever wanna stop using it, you can simply remove the client's <code>Content Replacements</code> folder.</li>
|
||||
<li>Finally, to get the assets into the game, you can copy the <code>content (managed)</code> folder from warframe-cache-tools into the OpenWF folder of your client. The Bootstrapper will automatically patch the game to use your modified content, and if you ever wanna stop using it, you can simply remove the client's <code>content (managed)</code> folder.</li>
|
||||
</ol>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
|
||||
|
@ -74,12 +74,11 @@
|
||||
</head>
|
||||
<body>
|
||||
<h1>OpenWF Bootstrapper Manual</h1>
|
||||
<p>While the main feature of the bootstrapper (wtsapi32.dll, dwmapi.dll, or version.dll) is to use a custom server with the game, it has other features as well.</p>
|
||||
<h2>Client Config.json</h2>
|
||||
<p>The bootstrapper's configuration is in <code>OpenWF/Client Config.json</code> relative to your game folder. It has the following fields:</p>
|
||||
<p>While the main feature of the bootstrapper (dwmapi.dll, wtsapi32.dll, or version.dll) is to use a custom server with the game, it has other features as well.</p>
|
||||
<h2>client_config.json</h2>
|
||||
<p>The bootstrapper's configuration is in <code>OpenWF/client_config.json</code> relative to your game folder. It has the following fields:</p>
|
||||
<ul>
|
||||
<li><code>fallback_language</code> — If not empty, this language will be used when Warframe.x64.exe is invoked without a <code>language</code> command line argument.</li>
|
||||
<li><code>fallback_languageVO</code> — If not empty, this voiceover language will be used when Warframe.x64.exe is invoked without a <code>languageVO</code> command line argument.</li>
|
||||
<li><code>fallback_graphicsDriver</code> — If not empty, this graphics driver will be used when Warframe.x64.exe is invoked without a <code>graphicsDriver</code> command line argument.</li>
|
||||
<li><code>fallback_cluster</code> — The cluster to use when Warframe.x64.exe was double-clicked or the argument was simply omitted. Can be <code>public</code>, <code>test</code>, or <code>dev</code> — the latter two enable some more logging.</li>
|
||||
|
||||
@ -101,8 +100,8 @@
|
||||
<li><code>logout_on_request_failure</code> — If false, the game will ignore HTTP request failures/timeouts instead of forcing a logout.</li>
|
||||
<li><code>fov_override</code> — If not 0, overrides the game's FOV setting. You can use any value from 1 to 226.</li>
|
||||
<li><code>forced_profile_dir</code> — An absolute path to a folder that will be used to read and write your game settings. Notably, this can be used to have the same settings regardless of username.</li>
|
||||
<li><code>auto_start_scripts</code> — A list of scripts to automatically start.</li>
|
||||
<li><code>alternative_loading</code> — Enables an alternative loading mode (<code>Server.FastLoad</code>) which also skips intro cutscenes when loading into a relay. However, this breaks some parts of The New War and possibly other missions.</li>
|
||||
<li><code>auto_start_scripts</code> — A list of scripts to automatically start, e.g. <code>["samples/Cycle Camera Hotkey (K).pluto"]</code>.</li>
|
||||
<li><code>alternative_loading</code> — Enables an alternative loading mode (<code>Server.FastLoad</code>) which also skips some intro cutscenes, e.g. when loading into a relay.</li>
|
||||
<li><code>dont_resolve_labels</code> — If true, shows language tags instead of their associated value, e.g. <code>/Menu/Confirm_Item_Yes</code> instead of <code>YES</code>.</li>
|
||||
<li><code>save_all_metadata</code> — If true, implicitly creates an empty patch on every metadata read to make it available for get_effective_metadata requests. May degrade performance.</li>
|
||||
<li><code>write_all_metadata_reads_to_console</code> — If true, writes all metadata reads to the console. May degrade performance.</li>
|
||||
@ -111,7 +110,7 @@
|
||||
<li><code>write_patches_metadata_reads_to_ee_log</code> — If true, writes patched metadata reads to EE.log. May degrade performance.</li>
|
||||
</ul>
|
||||
<h2>HTTP Interface</h2>
|
||||
<p>While the game is running, you can visit <a href="http://localhost:6155/" target="_blank">http://localhost:6155/</a> to modify some of the above options, access additional features like teleportation, and use scripts.</p>
|
||||
<p>While the game is running, the you can visit <a href="http://localhost:6155/" target="_blank">http://localhost:6155/</a> to modify some of the above options, access additional features like teleportation, and use scripts.</p>
|
||||
<h2>Command Line Arguments</h2>
|
||||
<p>The bootstrapper adds the <code>owfServerHost</code> command line argument, which can be used to override the <code>server_host</code> in the config.</p>
|
||||
<h2>Tunables</h2>
|
||||
@ -133,15 +132,17 @@
|
||||
<li>The IRC <code>USER</code> message is adjusted to contain <code>nonce=...</code> in the 'realname' field.</li>
|
||||
</ul>
|
||||
<h2>Metadata Patches</h2>
|
||||
<p>Metadata Patches are loaded from <code>.txt</code> files in the <code>OpenWF/Metadata Patches/</code> folder.</p>
|
||||
<p>They are parsed line by line, with leading and trailing spaces and tabs being ignored:</p>
|
||||
<ul>
|
||||
<li><code>> /Path/Here</code> starts a patch that will be applied to <code>/Path/Here</code>.</li>
|
||||
<li><code>> /First/Path & /Second/Path</code> starts a patch that will be applied to <code>/First/Path</code> and <code>/Second/Path</code>. It is possible to stretch this over multiple lines by either ending a line with <code>&</code> or starting the new line <code>&</code>.</li>
|
||||
<li>Any line not starting with a special token (<code>></code>, <code>r|</code>, ...) is added as a prefix to all affected metadata. This works to add top-level properties but also to replace them because the game resolves duplicates by ignoring subsequent entries.</li>
|
||||
<li>Lines starting with <code>r|</code> create replacements, e.g. <code>r|A|Z</code> replaces all instances of <code>A</code> with <code>Z</code> in affected metadata.</li>
|
||||
<li>Lines starting with <code>s|</code> create regex substitutions, e.g. <code>s|(.+)=1|$1=0</code> would change <code>HasCooldown=1</code> to be <code>HasCooldown=0</code>.</li>
|
||||
</ul>
|
||||
<p>Metadata Patches are loaded from <code>OpenWF/Metadata Patches.txt</code>, although you can also create a <code>OpenWF/Metadata Patches/</code> folder and any text file inside of that will be loaded as well.</p>
|
||||
<p>They are generally parsed line by line, with roughly the following steps being taken for each line:</p>
|
||||
<ol>
|
||||
<li>If the line starts with <code>/</code>, a new patch for the given absolute path is started. If the line ends on <code>&</code>, the next line that also starts with <code>/</code> will be added to this patch instead of creating a new patch.</li>
|
||||
<li>Leading and trailing tabs and spaces are removed from the line.</li>
|
||||
<li>If the line starts with <code>&</code>, that character is removed from the line and the rest of the line is assumed to be an absolute path to be added to the current patch.</li>
|
||||
<li>If the line starts with <code>></code>, that character is removed from the line and the rest of the line is assumed to be an absolute path for which a new patch is created.</li>
|
||||
<li>If the line starts with <code>r|</code>, a replacement is added to the current patch in the form <code>r|A|Z</code> which means <code>A</code> in the metadata will be replaced with <code>Z</code>.</li>
|
||||
<li>If the line starts with <code>s|</code>, a regex substitution is added to the current patch, e.g. <code>s|(.+)=1|$1=0</code> would change <code>HasCooldown=1</code> to be <code>HasCooldown=0</code>.</li>
|
||||
<li>The line is added as a metadata prefix to the current patch. This works to add top-level properties but also to replace them because the game resolves duplicates by ignoring subsequent entries.</li>
|
||||
</ol>
|
||||
<p>If multiple patches affect the same absolute path, they are combined.</p>
|
||||
<br>
|
||||
</body>
|
||||
|
@ -14,7 +14,7 @@
|
||||
<p>Most OpenWF software has support for translations:</p>
|
||||
<ul>
|
||||
<li><a href="https://onlyg.it/OpenWF/SpaceNinjaServer/src/branch/main/static/webui/translations" target="_blank">SpaceNinjaServer WebUI</a></li>
|
||||
<li><a href="https://onlyg.it/OpenWF/Translations/src/branch/main/bootstrapper" target="_blank">Bootstrapper WebUI</a></li>
|
||||
<li><a href="https://onlyg.it/OpenWF/Translations/src/branch/main/client-webui" target="_blank">Bootstrapper WebUI</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
|
||||
|
26
guide.php
26
guide.php
@ -1,3 +1,7 @@
|
||||
<?php
|
||||
$dll_version = @file_get_contents("supplementals/client drop-in/latest.txt");
|
||||
$version = ""; //json_decode(file_get_contents("supplementals/static data/buildConfig.json"), true)["version"];
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
@ -8,6 +12,14 @@
|
||||
<body data-bs-theme="dark">
|
||||
<?php require "_components/navbar.php"; ?>
|
||||
<div class="container mt-3">
|
||||
<h2>Client/Boostrapper</h2>
|
||||
<p>To use OpenWF, you only need to download the <a href="/supplementals/client%20drop-in/<?=$dll_version;?>/dwmapi.dll" download>dwmapi.dll</a> and put it in your game's installation folder (the one where Warframe.x64.exe is in).</p>
|
||||
<ul>
|
||||
<li>As long as this DLL is in the game folder, you can double-click Warframe.x64.exe to start the game with OpenWF.</li>
|
||||
<li>Opening the game's launcher will revert it back to normal.</li>
|
||||
</ul>
|
||||
<p>The DLL is <a href="bootstrapper-manual" target="_blank">fully documented here</a>, but the most important point is that, while the game is running, you can visit <a href="http://localhost:6155/" target="_blank">http://localhost:6155/</a> to manage options, cheats, and scripts.</p>
|
||||
<p><b>Next steps:</b> By default, the DLL redirects requests to localhost — meaning the same machine you're playing on — so you'll either need to set up a server or change the server_host to point to a different machine that's already got a server running.</p>
|
||||
<h2>Server Prerequisites</h2>
|
||||
<ul>
|
||||
<li>Git (<a href="https://git-scm.com/downloads" target="_blank">Download</a>)</li>
|
||||
@ -18,15 +30,15 @@
|
||||
<ol>
|
||||
<li>Run <code>git clone https://openwf.io/SpaceNinjaServer.git</code> in a command prompt to download SpaceNinjaServer in the current working directory</li>
|
||||
<li>Open the SpaceNinjaServer folder (<code>cd SpaceNinjaServer</code>)</li>
|
||||
<li>Copy config-vanilla.json to create a config.json</li>
|
||||
<li>Run <code>copy config.json.example config.json</code> to create a config.json from config.json.example</li>
|
||||
<li>(Optional) Edit the config.json to match your MongoDB settings (if not default) and however else you would like to configure the server</li>
|
||||
<li>(Optional) If you have a GB of free space, you might want to download stripped assets such as <abbr title="Ability videos show a brief clip of an ability in action. They can be seen by hovering over an ability in the Arsenal, Codex, etc.">ability videos</abbr> so the client can request them on-demand: Run <code>git clone https://openwf.io/0.git</code> in the <code>static/data</code> folder</li>
|
||||
<li>(Optional) If you want stripped assets (~622 <abbr title="mebibytes (1 MiB = 1048576 bytes)">MiB</abbr>) which the client will request from the server on-demand (most notably, <abbr title="Ability videos show a brief clip of an ability in action. They can be seen by hovering over an ability in the Arsenal, Codex, etc.">ability videos</abbr>), run <code>git clone https://openwf.io/0.git</code> in the <code>static/data</code> folder</li>
|
||||
<li>Run <code>npm install --omit=dev</code> to install library dependencies</li>
|
||||
<li>Run <code>npm run build</code> to build the server</li>
|
||||
<li>Now you can run <code>npm run start</code> to start the server anytime</li>
|
||||
</ol>
|
||||
<h2>Server Update</h2>
|
||||
<p>You can simply run the <code>UPDATE AND START SERVER</code> script for this, but otherwise the steps are pretty simple:</p>
|
||||
<p>Windows users can simply double-click the <code>UPDATE AND START SERVER.bat</code>, but otherwise the steps are pretty simple:</p>
|
||||
<ol>
|
||||
<li>Run <code>git pull</code> in the SpaceNinjaServer folder</li>
|
||||
<li>(Optional) If you have the stripped assets, run <code>git pull</code> in the <code>static/data/0</code> folder</li>
|
||||
@ -34,14 +46,6 @@
|
||||
<li>Run <code>npm run build</code> to build the server</li>
|
||||
<li>Now you can use <code>npm run start</code> to start the server again</li>
|
||||
</ol>
|
||||
<h2>Client Patch</h2>
|
||||
<p>In order to connect to custom servers, the client needs to be patched, which is what the Boostrapper is for. To set it up:</p>
|
||||
<ol>
|
||||
<li>Download the bootstrapper setup <a href="https://onlyg.it/OpenWF/Bootstrapper-Setup/releases/download/latest/Bootstrapper%20Setup.exe" download>for Windows</a> or <a href="/supplementals/Bootstrapper%20Setup.sh" download>for Linux-ish (Bash)</a>.</li>
|
||||
<li>Put the setup in the game's installation folder (the one where Warframe.x64.exe is in) and run it there.</li>
|
||||
</ol>
|
||||
<p>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.</p>
|
||||
<p>The bootstrapper is <a href="bootstrapper-manual" target="_blank">fully documented here</a>, but the most important point is that, while the game is running, you can visit <a href="http://localhost:6155/" target="_blank">http://localhost:6155/</a> to manage options, cheats, and scripts.</p>
|
||||
<h2>IRC Server</h2>
|
||||
<p>In addition to SpaceNinjaServer, you can also set up an IRC server for the in-game chat:</p>
|
||||
<ul>
|
||||
|
@ -12,11 +12,15 @@
|
||||
<h2>Exporting Your Inventory From Live</h2>
|
||||
<ul>
|
||||
<li>If you use AlecaFrame, you already have an encrypted version of your inventory. You can use <a href="https://sainan.github.io/alecaframe-inventory-parser/" target="_blank">this tool</a> to help you locate and decrypt it.</li>
|
||||
<li>Alternatively, you can use <a href="https://github.com/Sainan/warframe-api-helper/releases/latest">warframe-api-helper</a> to get a fresh copy by running it while the game is running & logged in on live. It will store it in <code>inventory.json</code>.</li>
|
||||
<li>
|
||||
Alternatively, you can use <a href="https://github.com/Sainan/warframe-api-helper/releases/latest/download/warframe-api-helper.exe">warframe-api-helper</a> to get a fresh copy by running it while the game is running & logged in on live. It will store it in <code>inventory.json</code>.
|
||||
<ul>
|
||||
<li>For Linux users, there's <a href="https://gist.github.com/Turbozis/9e5fa359030abdf32cff7f104544fd16" target="_blank">a shell script</a> based on warframe-api-helper. It requires <code>jq</code> and <code>curl</code>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Importing Your Inventory To SpaceNinjaServer</h2>
|
||||
<p>Now that you have your inventory, open the SpaceNinjaServer WebUI and locate the "Import" tab. You can simply paste the entire thing in the textbox and press the "Submit" button.</p>
|
||||
<p>Note that ship features are not part of the inventory so you may want to enable the "unlock all ship features" cheat or manually populate them in the MongoDB <code>personalrooms</code> collection.</p>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<p>OpenWF is a software suite centered around customizing Warframe, including:</p>
|
||||
<ul>
|
||||
<li><b>SpaceNinjaServer</b> — an <a href="https://openwf.io/SpaceNinjaServer.git">open-source</a> reimplementation of the game's web services. As we have custom server software, OpenWF avoids interference with the live game while allowing full customization of savedata.</li>
|
||||
<li>The <b>Bootstrapper</b> — our main DLL patching the client to connect to custom servers, but for newer versions, it also has some QoL features and cheats as well as a scripting API, label replacements and metadata patches, allowing for extensive customization of the experience. <a href="https://onlyg.it/OpenWF/Mods" target="_blank">Browse mods.</a></li>
|
||||
<li>The <b>Bootstrapper</b> — our main DLL targeting the latest game version. Its core precept is connecting to custom servers, but it also has some QoL features and cheats as well as a scripting API, label replacements and metadata patches, allowing for extensive customization of the experience.</li>
|
||||
</ul>
|
||||
<a href="/guide<?=$ext;?>" class="btn btn-primary">Get Started</a>
|
||||
<h3 class="mt-3">Preservation</h3>
|
||||
|
@ -1 +0,0 @@
|
||||
<meta http-equiv="refresh" content="0;url=https://onlyg.it/OpenWF/Mods">
|
149
old-versions.php
149
old-versions.php
@ -8,8 +8,8 @@
|
||||
<body data-bs-theme="dark">
|
||||
<?php require "_components/navbar.php"; ?>
|
||||
<div class="container mt-3">
|
||||
<p>The following is a list of game versions that have been verified to at least be able to login and play when using the Bootstrapper and SpaceNinjaServer.</p>
|
||||
<p>To download an old version, you can use <a href="https://github.com/SteamRE/DepotDownloader/releases">DepotDownloader</a> like so: <code>DepotDownloader -app 230410 -depot 230411 -manifest <manifest id> -username <your steam username></code></p>
|
||||
<h3>Recent Versions</h3>
|
||||
<p>While the Bootstrapper and SpaceNinjaServer do stay up-to-date, they are still compatible with previous versions and should at least allow you to login and play:</p>
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -21,33 +21,19 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- https://steamdb.info/depot/230411/manifests/ -->
|
||||
<tr>
|
||||
<td>8391191747297658560</td>
|
||||
<td><code>2025.06.23.11.39</code></td>
|
||||
<td>< 39.0.0</td>
|
||||
<td>Isleweaver</td>
|
||||
<td><abbr title="Metadata Patches, Scripting API, etc. are fully functional in the bootstrapper.">Full modding support</abbr></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6046892458385712496</td>
|
||||
<td><code>2025.03.18.09.51</code></td>
|
||||
<td>< 38.6.0</td>
|
||||
<td>Yareli Prime<!-- Login screen says "Techrot Encore" --></td>
|
||||
<td><abbr title="Metadata Patches, Scripting API, etc. are fully functional in the bootstrapper.">Full modding support</abbr><!-- 38.6.0 is the only version that needs sideloadify (on Windows, at least). The powershell script just does it for all versions, for now at least. --></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4212893560910494140</td>
|
||||
<td><code>2025.03.18.09.51</code></td>
|
||||
<td>< 38.5.0</td>
|
||||
<td>Techrot Encore</td>
|
||||
<td><abbr title="Metadata Patches, Scripting API, etc. are fully functional in the bootstrapper.">Full modding support</abbr></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3864063200081954630</td>
|
||||
<td><code>2024.12.11.14.26</code></td>
|
||||
<td>< 38.0.0</td>
|
||||
<td>1999</td>
|
||||
<td><abbr title="Metadata Patches, Scripting API, etc. are fully functional in the bootstrapper.">Full modding support</abbr></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>513490184226321110</td>
|
||||
@ -272,119 +258,119 @@
|
||||
<td><code>2020.08.12.19.57</code></td>
|
||||
<td>≈ 28.3.0</td>
|
||||
<td>Derelict Shift<!-- Login screen says "The Deadlock Protocol" --></td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8322392782655512672</td>
|
||||
<td><code>2020.06.12.16.46</code></td>
|
||||
<td>≈ 28.0.0</td>
|
||||
<td>The Deadlock Protocol</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>940429389442729133</td>
|
||||
<td><code>2020.03.24.20.24</code></td>
|
||||
<td>≈ 27.3.0</td>
|
||||
<td>Empyrean</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3078917755629993445</td>
|
||||
<td><code>2020.03.05.16.06</code></td>
|
||||
<td>≈ 27.2.0</td>
|
||||
<td>Empyrean</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5383208407459190147</td>
|
||||
<td><code>2019.12.13.15.04</code></td>
|
||||
<td>≈ 27.0.0</td>
|
||||
<td>Empyrean</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1746499861411165604</td>
|
||||
<td><code>2019.12.13.00.31</code></td>
|
||||
<td>≈ 26.1.3</td>
|
||||
<td>Rising Tide</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5191423722994130705</td>
|
||||
<td><code>2019.11.22.21.24</code></td>
|
||||
<td>≈ 26.1.0</td>
|
||||
<td>Rising Tide</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4211752956119480973</td>
|
||||
<td><code>2019.11.05.12.52</code></td>
|
||||
<td>≈ 26.0.4</td>
|
||||
<td>The Old Blood</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5213493012981659231</td>
|
||||
<td><code>2019.10.31.22.42</code></td>
|
||||
<td>≈ 26.0.0</td>
|
||||
<td>The Old Blood</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6484357939617346090</td>
|
||||
<td><code>2019.09.09.12.43</code></td>
|
||||
<td>≈ 25.7.5</td>
|
||||
<td>Saint of Altra</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6955217559566015186 </td>
|
||||
<td><code>2019.08.29.21.58</code></td>
|
||||
<td>≈ 25.7.0</td>
|
||||
<td>Saint of Altra</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8839989774604564585</td>
|
||||
<td><code>2019.08.29.20.01</code></td>
|
||||
<td>≈ 25.7.0</td>
|
||||
<td>Saint of Altra</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3318532863308652389</td>
|
||||
<td><code>2019.05.22.23.12</code></td>
|
||||
<td>≈ 25.0.0</td>
|
||||
<td>The Jovian Concord</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>192898029640470386</td>
|
||||
<td><code>2019.04.04.21.31</code></td>
|
||||
<td>≈ 24.6.0</td>
|
||||
<td>Buried Debts</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4942488930993990244</td>
|
||||
<td><code>2019.03.15.18.11</code></td>
|
||||
<td>≈ 24.5.1</td>
|
||||
<td>Buried Debts</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4404971551504983924</td>
|
||||
<td><code>2019.03.08.00.37</code></td>
|
||||
<td>≈ 24.4.0</td>
|
||||
<td>Buried Debts</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1904743723246597237</td>
|
||||
<td><code>2019.03.07.20.21</code></td>
|
||||
<td>≈ 24.4.0</td>
|
||||
<td>Fortuna</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 174676543101364914 is 2018.11.29.15.55, Fortuna, but has a broken font. -->
|
||||
<tr>
|
||||
@ -392,14 +378,14 @@
|
||||
<td><code>2018.11.29.15.55</code></td>
|
||||
<td>≈ 24.1.2</td>
|
||||
<td>Fortuna</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3725569727599851360</td>
|
||||
<td><code>2018.11.15.16.49</code></td>
|
||||
<td>≈ 24.0.8</td>
|
||||
<td>Fortuna</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 8461211368258506784 is 2018.11.15.16.49 but needs Tools folder from another manifest + has a broken font. -->
|
||||
<tr>
|
||||
@ -407,70 +393,70 @@
|
||||
<td><code>2018.11.08.14.45</code></td>
|
||||
<td>≈ 24.0.0</td>
|
||||
<td>Fortuna</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8049567794324118250</td>
|
||||
<td><code>2018.10.11.23.29</code></td>
|
||||
<td>≈ 23.10.0</td>
|
||||
<td>Chimera</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1234607834806579897</td>
|
||||
<td><code>2018.09.28.19.09</code></td>
|
||||
<td>≈ 23.9.1</td>
|
||||
<td>Mask of the Revenant</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>677450530474051174</td>
|
||||
<td><code>2018.08.01.08.09</code></td>
|
||||
<td>≈ 23.2.0</td>
|
||||
<td>The Sacrifice</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8058901711639962245</td>
|
||||
<td><code>2018.06.14.23.21</code></td>
|
||||
<td>≈ 23.0.0</td>
|
||||
<td>The Sacrifice<!-- Login screen says "Beasts of the Sanctuary" --></td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>566447983471491143</td>
|
||||
<td><code>2018.05.17.16.28</code></td>
|
||||
<td>≈ 22.20.0</td>
|
||||
<td>Beasts of the Sanctuary</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8448828347811631025</td>
|
||||
<td><code>2018.04.20.02.04</code></td>
|
||||
<td>≈ 22.18.0</td>
|
||||
<td>Beasts of the Sanctuary</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5922375304465722812</td>
|
||||
<td><code>2018.03.15.19.39</code></td>
|
||||
<td>≈ 22.16.0</td>
|
||||
<td>Plains of Eidolon</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6640882772717519747</td>
|
||||
<td><code>2018.03.07.14.18</code></td>
|
||||
<td>≈ 22.15.0</td>
|
||||
<td>Plains of Eidolon</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8004325165498360760</td>
|
||||
<td><code>2018.02.22.14.34</code></td>
|
||||
<td>≈ 22.13.4</td>
|
||||
<td>Plains of Eidolon</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 8621631773919294851 is 2018.01.26.12.22, can log in but then you're stuck due to Script Error: attempt to call method 'GetOperator' (a nil value): In ?(844) originating from /Lotus/Scripts/PlayerShip.lua::SpawnPets with owner /Layer0/ScriptTrigger2 -->
|
||||
<tr>
|
||||
@ -478,14 +464,14 @@
|
||||
<td><code>2018.01.04.13.12</code></td>
|
||||
<td>≈ 22.8.2</td>
|
||||
<td>Plains of Eidolon</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5301169201249491747</td>
|
||||
<td><code>2017.12.12.12.15</code></td>
|
||||
<td>≈ 22.7.0</td>
|
||||
<td>Plains of Eidolon</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 5914709226935570547 is 2017.12.08.15.29, fails to start due to an assertion failure -->
|
||||
<tr>
|
||||
@ -493,49 +479,49 @@
|
||||
<td><code>2017.11.16.17.34</code></td>
|
||||
<td>≈ 22.2.4</td>
|
||||
<td>Plains of Eidolon</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4661126446448856114</td>
|
||||
<td><code>2017.10.12.17.04</code></td>
|
||||
<td>≈ 22.0.0</td>
|
||||
<td>Plains of Eidolon</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1835327182756411758</td>
|
||||
<td><code>2017.07.26.13.59</code></td>
|
||||
<td>≈ 21.2.0</td>
|
||||
<td>Chains of Harrow</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2970877824413815022</td>
|
||||
<td><code>2017.06.29.03.54</code></td>
|
||||
<td>≈ 21.0.1</td>
|
||||
<td>Chains of Harrow</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>9187782625344917768</td>
|
||||
<td><code>2017.06.29.02.13</code></td>
|
||||
<td>≈ 21.0.0</td>
|
||||
<td>Chains of Harrow</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3099723078202393524</td>
|
||||
<td><code>2017.05.05.15.41</code></td>
|
||||
<td>≈ 20.4.0</td>
|
||||
<td>Octavia's Anthem</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4574874014936523212</td>
|
||||
<td><code>2017.03.26.04.21</code></td>
|
||||
<td>≈ 20.0.3</td>
|
||||
<td>Octavia's Anthem</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 8705016425420648723 is 2017.03.24.17.25, ~20.0.0, seems to have a broken cache as the loading scaleform doesn't show properly and it doesn't proceed to the login screen -->
|
||||
<tr>
|
||||
@ -543,7 +529,7 @@
|
||||
<td><code>2017.03.06.15.49</code></td>
|
||||
<td>≈ 19.13.0</td>
|
||||
<td>The Glast Gambit</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 2663512682334598162 is 2017.03.03.17.01, ~19.12.1, fails to start due to an assertion failure -->
|
||||
<!-- 4864838558963648894 is 2017.03.02.14.59, ~19.12.0, fails to start due to an assertion failure -->
|
||||
@ -552,7 +538,7 @@
|
||||
<td><code>2016.12.21.19.13</code></td>
|
||||
<td>≈ 19.5.0</td>
|
||||
<td>The Glast Gambit</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 6118281920152298389 only contains installscript.vdf -->
|
||||
<tr>
|
||||
@ -560,7 +546,7 @@
|
||||
<td><code>2016.12.16.14.33</code></td>
|
||||
<td>≈ 19.4.1</td>
|
||||
<td>The War Within</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 6784000424578492584 is 2016.11.11.17.46, ~19.0.0, fails to start due to an assertion failure -->
|
||||
<tr>
|
||||
@ -568,37 +554,43 @@
|
||||
<td><code>2016.09.30.12.04</code></td>
|
||||
<td>≈ 18.22.1</td>
|
||||
<td>The Silver Grove</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2086935969100698619</td>
|
||||
<td><code>2016.08.26.11.08</code></td>
|
||||
<td>≈ 18.18.5</td>
|
||||
<td>The Silver Grove</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3584168904277131181</td>
|
||||
<td><code>2016.08.19.17.12</code></td>
|
||||
<td>≈ 18.18.0</td>
|
||||
<td>The Silver Grove</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 8065552974390268707 is 2016.07.08.16.56. Seems to have a broken cache as everyone is A-posing and subtitle texts don't resolve. -->
|
||||
<!-- 2087739745223261142 is 2016.03.31.15.16, ~18.7.1 Sands of Inaros. Chat scaleform is broken which steals UI focus so can't even access navigation. -->
|
||||
<tr>
|
||||
<td>2087739745223261142</td>
|
||||
<td><code>2016.03.31.15.16</code></td>
|
||||
<td>≈ 18.7.1</td>
|
||||
<td>Sands of Inaros</td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1331043799698924734</td>
|
||||
<td><code>2016.03.04.10.06</code></td>
|
||||
<td>≈ 18.5.0</td>
|
||||
<td>Sands of Inaros</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5378301586494814297</td>
|
||||
<td><code>2015.12.09.17.09</code></td>
|
||||
<td>≈ 18.0.6</td>
|
||||
<td>The Second Dream</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<!-- 4603106986143048670 is 2015.12.08.16.01, same issues as previous version. -->
|
||||
<!-- 5567085556474789237 is 2015.12.05.18.07, should be ~18.0.2 The Second Dream, but says The Jordas Precept on the login screen. Seems to have a broken cache as enemy spawns are broken. -->
|
||||
@ -607,76 +599,69 @@
|
||||
<td><code>2015.10.21.12.48</code></td>
|
||||
<td>≈ 17.8.0</td>
|
||||
<td>The Jordas Precept</td>
|
||||
<td><!-- Rename dwmapi.dll to wtsapi32.dll or version.dll. --></td>
|
||||
<td>Rename dwmapi.dll to wtsapi32.dll or version.dll.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>7055925076570413672</td>
|
||||
<td><code>2015.10.15.12.24</code></td>
|
||||
<td>≈ 17.7.1</td>
|
||||
<td>The Jordas Precept</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>232461576962714068</td>
|
||||
<td><code>2015.05.14.16.29</code></td>
|
||||
<td>≈ 16.5.5</td>
|
||||
<td>Tubemen of Regor</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>567734397704178704</td>
|
||||
<td><code>2015.03.21.08.17</code></td>
|
||||
<td>≈ 16.0.2</td>
|
||||
<td>Sanctuary</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5952644847955190118</td>
|
||||
<td><code>2015.02.13.10.41</code></td>
|
||||
<td>≈ 15.14.1</td>
|
||||
<td>Eyes of Blight</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>7377933404197762308</td>
|
||||
<td><code>2014.11.27.14.35</code></td>
|
||||
<td>≈ 15.5.0</td>
|
||||
<td>Mesa Update</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6368936033089773713</td>
|
||||
<td><code>2014.10.29.18.19</code></td>
|
||||
<td>≈ 15.0.8</td>
|
||||
<td>Archwing</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1212629036031221707</td>
|
||||
<td><code>2014.10.28.17.15</code></td>
|
||||
<td>≈ 15.0.7</td>
|
||||
<td>Archwing</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1048315274024428186</td>
|
||||
<td><code>2014.10.27.17.07</code></td>
|
||||
<td>≈ 15.0.6</td>
|
||||
<td>Archwing</td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6636116079410913663</td>
|
||||
<td><code>2014.10.24.08.24</code></td>
|
||||
<td>≈ 15.0.0</td>
|
||||
<td>Archwing<!-- Login screen says "The Mad Cephalon" --></td>
|
||||
<td><!-- Rename DLL & -->Copy "Tools" folder from 2275730668734249647</td>
|
||||
<td>Rename DLL & copy "Tools" folder from 2275730668734249647.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>To download an old version, you can use <a href="https://github.com/SteamRE/DepotDownloader/releases">DepotDownloader</a> like so: <code>DepotDownloader -app 230410 -depot 230411 -manifest <manifest id> -username <your steam username></code></p>
|
||||
<h3>2013 Warframe</h3>
|
||||
<p>There is a DLL + fork of SpaceNinjaServer that can be used to revisit 2013 Warframe. More information about this can be found <a href="https://discord.gg/PNNZ3asUuY">on our Discord</a>, specifically <a href="https://discord.com/channels/1108159019635462206/1280628166825873510/1280628233355923497">in this thread</a>.</p>
|
||||
<p>Another project in this niche is <a href="https://github.com/mekael/WFClassic">Mekael's WFClassic</a>.</p>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
|
@ -1,12 +0,0 @@
|
||||
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
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
#!/usr/bin/env 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
|
@ -1,65 +0,0 @@
|
||||
Write-Host "Fetching latest version..."
|
||||
$latest = Invoke-RestMethod -Uri "https://openwf.io/supplementals/client%20drop-in/meta" -Method Get
|
||||
|
||||
$dll_path = "../wtsapi32.dll"
|
||||
if (Test-Path "../dwmapi.dll") {
|
||||
$dll_path = "../dwmapi.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.owf") {
|
||||
$hotfix_sha256 = (Get-FileHash "Hotfix.owf" -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.owf" -OutFile "Hotfix.owf"
|
||||
}
|
||||
else {
|
||||
Remove-Item "Hotfix.owf"
|
||||
}
|
||||
}
|
||||
}
|
||||
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
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
#!/usr/bin/env 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
|
Loading…
x
Reference in New Issue
Block a user