Line 4: |
Line 4: |
| | | |
| ==Prepare the release package== | | ==Prepare the release package== |
− | The 'release package' for a SMAPI mod is just a <tt>.zip</tt> file containing a mod with your compiled files, <tt>manifest.json</tt>, any <tt>i18n</tt> files, etc. The NuGet package will create it for you automatically.
| |
| | | |
− | ===Generate package=== | + | ===For SMAPI mods=== |
− | # Edit your mod's <tt>manifest.json</tt> to increase the version. | + | The 'release package' for a SMAPI mod is just a <samp>.zip</samp> file containing a mod with your compiled files, <samp>manifest.json</samp>, any <samp>i18n</samp> files, etc. The NuGet package will create it for you automatically. |
| + | |
| + | ====Generate package==== |
| + | # Edit your mod's <samp>manifest.json</samp> to increase the version. See [http://semver.org/ semantic version] for more information on version numbering. |
| # Click ''Build > Rebuild Solution'' (Visual Studio) or ''Build > Rebuild All'' (MonoDevelop) to make sure the project is compiled. | | # Click ''Build > Rebuild Solution'' (Visual Studio) or ''Build > Rebuild All'' (MonoDevelop) to make sure the project is compiled. |
− | # Open your mod project's <tt>bin/Debug</tt> or <tt>bin/Release</tt> folder (depending on your build configuration). | + | # Open your mod project's <samp>bin/Debug</samp> or <samp>bin/Release</samp> folder (depending on your build configuration). |
− | # There should be a <tt>.zip</tt> file there for your mod version. | + | # There should be a <samp>.zip</samp> file there for your mod version. |
| | | |
− | That <tt>.zip</tt> file is the release package for your mod, ready to upload. | + | That <samp>.zip</samp> file is the release package for your mod, ready to upload. |
| | | |
− | ===Troubleshoot package=== | + | ====Troubleshoot package==== |
− | Here's how to fix common issues with the generated <tt>.zip</tt> file. | + | Here's how to fix common issues with the generated <samp>.zip</samp> file. |
| | | |
− | * The <tt>.zip</tt> file is missing: | + | * The <samp>.zip</samp> file is missing: |
− | ** Make sure you're looking at the right folder (either <tt>bin/Debug</tt> or <tt>bin/Release</tt>). | + | ** Make sure you're looking at the right folder (either <samp>bin/Debug</samp> or <samp>bin/Release</samp>). |
| ** Make sure there are no build errors. | | ** Make sure there are no build errors. |
| | | |
Line 28: |
Line 30: |
| ** If it's a mod file: right-click on the file in Visual Studio or MonoDevelop, choose ''Properties'', and change 'Copy to Output Directory' to 'do not copy'. | | ** If it's a mod file: right-click on the file in Visual Studio or MonoDevelop, choose ''Properties'', and change 'Copy to Output Directory' to 'do not copy'. |
| ** If it's an assembly reference: right-click on the reference in Visual Studio or MonoDevelop, choose ''Properties'', and change 'Copy Local' or 'Local Copy' to false. | | ** If it's an assembly reference: right-click on the reference in Visual Studio or MonoDevelop, choose ''Properties'', and change 'Copy Local' or 'Local Copy' to false. |
| + | |
| + | ===For content pack mods=== |
| + | The 'release package' for a content pack mod is just a <samp>.zip</samp> file containing a mod with your files, which must include at least a <samp>manifest.json</samp> and a <samp>content.json</samp>. See the specific guidelines for your framework mod that you are using. |
| + | |
| + | ====Create a content pack==== |
| + | # Create a folder with the name you want (see [[Modding:Content_packs#Folder name|folder naming convention]]). |
| + | # Inside the folder: |
| + | #* Add a <samp>manifest.json</samp> file with the <samp>ContentPackFor</samp> field (see [[Modding:Modder Guide/APIs/Manifest|manifest format]]). |
| + | #* Add the files needed by the mod that will read it. (See the instructions for the mod for which you're creating the content pack.) |
| + | # Launch the game, and make sure your new content pack appears under "Loaded X content packs" in the SMAPI console. |
| + | |
| + | ====Release your content pack==== |
| + | # Add an [[Modding:Modder Guide/APIs/Manifest#Update checks|update key]] to your manifest (if you haven't already). |
| + | # Update the <samp>Version</samp> field in the manifest. (Increase it for each release! SMAPI will use it for update and compatibility checks.) See [http://semver.org/ semantic version] for more information on version numbering. |
| + | # Create a <samp>.zip</samp> file containing the content pack's folder. |
| + | # Upload that file to your chosen release site. See below guide to sites. |
| | | |
| ==Release the mod== | | ==Release the mod== |
Line 33: |
Line 51: |
| | | |
| ====Create a mod page==== | | ====Create a mod page==== |
− | If you haven't alrea=dy, create a mod page on [http://www.nexusmods.com/stardewvalley Nexus Mods]. Ideally your mod description should... | + | If you haven't already, create a mod page on [http://www.nexusmods.com/stardewvalley Nexus Mods]. Ideally your mod description should... |
| * explain what the mod does and how to use it; | | * explain what the mod does and how to use it; |
| * provide clear install steps; | | * provide clear install steps; |
Line 60: |
Line 78: |
| [size=5]Compatibility[/size] | | [size=5]Compatibility[/size] |
| [list] | | [list] |
− | [*]Works with Stardew Valley 1.3 beta on Linux/Mac/Windows. | + | [*]Works with Stardew Valley 1.5.6 on Linux/macOS/Windows. |
− | [*]Works in single player and multiplayer. If there are multiplayer limitations, explain them here. | + | [*]Works in single player, multiplayer, and split-screen mode. If there are multiplayer limitations, explain them here. |
| [/list] | | [/list] |
| | | |
Line 87: |
Line 105: |
| # From your mod page, go to ''Manage > Files''. | | # From your mod page, go to ''Manage > Files''. |
| # Fill in the form: | | # Fill in the form: |
− | #* 'File name' should have the mod name and version (like <tt>PineapplesEverywhere 1.0</tt>). | + | #* 'File name' should have the mod name and version (like <samp>PineapplesEverywhere 1.0</samp>). |
− | #* 'File version' field should match the version in your <tt>manifest.json</tt>! If it doesn't, players may get incorrect update alerts. | + | #* 'File version' field should match the version in your <samp>manifest.json</samp>! If it doesn't, players may get incorrect update alerts. |
| #* Tick the "this is the latest version" checkbox so players get update alerts. | | #* Tick the "this is the latest version" checkbox so players get update alerts. |
| #* 'File description' is up to you. You can mention the minimum SMAPI version (if any), what changed, link to release notes, etc. | | #* 'File description' is up to you. You can mention the minimum SMAPI version (if any), what changed, link to release notes, etc. |
− | # Upload the <tt>.zip</tt> file [[#Prepare the release package|you prepared above]]. | + | # Upload the <samp>.zip</samp> file [[#Prepare the release package|you prepared above]]. |
| | | |
| ===Using ModDrop=== | | ===Using ModDrop=== |
Line 97: |
Line 115: |
| ====Release via webpage==== | | ====Release via webpage==== |
| <ol> | | <ol> |
− | <li>Go to [https://www.moddrop.com/stardew-valley/ ''ModDrop''] and choose <tt>Upload Your Mod</tt>.</li> | + | <li>Go to [https://www.moddrop.com/stardew-valley/ ''ModDrop''] and choose <samp>Upload Your Mod</samp>.</li> |
| <li>Confirm that the mod is yours to publish to proceed.</li> | | <li>Confirm that the mod is yours to publish to proceed.</li> |
− | <li>Choose <tt>Upload a File from Your Computer</tt>.</li> | + | <li>Choose <samp>Upload a File from Your Computer</samp>.</li> |
− | <li>Choose a name for your mod and upload the <tt>.zip</tt> file [[#Prepare the release package|you prepared above]]. Page will display a green check next to the mod name if that name is available to use.</li> | + | <li>Choose a name for your mod and upload the <samp>.zip</samp> file [[#Prepare the release package|you prepared above]]. Page will display a green check next to the mod name if that name is available to use.</li> |
| <li>Choose the name of the mod file you want to display, the version number, release status (alpha, beta, release), add a description ([[Modding:Modder_Guide/Release#Create_a_mod_page|see the Nexus description tips]]), and optionally add patch notes or notes for yourself.</li> | | <li>Choose the name of the mod file you want to display, the version number, release status (alpha, beta, release), add a description ([[Modding:Modder_Guide/Release#Create_a_mod_page|see the Nexus description tips]]), and optionally add patch notes or notes for yourself.</li> |
| <li>Upload an image for your mod.</li> | | <li>Upload an image for your mod.</li> |
Line 109: |
Line 127: |
| ====Release via app==== | | ====Release via app==== |
| <ol> | | <ol> |
− | <li>Open [https://www.moddrop.com/app/ ''ModDrop app''] and click on your username (top right corner). Choose <tt>Forge</tt>.</li> | + | <li>Open [https://www.moddrop.com/app/ ''ModDrop app''] and click on your username (top right corner). Choose <samp>Forge</samp>.</li> |
− | <li>Choose <tt>Publish a new mod</tt>.</li> | + | <li>Choose <samp>Publish a new mod</samp>.</li> |
| <li>Follow the same steps as listed above for the site.</li> | | <li>Follow the same steps as listed above for the site.</li> |
| </ol> | | </ol> |
Line 116: |
Line 134: |
| ====Sync Nexus mods to ModDrop==== | | ====Sync Nexus mods to ModDrop==== |
| <ol> | | <ol> |
− | <li>Open [https://www.moddrop.com/app/ ''ModDrop app''] and click on your username (top right corner). Choose <tt>Forge</tt>.</li> | + | <li>Open [https://www.moddrop.com/app/ ''ModDrop app''] and click on your username (top right corner). Choose <samp>Forge</samp>.</li> |
− | <li>Choose <tt>Sync my mods from another site</tt>.</li> | + | <li>Choose <samp>Sync my mods from another site</samp>.</li> |
| <li>Follow the prompts to add your Nexus API key.</li> | | <li>Follow the prompts to add your Nexus API key.</li> |
− | <li>Choose <tt>Find new mods to sync</tt> and follow the prompts.</li> | + | <li>Choose <samp>Find new mods to sync</samp> and follow the prompts.</li> |
| <li>Confirm that the mod is yours to publish and that ModDrop is allowed to sync updates from your Nexus account.</li> | | <li>Confirm that the mod is yours to publish and that ModDrop is allowed to sync updates from your Nexus account.</li> |
| <li>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.</li> | | <li>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.</li> |
| </ol> | | </ol> |
| + | |
| + | ====Add update keys to your manifest==== |
| + | Update keys tell SMAPI where your mod is released, so it can let players know when a new version is available. This requires your mod ID, which can be found after creating the mod page. See the [[Modding:Modder Guide/APIs/Manifest#Update checks|update check docs]] for more info. |
| | | |
| ==Go open-source== | | ==Go open-source== |
| Making your mods open-source is highly recommended; see [[Modding:Open source]] for more info. | | Making your mods open-source is highly recommended; see [[Modding:Open source]] for more info. |
| | | |
− | {{modding guide footer
| + | [[es:Modding:Guía del Modder/Lanzamiento]] |
− | |prev = [[Modding:Modder Guide/Test and Troubleshoot|Test and Troubleshoot]]
| |
− | |next = [[Modding:Modder Guide/Game Fundamentals|Game Fundamentals]]
| |
− | }}
| |