“模组:使用指南/入门”的版本间的差异

来自Stardew Valley Wiki
跳到导航 跳到搜索
(Katzeus移动页面玩家常见问题使用模组:玩家常见问题,不留重定向:moving to new namespace)
第46行: 第46行:
 
===模组会损坏我的存档吗?===
 
===模组会损坏我的存档吗?===
 
 有可能,但是非常罕见。只有几个MOD会影响你的存档(包括GetDressed、Makeshift多人游戏、随时存档)。如果你不安装这些MOD,你的存档被损坏的可能性很低。如果还是担心的话,只需要定时备份[[#存档|你的存档]]。即使不使用MOD也强烈建议你这么做,因为通常存档损坏是由游戏本身造成的。
 
 有可能,但是非常罕见。只有几个MOD会影响你的存档(包括GetDressed、Makeshift多人游戏、随时存档)。如果你不安装这些MOD,你的存档被损坏的可能性很低。如果还是担心的话,只需要定时备份[[#存档|你的存档]]。即使不使用MOD也强烈建议你这么做,因为通常存档损坏是由游戏本身造成的。
 +
'''注意:切勿在节日活动或MOD场景内进行存档,这会导致存档损坏。'''
  
 
===以后可以不用模组吗?===
 
===以后可以不用模组吗?===

2019年8月14日 (三) 22:08的版本

目录


你想在星露谷物语里使用mod吗?看这个页面吧!

介绍

什么是模组\MOD?

模组即MOD,一种以某种方式改变了Stardew Valley的文件。模组可以添加功能(如在地图上显示NPC),改变游戏机制(比如让围栏坏的更慢),改变贴图(让你的房子看起来像霍比特人的家),以及更多功能。

常见的MOD有以下两种类型:

  • SMAPI模组使用SMAPI(一个改装API)在游戏中运行代码。这些模组功能强大而方便。安装SMAPI后,您可以通过将MOD放入文件夹中进行安装,或删除文件夹来卸载它们。您可以使用多个SMAPI模组,它们很少会发生冲突。理想情况下,你可以只使用SMAPI,但也有一些事情是SMAPI做不到的。
  • XNB模组 替换游戏的数据文件(.xnb扩展)。这些都比较难以管理(您需要跟踪覆盖哪些文件,并保持备份),而且您不能使用两个更改相同文件的mods。这些通常用于在游戏中改变图像,而现在SMAPI更加困难。

如果你刚开始,你应该避免使用XNB模组。这样做更容易出错,而且很难修复。但是,您可以同时使用XNB模组和SMAPI模组。

什么是SMAPI?

SMAPI是一个模组API — 使用它可以在启动游戏的时候加载MOD,并允许MOD直接作用于游戏代码。SMAPI可以安全地与普通游戏安装在一起,并且可以随时卸载它。

我可以在Linux、Mac、Windows、主机上使用模组吗?

以下平台支持使用MOD:

平台 Mod支持
Linux ✓ 完全支持
Mac ✓ 完全支持
Windows ✓ 完全支持
Nintendo Switch ✖ 不支持MOD
PS4 ✖ 不支持MOD
XBox One ✖ 不支持MOD

自从SMAPI的兼容性的修改后,几乎所有的mod都可以在任何支持MOD的平台上使用。

模组会损坏我的存档吗?

有可能,但是非常罕见。只有几个MOD会影响你的存档(包括GetDressed、Makeshift多人游戏、随时存档)。如果你不安装这些MOD,你的存档被损坏的可能性很低。如果还是担心的话,只需要定时备份你的存档。即使不使用MOD也强烈建议你这么做,因为通常存档损坏是由游戏本身造成的。 注意:切勿在节日活动或MOD场景内进行存档,这会导致存档损坏。

以后可以不用模组吗?

当然。除了一些例外(见上一个问题),大多MOD不直接影响你的存档,你可以随时停止使用它们。

使用模组会影响Steam成就吗?

只要你通过Steam启动SMAPI,就可以正常取得成就。确保你已经按照安装说明来在设置Windows上的Steam(在Linux或Mac上不需要更改Steam设置)。如果能够使用Steam overlay,就也应该能获得成就。

使用模组

安装SMAPI

在使用大多数MOD之前,您需要安装SMAPI,MOD加载器: 有关安装,更新或删除SMAPI的帮助:

寻找模组

如果你正在寻找MOD,去最有人气的网站是个很好的选择;也可以看看 第一次通关推荐MOD列表

你可以在几个地方找到MOD:

网站 描述
Nexus Mods 大多数MOD都是在这里发布的。
(注册账号是免费的,不过不要注册时选择一个package。)
Chucklefish mods 部分MOD发布在这里。(其余大多数在Nexus)
ModDrop 漂亮的新网站,MOD还不多,但是通过他们的客户端可以快速安装MOD(仅Windows)。
Stardew Valley 论坛 一些MOD直接发布在论坛。一些好东西藏在这里,但发现它们可能是一个挑战。

在你下载MOD之前……

  • 它是否适用于最新版本的游戏?(SMAPI将自动禁用大多数不兼容的SMAPI MOD,但如果是你自己安装的XNB MOD,请在安装之前检查MOD的描述或注释。)
  • 不要从stardewvalleymods.net下载MOD(这里的MOD通常是过时的,因为网站为了获得广告收入未经许可转载了这些MOD)。

添加或移除模组

只需将其解压缩到你的安装目录下的子文件夹Mods中即可安装MOD。并且确保每个MOD都放在单独的子文件夹里;例如,如果你装了一个叫做PineapplesEverywhere的MOD,你的文件结构应该是这样的:

Stardew Valley/
   Mods/
      PineapplesEverywhere/
         PineapplesEverywhere.dll
         manifest.json

要卸载MOD,只需将其从Mods文件夹中删除即可。

配置模组

有些MOD在文件夹里有个config.json文件。这个文件会在第一次使用该MOD启动游戏时创建。可以让你自定义MOD的设置。

要编辑config.json文件,不要在游戏运行时编辑文件,否则更改的设置会无法生效。请看JSON的基本指南;基本上确保值被引号包围(像这样:"value")。你可使用JSON验证器来确保格式正确。

查找游戏文件

存档

请看存档页面。

游戏文件夹

"游戏文件夹"就是包含Stardew Valley.exe(Windows)或StardewValley.exe (Linux/Mac)的文件夹。以下是找到它的方法:

  1. 检查默认位置:
    平台 路径
    Windows GOG: C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley
    Steam: C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley
    Linux GOG: ~/GOG Games/Stardew Valley/game
    Steam: ~/.local/share/Steam/steamapps/common/Stardew Valley
    Mac GOG: /Applications/Stardew Valley.app/Contents/MacOS
    Steam: ~/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS
  2. 如果没有在以上位置找到你的游戏,试试下面的方法:
    • 如果你的游戏是GOG版本:
      1. 打开GOG Galaxy客户端。
      2. 在游戏侧栏中,右键单击Stardew Valley
      3. 选择Manage Installation > Show Folder打开游戏文件夹。
    • 如果你的游戏是Steam版本:
      1. 打开Steam客户端。
      2. 右键单击Stardew Valley.
      3. 点击属性.
      4. 点击本地文件标签页。
      5. 点击浏览本地文件...'按钮即可打开游戏文件夹。

SMAPI日志

SMAPI日志里的信息有助于故障排除。里面包括了你的游戏版本和SMAPI版本,装了什么MOD,游戏的安装位置,发生的错误以及情况。 以下是分享SMAPI日志的方法:

  1. 在这里查找日志文件:
    平台 路径
    Windows %appdata%\StardewValley\ErrorLogs\SMAPI-latest.txt
    (可以直接粘贴"%appdata%"到地址栏,Windows知道它在哪里)
    Linux ~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt
    (该文件夹默认隐藏。从文件点击Go » Enter Location并输入"~/.config".)
    Mac ~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt
    (该文件夹默认隐藏。从Finder,点击Go » Go to Folder并输入"~/.config".)

    (如果你看到的是MODDED_ProgramLog.Log_LATEST.txt文件的话,说明SMAPI的版本太旧了,请升级到最新版本。)

  2. 如果你要分享这个文件...


故障排除

修复常见的错误消息

  • "哎呀!SMAPI找不到游戏了。"
    • 请确定你运行的是游戏文件夹里的StardewModdingAPI.exe(请看安装说明)
    • 你是否手动安装了SMAPI(不使用install.exe)?请确保你已复制了正确的文件:Windows上是internal/Windows ,Linux/Mac上是internal/Mono
  • "哎呀!SMAPI似乎与游戏不兼容。"
    • 确保你的游戏是1.2.30或更高版本。
  • "跳过 '...' 因为找不到manifest.json"
    • SMAPI找不到该MOD文件夹​​中的manifest.json文件。一般来说这表示安装的不是一个SMAPI MOD,所以放在Mods文件夹里无法生效。请参阅该MOD文档的安装说明。

SMAPI文件消失或杀毒软件报错

你的杀毒软件可能会删除或报错某些SMAPI文件。这是因为启发式检测 - SMAPI改写MOD使其在你的计算机上工作,恶意软件也会改写文件,所以杀毒软件才会报错。 SMAPI没有木马程序 - 这点你可以通过阅读代码反编译下载或将其上传到VirusTotal进行检查。你只需要告诉你的杀毒软件“SMAPI是安全的”就可以了;可以搜索杀毒名称+“添加白名单”来查找教程。

检查版本

  1. 确保你安装了最新版本的SMAPI
    SMAPI版本显示在SMAPI控制台窗口的顶部。
  2. 确保你的游戏是1.2.30或更高版本。
    点击游戏标题画面的问号按钮,版本会显示在左下方。

重置Content文件夹

许多问题是由Content文件夹中的文件损坏引起的(尤其是使用了XNB模组)。可以重置游戏文件来解决这个问题。

选项 1: 重置所有文件(推荐)
  1. 参见说明:Steam版GOG Galaxy版。所有的XNB MOD将被删除,SMAPI MOD不受到影响。
  2. 如果你是在Linux / Mac上使用SMAPI,请重新安装SMAPI来修复启动器。
选项 2: 重置一个文件
如果你安装了XNB模组并且想要重置一个已知会引起错误的文件,你可以恢复备份的原始游戏文件。如果你之前忘记做备份了,以下是恢复原始文件,且不会丢失修改的文件的方法:
  1. 复制一个游戏安装目录下的Content文件夹,重命名为Content-modded
  2. 重置游戏文件夹(参见说明:Steam版GOG Galaxy版)。
  3. 复制一个(重置过的)Content文件夹,重命名为Content-backup
  4. Content-modded里的内容复制到Content
这样你的content文件夹仍然是打了MOD的,但是你有了原始文件的备份。
选项 3: 排查XNB模组
如果你安装了很多XNB模组,不确定导致该出错的MOD是哪一个,并且不想删除所有XNB模组,以下是找到出错MOD的方法。
  1. 备份所有想保留的XNB模组。
  2. 重置游戏文件(参见说明:Steam版GOG Galaxy版)。所有的XNB MOD将被删除,SMAPI MOD不受到影响。
  3. 如果你是在Linux / Mac上使用SMAPI,请重新安装SMAPI来修复启动器。
  1. 启动游戏,看看问题是否解决。
  2. 一个一个的安装备份的MOD,每安装一个就打开游戏测试,以确保MOD不会出问题。

SEHException: 外部组件发生异常

你可能会在错误提示中看到类似SEHException的文字:

System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
   at new[](UInt32 )
   at Microsoft.Xna.Framework.Audio.UnsafeNativeMethods.AllocateArrayAndReadFile(String filename, Void** ppData, UInt32* pdwBufferSize)
   at Microsoft.Xna.Framework.Audio.UnsafeNativeMethods.WaveBank.CreateHandle(UInt32 hEngine, String string, Int32 length, IntPtr& pCleanup)
   at Microsoft.Xna.Framework.Audio.WaveBank..ctor(AudioEngine audioEngine, String nonStreamingWaveBankFilename)
   at StardewValley.Game1.Initialize()
   at StardewModdingAPI.Inheritance.SGame.Initialize() in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Inheritance\SGame.cs:line 302
   at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
   at Microsoft.Xna.Framework.Game.Run()
   at StardewModdingAPI.Program.StartGame() in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Program.cs:line 274

这个错误发生在游戏的音频启动代码中,它对音频准备就绪之前使用的资源非常敏感。这不是由SMAPI直接引起的,尽管SMAPI在启动过程中使用了一些额外的资源。

通常解决方案

  • 重启你的电脑。
  • 在打开游戏前关闭浏览器和其他程序。(可以在游戏开始后重新打开它们)
  • 删除任何更改游戏音频的MOD(例如添加更多音乐的MOD)。

其他问题

不通过SMAPI运行游戏,方法是打开游戏文件夹中的Stardew Valley.exe(Windows)或StardewValley-original(Linux / Mac)。

寻求帮助

寻找帮助

关于MOD的问题,直接问MOD作者是最好的方式。以下是与他们取得联系的最佳方式:

  1. 在MOD页面上的讨论贴链接(如果有的话);
  2. Nexus MOD页面上的“BUG”页面(如果有的话);
  3. 也可以直接与作者联系(例如使用Nexus MOD页面上的“Contact”按钮)。

如果是关于SMAPI的问题,或者你无法联系上MOD的作者,请到这里跟帖在Discord上询问。

在上报错误时需要包含的内容

让其他人弄清楚你的游戏因为什么出现错误是很困难的一件事,所以如果你尽可能的多地提供一些信息可以帮助别人解答你的问题。以下是你可以提供的最有用信息。

  1. 描述你的问题:
    • 哪个mod有问题?
    • 问题是什么?尽可能详细描述。(游戏是否卡住或闪退?是否变黑屏?还是什么都没发生?)
    • 当游戏出错时你在做什么?你有发现什么固定规律吗?例如,当你做某件事情时总是会发生崩溃。
  2. 描述你的使用环境:
    • 你是否使用MOD管理软件?如果有,写出软件名字。
    • 你在Linux,Mac还是Windows上玩?
  3. 重现这个游戏错误(这样在日志中会记载详细信息),然后把最新日志文件的复制粘贴上去(请看上一部分)。