模组:在 Windows 上使用 64 位游戏

来自Stardew Valley Wiki
跳到导航 跳到搜索

目录

此页面的内容会告诉你如何使用 64 位的星露谷

对于玩家

64位意味着什么?

程序的“位数”会影响它可以使用的内存量。目前Windows上的星露谷是32位的,32位的应用程序只能使用 4 GB的运行内存。
32位适用于大多数玩家,但那些拥有大量模组(或大型模组或需要大量消耗内存的模组)的玩家可能会遇到 OutOfMemoryException 错误。
使用64位程序可以无限制使用内存(如果计算机本身有足够的可用内存)。

我是否需要64位?

只有在 Windows 上遇到 OutOfMemoryException 错误时才需要。否则请保持32位版本,更简单且兼容性好。

SMAPI 会放弃32位支持吗?

SMAPI 将始终支持游戏的正式版本,SMAPI 安装程序会自动检测您的游戏是 32 位还是 64 位版本。

我该如何启用64位版本?

参阅下面的 启用64位版本

对于模组作者

确保已参阅上方的 对于玩家 内容

这是模组的末日吗?

不,绝大多数玩家都会使用普通的 32 位版本。这只会影响那些必须要使用64位游戏的玩家,并且大多数模组已经与 64 位游戏兼容。

如何更新到 64 位的模组代码?

大多数 SMAPI 模组 已经可以在 32 位和 64 位模式下工作,并且其内容包也不需要做任何事情(如果加载它们的 SMAPI 模组是兼容的,那它们就是兼容的)。
对于 SMAPI 模组,64 位兼容性有两个主要要求:

检查 目标平台 设置
Constants.TargetPlatform 指示模组是在 Android、Linux、MacOS 还是 Windows 上运行。 如果你使用它来区分 XNA Framework(在 Windows 上)和 MonoGame(在其他平台上),则应该改用新的 Constants.GameFramework
不要设置为 x86
新的模组项目默认选择 Any CPU 如果你将其更改为了 x86,则需要将其更改回 Any CPU 以避免在 64 位游戏上出现错误。 修复受影响的模组:
  1. 在每个模组的 .csproj 项目文件中,删除这些内容(如果有的话):
        <Platforms>x86</Platforms>
        <PlatformTarget>x86</PlatformTarget>
    

    如果模组使用了旧的项目格式(比如说,没有 <Project Sdk="Microsoft.NET.Sdk">),参阅 如何将项目配置为目标平台 来设置到 Any CPU.

  2. 完全退出 Visual Studio.
  3. .sln 解决方案文件中把所有 x86 替换成 Any CPU.

启用64位版本

下载 Linux 版本

首先需要一个单独的 Linux 版本的游戏。要下载它,请按照以下适用于您的游戏平台的说明进行操作。

适用于 Steam 平台:
  1. 在你的浏览器地址栏中输入 steam://nav/console 访问,来启用 Steam 控制台
  2. 在控制台中运行此命令:download_depot 413150 413153
  3. 等待下载完成。
    这可能需要很长时间,并且不会显示任何下载进度。最终控制台会输出“Depot download complete”并显示下载文件夹的路径。
  4. 最终下载的游戏文件路径会显示在 Steam 控制台中

或者,如果你对命令行非常熟悉,你可以使用 DepotDownloader 开源工具. 在这种情况下,下载的文件夹将位于 depots 文件夹下,该文件夹将在运行该工具时所在的文件夹下创建。这是解释这些步骤的视频

适用于 GOG 平台:(这部分内容需要实际操作来校正翻译)
  1. 通过 Microsoft Store 安装 Python
  2. 在你的 GOG web library:点击 Stardew Valley, 在“System”下拉列表中选择 Linux,然后下载 列表中显示的安装程序文件。
  3. Yepoleb/gogextract 下载 gogextract.py 并放到上面下载好的文件的同一目录中
  4. 在这个目录中打开控制台,并运行命令: (如果需要,更改 .sh 的文件名):
    python gogextract.py stardew_valley_1_5_4_981587505_44377.sh stardew-valley-installer
  5. 在解压后的文件夹中,解压 data.zip.
  6. 下载的游戏位于解压的 data/noarch/game 文件夹中

安装教程

  1. 将所有模组更新到最新版本(因为它们可能会添加 64 位支持)。
  2. 如果你还没有准备好的话,先下载 Linux 版本.
    这将会下载到一个新的游戏,使用这个下载的游戏版本继续操作,而不是原来的版本
  3. 让游戏成为64位:
    1. 下载 最新的 Stardew64Installer 安装程序 并解压,别忘了运行库需求
    2. 运行 Stardew64Installer.exe 并按照程序的提示进行操作(记得要看懂英语,不然大佬会气死的,实在看不懂就用机翻)
  4. 安装 SMAPI 64 位:
    1. 下载 SMAPI 最新版 并解压
    2. 在下载的游戏文件夹中运行 Windows SMAPI 安装程序(或者你可以在安装时输入64位游戏的路径)

完成了!现在运行 StardewModdingAPI.exe,游戏应该是64位的了

故障排除

画面撕裂
部分玩家在64位中汇报了 画面撕裂 问题. 尝试以下修复操作:
  • 确保在游戏内选项菜单中启用了垂直同步
  • 以窗口模式运行,而不是全屏或者无边框窗口
"Unhandled exception: System.Reflection.TargetInvocationException: [...] Could not load file or assembly 'SMAPI.Toolkit[...]"
确保你运行的是 StardewModdingAPI.exe, 而不是 StardewValley.exe. 如果没有 SMAPI,64 位版本的游戏将无法运行。
其他问题
参阅 Modding:Help for the best places to ask.
64位的游戏版本是 非官方的. 不要在这个版本上给开发者汇报模组问题