You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

199 lines
10 KiB

6 months ago
  1. <!DOCTYPE html>
  2. <!--[if IE]><![endif]-->
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <title>Installing BSIPA </title>
  8. <meta name="viewport" content="width=device-width">
  9. <meta name="title" content="Installing BSIPA ">
  10. <meta name="generator" content="docfx 2.59.4.0">
  11. <link rel="shortcut icon" href="../favicon.ico">
  12. <link rel="stylesheet" href="../styles/docfx.vendor.css">
  13. <link rel="stylesheet" href="../styles/docfx.css">
  14. <link rel="stylesheet" href="../styles/main.css">
  15. <link rel="stylesheet" href="../styles/fix.css">
  16. <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  17. <meta property="docfx:navrel" content="../toc.html">
  18. <meta property="docfx:tocrel" content="toc.html">
  19. <meta property="docfx:rel" content="../">
  20. <meta property="docfx:newtab" content="true">
  21. </head> <body data-spy="scroll" data-target="#affix" data-offset="120">
  22. <div id="wrapper">
  23. <header>
  24. <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
  25. <div class="container">
  26. <div class="navbar-header">
  27. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
  28. <span class="sr-only">Toggle navigation</span>
  29. <span class="icon-bar"></span>
  30. <span class="icon-bar"></span>
  31. <span class="icon-bar"></span>
  32. </button>
  33. <a class="navbar-brand" href="../index.html">
  34. <img id="logo" class="svg" src="../logo.svg" alt="">
  35. </a>
  36. </div>
  37. <div class="collapse navbar-collapse" id="navbar">
  38. <form class="navbar-form navbar-right" role="search" id="search">
  39. <div class="form-group">
  40. <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
  41. </div>
  42. </form>
  43. </div>
  44. </div>
  45. </nav>
  46. <div class="subnav navbar navbar-default">
  47. <div class="container hide-when-search" id="breadcrumb">
  48. <ul class="breadcrumb">
  49. <li></li>
  50. </ul>
  51. </div>
  52. </div>
  53. </header>
  54. <div class="container body-content">
  55. <div id="search-results">
  56. <div class="search-list">Search Results for <span></span></div>
  57. <div class="sr-items">
  58. <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
  59. </div>
  60. <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></ul>
  61. </div>
  62. </div>
  63. <div role="main" class="container body-content hide-when-search">
  64. <div class="sidenav hide-when-search">
  65. <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
  66. <div class="sidetoggle collapse" id="sidetoggle">
  67. <div id="sidetoc"></div>
  68. </div>
  69. </div>
  70. <div class="article row grid-right">
  71. <div class="col-md-10">
  72. <article class="content wrap" id="_content" data-uid="articles.start.user">
  73. <h1 id="installing-bsipa">Installing BSIPA</h1>
  74. <div class="NOTE"><h5>Note</h5><p>This guide assumes that you are starting completely fresh.</p>
  75. </div>
  76. <ol>
  77. <li><p>Grab a release from the GitHub <a href="https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded/releases">Releases page</a>.
  78. Make sure to download one of the <code>BSIPA-*.zip</code>s, as <code>ModList.zip</code> contains the Beat Saber mod for showing your mods in-game, not the loader itself.</p>
  79. <div class="NOTE"><h5>Note</h5><p>The specific ZIP you need to download varies on the game you will be patching. For example, if you are patching Beat Saber, you will need the file
  80. <code>BSIPA-x64-Net4.zip</code>. This is because Beat Saber is a 64 bit game running .NET 4. If you are patching Muse Dash, however, you nee the file
  81. <code>BSIPA-x86-Net3.zip</code>.</p>
  82. </div>
  83. <div class="TIP"><h5>Tip</h5><p>There are a few tricks for figuring out which file you need. If the game has a folder called <code>MonoBleedingEdge</code> in the install directory, then you
  84. need one of the <code>Net4</code> builds. To determine <em>which</em> build to use, right click on the game executable, go to the <code>Compatability</code> tab, check the
  85. <code>Run this program in compatability mode for</code> checkbox, and look and see if the dropdown has any Windows XP emulation options. If it does, the
  86. application is 32 bit, and you need to get one of the x86 builds. Otherwise, get one of the x64 builds.</p>
  87. <p>Make sure to uncheck that checkbox before leaving the menu.</p>
  88. </div>
  89. </li>
  90. <li><p>Extract the zip into your game installation directory. There should now be a folder named <code>IPA</code> and a file named <code>IPA.exe</code> in
  91. the same folder as the game executable.</p>
  92. <p>For example, if you are installing BSIPA in Beat Saber, it might look like this after extraction:</p>
  93. <p><img src="../images/install-extracted.png" alt="What your game directory may look like after extracting BSIPA"></p>
  94. </li>
  95. <li><p>Run <code>IPA.exe</code> by double clicking it. A console window should pop up, and eventually, a gold message asking you to press a key
  96. will appear. Here is an example of a successful installation:</p>
  97. <p><img src="../images/install-successful.png" alt="A successful installation"></p>
  98. <div class="NOTE"><h5>Note</h5><p>In some cases, this may fail, something like this: <img src="../images/install-failed.png" alt="A failing installation"></p>
  99. <p>In these cases, try dragging the game executable over <code>IPA.exe</code>.</p>
  100. </div>
  101. <p>After installing, your game directory should look something like this:
  102. <img src="../images/install-correct.png" alt="A properly installed BSIPA"></p>
  103. <div class="NOTE"><h5>Note</h5><p>At this point it is recommended to run the game once before continuing, to ensure that things are installed correctly.</p>
  104. <p>The first run should create a <code>UserData</code> folder with <code>Beat Saber IPA.json</code> and <code>Disabled Mods.json</code>, as well as a
  105. <code>Logs</code> folder with several subfolders with their own files. If these are created, then the installation was very
  106. likely successful.</p>
  107. </div>
  108. <div class="TIP"><h5>Tip</h5><p>If you are not installing BSIPA on Beat Saber, you probably want to go to the config at <code>UserData/Beat Saber IPA.json</code>
  109. and set both of the following to <code>false</code>:</p>
  110. <pre><code class="lang-json">{
  111. ...
  112. &quot;Updates&quot;: {
  113. &quot;AutoUpdate&quot;: false,
  114. &quot;AutoCheckUpdates&quot;: false
  115. },
  116. ...
  117. }
  118. </code></pre></div>
  119. <div class="TIP"><h5>Tip</h5><p>Depending on the game, you may have to set the config member <code>GameAssemblies</code> to the names of the assemblies
  120. that the game uses for BSIPA to virtualize them properly.</p>
  121. <p>For Beat Saber distrobutions, this will be set according to the version that it was built for by default.
  122. Otherwise, it will contain just <code>Assembly-CSharp.dll</code> since most games use that default.</p>
  123. </div>
  124. </li>
  125. <li><p>From here, just place all of your plugins in the <code>Plugins</code> folder, and you&#39;re all set!</p>
  126. <p>Many plugins will come in a zip such that the root of the zip represents the game install directory, so all you may have to
  127. do is extract the plugin into the game installation folder.</p>
  128. </li>
  129. </ol>
  130. <div class="NOTE"><h5>Note</h5><p>For Linux users</p>
  131. <p>By default, WINE loads DLLs differently to Windows, causing issues with the injection. To make BSIPA&#39;s injection work
  132. with Wine, <code>winhttp</code> has to have a DLL override set to <code>native,builtin</code>. This is best achieved by putting
  133. <code>WINEDLLOVERRIDES=&quot;winhttp=native,builtin&quot; %command%</code> in Beat Saber&#39;s launch options in Steam.</p>
  134. <p>Alternatively, this can be set either through Protontricks, or using the following
  135. <code>.reg</code> file:</p>
  136. <pre><code class="lang-reg">REGEDIT4
  137. [HKEY_CURRENT_USER\Software\Wine\DllOverrides]
  138. &quot;winhttp&quot;=&quot;native,builtin&quot;
  139. </code></pre><p>For Steam, each game&#39;s Wine prefix is located under <code>compatdata</code>; in Beat Saber&#39;s case <code>SteamLibrary/steamapps/compatdata/620980/pfx/user.reg</code>.
  140. Changes to this file might be ovewritten when the game or Proton are updated however, so the launch options method is
  141. recommended.</p>
  142. </div>
  143. <p>Thats really all you have to do! The installation should persist across game updates for as long as <code>winhttp.dll</code> is present in
  144. the game directory, though your plugins will be moved to a different folder when it does update so things don&#39;t break horribly.</p>
  145. <h2 id="uninstalling">Uninstalling</h2>
  146. <p>Uninstalling is fairly simple, and can be done one of two ways:</p>
  147. <ol>
  148. <li>Drag the game executable over <code>IPA.exe</code> while holding <kbd>Alt</kbd>.</li>
  149. <li>Open a command prompt or Powershell terminal and run <code>.\IPA.exe -rn</code>. (see <a class="xref" href="command-line.html">The Command Line</a> for what those options mean)</li>
  150. </ol>
  151. </article>
  152. </div>
  153. <div class="hidden-sm col-md-2" role="complementary">
  154. <div class="sideaffix">
  155. <div class="contribution">
  156. <ul class="nav">
  157. <li>
  158. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/2236b34fe80ae08107933a57221e788cccbc4668/docs/articles/start-user.md/#L1" class="contribution-link">Improve this Doc</a>
  159. </li>
  160. </ul>
  161. </div>
  162. <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
  163. <h5>In This Article</h5>
  164. <div></div>
  165. </nav>
  166. </div>
  167. </div>
  168. </div>
  169. </div>
  170. <footer>
  171. <div class="grad-bottom"></div>
  172. <div class="footer">
  173. <div class="container">
  174. <span class="pull-right">
  175. <a href="#top">Back to top</a>
  176. </span>
  177. <span>Generated by <strong>DocFX</strong></span>
  178. </div>
  179. </div>
  180. </footer>
  181. </div>
  182. <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
  183. <script type="text/javascript" src="../styles/docfx.js"></script>
  184. <script type="text/javascript" src="../styles/main.js"></script>
  185. </body>
  186. </html>