BWIKI 全站将于 9 月 3 日(全天)进行维护,期间无法编辑任何页面或发布新的评论。
模组:制作指南/发布
← 模组:目录
当您已经准备好分享您的模组,就可以发布它了!
准备发布包
对于SMAPI模组
SMAPI 模组的“发布包”是一个 .zip 文件,其中包含编译后的文件,manifest.json,i18n 文件等。NuGet 包会自动为您创建它。
生成发布包
- 在您模组的 manifest.json 文件中更新版本信息。参见“语义化版本”以了解如何设置版本编号。
- 点击 "Build > Rebuild Solution"(Visual Studio)或 "Build > Rebuild All"(MonoDevelop)以确保项目得到了编译。
- 打开您模组项目的 bin/Debug 或 bin/Release 文件夹(具体是哪一个取决于您的构建配置)。
- 现在应该能得到一个对应您模组版本的 .zip 文件了。
得到的 .zip 就是您模组的发布包,现在可以着手上传了。
疑难解答
下面提供了关于生成 .zip 发布包的常见问题的解答。
- 找不到 .zip 文件:
- 请确保您正在浏览正确的文件夹(bin/Debug 或 bin/Release)。
- 请确保没有发生构建错误。
- 发布包中缺失某些文件:
- 若为模组文件:在 Visual Studio 或 MonoDevelop 中右击该文件,选择 "Properties",然后将 "Copy to Output Directory" 改为 "copy if newer"。
- 若为引用程序集:在 Visual Studio 或 MonoDevelop 中右击该引用,选择 "Properties",然后将 "Copy Local" 或 "Local Copy" 改为 True。
- 发布包中多出了某些文件:
- 若为模组文件:在 Visual Studio 或 MonoDevelop 中右击该文件,选择 "Properties",然后将 "Copy to Output Directory" 改为 "do not copy"。
- 若为引用程序集:在 Visual Studio 或 MonoDevelop 中右击该引用,选择 "Properties",然后将 "Copy Local" 或 "Local Copy" 改为 False。
对于内容包模组
内容包模组的“发布包”只是一个 .zip 文件,其中至少需要包含一个 manifest.json 文件和一个 content.json 文件。请参阅您所使用的模组框架的专门指南。
创建内容包
- 创建一个文件夹,其名称由您决定(参见文件夹命名惯例)。
- 在这个文件夹中执行如下操作:
- 添加一个manifest.json 文件,需要包含 ContentPackFor 字段(参见 manifest 格式)。
- 添加模组需要读取的文件(请参阅您所使用的模组框架的专门指南)。
- 启动游戏,并确保您的新内容包出现在 SMAPI 控制台的 "Loaded X content packs" 下面。
发布您的内容包
- 向清单文件添加一个更新键(如果之前没有)。
- 更新清单文件中的 Version 字段。(每次发布新版本,都请更新此字段。SMAPI 会利用此版本号来检查更新及兼容性。) 参见“语义化版本”以了解如何设置版本编号。
- 创建一个包含内容包文件夹的 .zip 文件。
- 将上述压缩包上传到您的发布网站。参见如下针对各网站的指南。
发布模组
使用Nexus Mods
创建模组页面
如果您还没有创建模组页面,请在 Nexus Mods 上新建一个模组页面。理想状态下您的模组描述应当做到:
- 解释这个模组能做什么,以及如何使用它;
- 提供清晰易懂的安装步骤;
- 解释这个模组适用于哪些游戏版本;
- 说明这个模组能否用于多人游戏(并列出多人游戏限制,如果有);
- 提供指向发布说明、源代码、讨论话题等的链接,如果有。
如下是模组描述的一个推荐性模板:
- 点击 Nexus 模组描述上方的 "[BBCODE]" 按钮。这会切换到原始文本模式。
- 粘贴如下模板:
This mod adds pineapples everywhere in the game. Replace this line with a few sentences explaining your mod. [size=5]Install[/size] [list=1] [*][url=https://smapi.io]Install the latest version of SMAPI[/url]. [*]Download this mod and unzip it into [font=Courier New]Stardew Valley/Mods[/font]. [*]Run the game using SMAPI. [/list] [size=5]How to use[/size] Provide a few sentences explaining how to use your mod. For example, the default buttons to press, where to find a menu, etc. You can remove this section if it's self-evident. [size=5]Compatibility[/size] [list] [*]Works with Stardew Valley 1.5.6 on Linux/macOS/Windows. [*]Works in single player, multiplayer, and split-screen mode. If there are multiplayer limitations, explain them here. [/list] [size=5]See also[/size] Add links below for your mod, and remove any that don't apply. Don't forget to remove this sentence. [list] [*]Official discussion thread [*]Release notes [*]Source code [/list]
- 点击 "[BBCODE]" 按钮以切换回格式化视图。
- 根据您模组的具体信息修改模板。
向清单文件添加更新键
更新键会告诉 SMAPI 您的模组发布的地点,因此 SMAPI 就可以告知玩家其模组是否为最新版。这需要您的模组 ID,后者在您创建模组页面时会自动生成(无需上传模组文件也能拥有ID)。参见更新检查文档以获取更多信息。
上传模组发布版
按如下步骤上传文件到 Nexus:
- 在您的模组页面,点击 "Manage > Files"。
- 填写表格:
- "File name" 应当包含模组名称和版本(例如 PineapplesEverywhere 1.0)。
- "File version" 字段应当和您的 manifest.json 保持一致!若不一致,玩家可能收到错误的更新提醒。
- 勾选 "this is the latest version",这样玩家就能收取更新提醒了。
- "File description" 由您自主填写。您可以在此提及所需的 SMAPI 最低版本(若有)、改动内容、指向发布说明的链接等。
- 上传您准备好的 .zip 文件。
使用ModDrop
通过网页发布
- 前往ModDrop 并选择 Upload Your Mod。
- 在继续下面的步骤之前,请确认模组属于您以发布。
- 选择 Upload a File from Your Computer。
- 为您的模组取一个名字,并上传准备好的 .zip 文件。如果您取的名字可用,其旁边就会显示一个绿色的对勾。
- 选择您希望显示的模组文件名、版本号、发布状态(Alpha、Beta、发布版等),添加描述(参见 Nexus 描述提示),并酌情添加补丁说明或您自己的说明。
- 上传模组图片。
- 现在您可以丰富模组页面的细节,例如添加指向您模组的其他页面的链接。您也可以添加更多要展示给用户的文件、图像、视频、注意事项等。您也可以为您的模组选择一个分类。若您正在替他人上传(假设已得允许),您也可以添加一个制作成员章节。
- 再次确认您有权上传此模组以发布。您可以退出这个页面,并在稍后继续。
通过app发布
- 打开 ModDrop app,点击您的用户名(右上角)。选择 Forge。
- 选择 Publish a new mod。
- 余下步骤和上文提及的相同。
将Nexus同步到ModDrop
- 打开 ModDrop app 并点击您的用户名(右上角)。选择 Forge。
- 选择 Sync my mods from another site。
- 遵照提示添加您的 Nexus API key。
- 选择 Find new mods to sync 并遵循提示操作。
- 确认 Confirm that the mod is yours to publish and that ModDrop is allowed to sync updates from your Nexus account.
- You will receive a confirmation that the request is complete. ModDrop reviews all submissions, so it may take some time for your mod to appear on the app/site.
向清单文件添加更新键
更新键会告诉 SMAPI 您的模组发布的地点,因此 SMAPI 就可以告知玩家其模组是否为最新版。这需要您的模组 ID,后者在您创建模组页面时会自动生成(无需上传模组文件也能拥有ID)。参见更新检查文档以获取更多信息。
开源
强烈建议您开源模组;参见模组:开源代码以获取更多信息。