Difference between revisions of "Modding:Player Guide"

From Stardew Valley Wiki
Jump to navigation Jump to search
(copy from canimod.com's "using mods" page with permission, dual-licensed CC BY-NC-SA for compatibility with wiki. Main author is Pathoschild, with contributions from User:KNakamura.)
(format content for wiki, reorganise into unified FAQs, minor updates and corrections)
Line 1: Line 1:
 
←[[Modding:Index|Index]]
 
←[[Modding:Index|Index]]
  
<pre>
+
Do you want to play Stardew Valley with mods? This page is for you!
---
 
layout: default
 
title: Player's guide to using mods » intro
 
intro: >
 
  Welcome to Stardew Valley modding! This guide will help you install mods and
 
  fix any problems that come up.
 
permalink: /for-players/intro
 
---
 
  
<div class="scroll-box" style="float: right;">
+
==Intro==
    <strong>For players</strong>
+
===What are mods?===
    <ul>
+
A ''mod'' is just a package of files which changes Stardew Valley in some way. Mods can add features (like showing NPCs on the map), change game mechanics (like making fences decay more slowly), make cosmetic changes (like making your house look like a hobbit home), and more.
        <li><strong>Intro</strong></li>
 
        <li><a href="/for-players/install-smapi">Install SMAPI</a></li>
 
        <li><a href="/for-players/use-mods">Use mods</a></li>
 
        <li><a href="/for-players/faqs">Troubleshooting & FAQs</a></li>
 
    </ul>
 
</div>
 
 
 
## What are mods?
 
A _mod_ is just a package of files which changes Stardew Valley in some way. Mods can add features
 
(like showing NPCs on the map), change game mechanics (like making fences decay more slowly), make
 
cosmetic changes (like making your house look like a hobbit home), and more.
 
  
 
There are generally two types of mods:
 
There are generally two types of mods:
 +
* '''SMAPI mods''' use SMAPI (a modding API) to run code within the game. These mods are powerful and convenient. After installing SMAPI, you can install mods by dropping them into a folder and uninstall them by deleting their folder. You can use multiple SMAPI mods, and they'll rarely conflict. Ideally you would only use SMAPI mods, but there are a few things they can't do yet.
 +
* '''XNB mods''' replace the game's data files (which have an <tt>.xnb</tt> extension, thus the name). These are harder to manage (you'll need to keep track of which files you overwrote and keep backups), and you can't use two mods that change the same files. These are often used to change images in the game, which is currently harder with SMAPI.
  
* **SMAPI mods** use SMAPI (a modding API) to run code within the game. These mods are powerful and
+
If you're just starting out, you should avoid XNB mods. It's easier for something to go wrong with those, and harder to fix when it does. However, you can use XNB and SMAPI mods together.
  convenient. After installing SMAPI, you can install mods by dropping them into a folder and
 
  uninstall them by deleting their folder. You can use multiple SMAPI mods, and they'll rarely
 
  conflict. Ideally you would only use SMAPI mods, but there are a few things they can't do yet.
 
* **XNB mods** replace the game's data files (which have an `.xnb` extension, thus the name).
 
  These are harder to manage (you'll need to keep track of which files you overwrote and keep
 
  backups), and you can't use two mods that change the same files. These are often used to change
 
  images in the game, which is currently harder with SMAPI.
 
 
 
If you're just starting out, you should avoid XNB mods. It's easier for something to go wrong with
 
those, and harder to fix when it does. However, you can use XNB and SMAPI mods together.
 
 
 
## What is SMAPI?
 
[SMAPI](https://github.com/Pathoschild/SMAPI) is a modding API — it launches the game with mod
 
support and lets mods interact directly with the game code. It's safely installed alongside your
 
normal game, and you can uninstall it anytime.
 
 
 
## Common questions
 
### Can I use mods on Linux/Mac/Windows?
 
Yep. SMAPI is officially compatible with Linux, Mac, and Windows. You can use almost all mods on
 
any platform, since SMAPI rewrites them for compatibility.
 
 
 
### Are mods safe?
 
Mods are usually perfectly safe. SMAPI is installed alongside your game and doesn't change any of
 
the game files, so you can stop using it anytime. Most mods don't affect your save file, so you can
 
add or remove them at will. It's a good idea to back up your save files even if you don't use mods
 
(save problems are almost always caused by the game itself).
 
  
<div class="scroll-box" style="display: inline-block;">
+
===What is SMAPI?===
<big><strong>next:</strong> <a href="/for-players/install-smapi">Install SMAPI →</a></big>
+
[https://github.com/Pathoschild/SMAPI SMAPI] is a modding API — it launches the game with mod support and lets mods interact directly with the game code. It's safely installed alongside your normal game, and you can uninstall it anytime.
</div>
 
</pre>
 
  
<pre>
+
===Can I use mods on Linux/Mac/Windows?===
---
+
Yep. SMAPI is officially compatible with Linux, Mac, and Windows. You can use almost all mods on any platform, since SMAPI rewrites them for compatibility.
layout: default
 
title: Player's guide to using mods » use mods
 
intro: >
 
  Welcome to Stardew Valley modding! This guide will help you install mods and
 
  fix any problems that come up.
 
permalink: /for-players/use-mods
 
---
 
  
<div class="scroll-box" style="float: right;">
+
===Are mods safe?===
    <strong>For players</strong>
+
Mods are usually perfectly safe. SMAPI is installed alongside your game and doesn't change any of the game files, so you can stop using it anytime. Most mods don't affect your save file, so you can add or remove them at will. It's a good idea to back up your save files even if you don't use mods (save problems are almost always caused by the game itself).
    <ul>
 
        <li><a href="/for-players/intro">Intro</a></li>
 
        <li><a href="/for-players/install-smapi">Install SMAPI</a></li>
 
        <li><strong>Use mods</strong></li>
 
        <li><a href="/for-players/faqs">Troubleshooting & FAQs</a></li>
 
    </ul>
 
</div>
 
  
If you've followed the guide so far, you already [installed SMAPI](/for-players/install-smapi). The
+
==Using mods==
hard part is done!
+
===Install SMAPI===
 +
Before you can use most mods, you need to install the SMAPI mod loader:
 +
* [http://canimod.com/for-players/install-smapi Install SMAPI]
  
## Download mods
+
===Download mods===
 
There are two main places to download mods:
 
There are two main places to download mods:
  
* [Nexus Mods](http://nexusmods.com/stardewvalley/) has a huge repository of mods available. [The
+
* [http://nexusmods.com/stardewvalley/ Nexus Mods] has a huge repository of mods available. [http://www.nexusmods.com/stardewvalley/mods/topalltime/ The most popular mods] are a good place to start, or see this [https://www.reddit.com/r/StardewValley/comments/5u3znf/any_mods_to_install_through_my_first_playthrough/dds5897/ list of mod recommendations for a first playthrough].
  most popular mods](http://www.nexusmods.com/stardewvalley/mods/topalltime/) are a good place to
+
* [http://community.playstarbound.com/forums/mods.215/ The official Stardew Valley forums] is a good place to ask questions, and some mods are available there. It's a bit more ad hoc, but feel free to ask for help.
  start, or see this [list of mod recommendations for a first playthrough](https://www.reddit.com/r/StardewValley/comments/5u3znf/any_mods_to_install_through_my_first_playthrough/dds5897/).
+
* Stardewvalleymods.net '''is not recommended'''. The site operates by stealing mods without permission and profiting from the ad revenue. While it may be convenient to have many mods in one place, they're often heavily outdated and letting a company profit by stealing free work from volunteers is morally nebulous at best.
* [The official Stardew Valley forums](http://community.playstarbound.com/forums/mods.215/)
 
  is a good place to ask questions, and some mods are available there. It's a bit more ad hoc, but
 
  feel free to ask for help.
 
* Stardewvalleymods.net **is not recommended**. The site operates by stealing mods without
 
  permission and profiting from the ad revenue. While it may be convenient to have many mods in one
 
  place, they're often heavily outdated and letting a company profit by stealing free work from
 
  volunteers is morally nebulous at best.
 
  
 
A few tips for downloading mods:
 
A few tips for downloading mods:
  
1. Try one mod at a time. That way if the game crashes, you know which one is broken.
+
# Try one mod at a time. That way if the game crashes, you know which one is broken.
2. Make sure the mod still works with the latest version of the game. Many mods are abandoned after
+
# Make sure the mod still works with the latest version of the game. Many mods are abandoned after their authors lose interest. There are a few ways to find out:
  their authors lose interest. There are a few ways to find out:
+
#* Does the mod description say which game versions it's compatible with?
  * Does the mod description say which game versions it's compatible with?
+
#* When you look at the latest comments for that mod, are several people saying it doesn't work anymore? If so, it probably won't work for you either.
  * When you look at the latest comments for that mod, are several people saying it doesn't
+
#* Ask! The next player will thank you. If the author never responds, the mod is probably abandoned.
    work anymore? If so, it probably won't work for you either.
 
  * Ask! The next player will thank you. If the author never responds, the mod is probably
 
    abandoned.
 
  
## Install mods
+
===Add or remove mods===
To install a mod, just unzip it into the `Mods` folder inside
+
To install a mod, just unzip it into the <tt>Mods</tt> folder inside [[#game-folder|your game folder]]. Make sure each mod has its own subfolder; for example, if you have a <tt>PineapplesEverywhere</tt> mod, you should have a file structure like this:
[your game folder](http://canimod.com/for-players/faqs#game-folder). Make sure each mod has its own
+
<pre>
subdirectory; for example, if you have a `PineapplesEverywhere` mod, you should have a file
+
Stardew Valley/
structure like this:
 
 
 
```
 
<game folder>
 
 
   Mods/
 
   Mods/
 
       PineapplesEverywhere/
 
       PineapplesEverywhere/
 
         PineapplesEverywhere.dll
 
         PineapplesEverywhere.dll
 
         manifest.json
 
         manifest.json
```
 
 
## Uninstall mods
 
To uninstall a mod, just remove it from the `Mods` directory.
 
 
## Configure mods
 
Some mods have a `config.json` file in their directory (see [_adding mods_](#adding-mods)). It
 
might be created the first time you launch the game with that mod. This file lets you customise
 
the mod settings.
 
 
To edit the `config.json` file, just open it in a text editor. Make sure the game isn't running
 
when you edit it, or your changes might not take effect. See a [basic guide to JSON](http://www.w3schools.com/js/js_json_syntax.asp);
 
basically make sure your values are surrounded by quotes (like `"value"`). You can use this
 
[JSON validator](https://jsonformatter.curiousconcept.com/) to make sure the format is correct.
 
 
<div class="scroll-box" style="display: inline-block;">
 
<big><strong>next:</strong> <a href="/for-players/faqs">Troubleshooting & FAQs →</a></big>
 
</div>
 
 
</pre>
 
</pre>
  
<pre>
+
To uninstall a mod, just remove it from the <tt>Mods</tt> folder.
---
 
layout: default
 
title: Player's guide to using mods » troubleshooting & FAQs
 
intro: >
 
  Welcome to Stardew Valley modding! This guide will help you install mods and
 
  fix any problems that come up.
 
permalink: /for-players/faqs
 
redirect_from:
 
    - /guides/asking-for-help
 
    - /guides/smapi-faq
 
---
 
 
 
<div class="scroll-box" style="float: right;">
 
    <strong>For players</strong>
 
    <ul>
 
        <li><a href="/for-players/intro">Intro</a></li>
 
        <li><a href="/for-players/install-smapi">Install SMAPI</a></li>
 
        <li><a href="/for-players/use-mods">Use mods</a></li>
 
        <li><strong><a href="/for-players/faqs">Troubleshooting & FAQs</a></strong></li>
 
    </ul>
 
</div>
 
 
 
## Intro
 
 
 
### Use or create mods
 
See the _[intro pages](/for-players/intro)_ for using mods, or
 
_[creating a SMAPI mod](/for-devs/creating-a-smapi-mod)_ for creating mods.
 
 
 
### Find help
 
For help with a mod, the mod author is the best person to ask. These are the best ways to contact them:
 
 
 
1. the discussion thread linked to on the mod page (if any);
 
2. the 'bugs' section on the Nexus mod page (if any);
 
3. otherwise contact the author directly (e.g. use the 'Contact' button on the Nexus mod page).
 
 
 
For help with SMAPI, or if you can't ask the mod author, [post in this thread](http://community.playstarbound.com/threads/dos-and-donts-of-reporting-issues-with-smapi-mods.125211/)
 
or [ask in Discord](https://discord.gg/kH55QXP).
 
  
### What to include in a bug report
+
===Configure mods===
<section id="bug-report"></section>
+
Some mods have a <tt>config.json</tt> file in their mod folder. It might be created the first time you launch the game with that mod. This file lets you customise the mod settings.
  
Figuring out why something went wrong for someone else can be tough, so it helps if you include
+
To edit the <tt>config.json</tt> file, just open it in a text editor. Make sure the game isn't running when you edit it, or your changes might not take effect. See a [http://www.w3schools.com/js/js_json_syntax.asp basic guide to JSON]; basically make sure your values are surrounded by quotes (like <tt>"value"</tt>). You can use this [https://jsonformatter.curiousconcept.com/ JSON validator] to make sure the format is correct.
as much information as possible. Here's the most useful information you can give.
 
  
1. Describe your problem:
+
==Files==
  * Which mod has an issue?
+
===SMAPI log===
  * What is the problem? Be as descriptive as possible. (Does the game freeze or close? Does the
+
The SMAPI log has useful info for troubleshooting problems. It includes your game and SMAPI version, which mods you have, where the game is installed, any errors that occurred, and what happened.
    screen go black? Does nothing at all happen?)
 
  * What were you doing when it broke? Did you notice a pattern? For example, maybe it always
 
    breaks when you do a certain thing.
 
2. Describe your context:
 
 
 
  * Do you use a mod manager? If so, which one?
 
  * Do you play on Linux, Mac, or Windows?
 
 
 
3. Cause the problem again (so any details are in the log), then attach a copy of the latest log
 
  file. 
 
  (See _[Where is my error log and how can I share it?](#error-log)_)
 
 
 
## Files
 
### SMAPI log
 
The SMAPI log provides useful information for troubleshooting problems. It includes your game and
 
SMAPI version, which mods you have, where the game is installed, any errors that occurred, and
 
what happened.
 
  
 
Here's how to share it:
 
Here's how to share it:
 +
<ol>
 +
<li>Find the log file here:
  
1. Find the log file here:
+
{| class="wikitable"
 
+
|-
  Platform | Path
+
! Platform
  :------- |:-----
+
! Path
  Windows | `%appdata%\StardewValley\ErrorLogs\SMAPI-latest.txt`<br /><small>(Paste "`%appdata%`" into the address bar, Windows knows where it is.)</small>
+
|-
  Linux   | `~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt`<br /><small>(The folder is hidden by default. From Files, click _Go » Enter Location_ and enter "~/.config".)</small>
+
| Windows
  Mac     | `~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt`<br /><small>(The folder is hidden by default. From Finder, click _Go » Go to Folder_ and enter "~/.config".)</small>
+
| <tt>%appdata%\StardewValley\ErrorLogs\SMAPI-latest.txt</tt><br /><small>(Paste "<tt>%appdata%</tt>" into the address bar, Windows knows where it is.)</small>
 
+
|-
  <small>(If you see a `MODDED_ProgramLog.Log_LATEST.txt` file instead, you have an older version of
+
| Linux
  SMAPI. Try [updating to the latest version](https://github.com/Pathoschild/SMAPI/releases).)</small>
+
| <tt>~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt</tt><br /><small>(The folder is hidden by default. From Files, click ''Go » Enter Location'' and enter "~/.config".)</small>
 +
|-
 +
| Mac
 +
| <tt>~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt</tt><br /><small>(The folder is hidden by default. From Finder, click ''Go » Go to Folder'' and enter "~/.config".)</small>
 +
|}
 +
<small>(If you see a <tt>MODDED_ProgramLog.Log_LATEST.txt</tt> file instead, you have an older version of SMAPI. Try [https://github.com/Pathoschild/SMAPI/releases updating to the latest version].)</small>
 +
</li>
  
2. If you're sharing it...
+
<li>If you're sharing it...
  * In the [`#modding` Discord channel](https://discord.gg/kH55QXP): just drag the file onto the
+
* In the [https://discord.gg/kH55QXP <tt>#modding</tt> Discord channel]: just drag the file onto the channel to attach it.
    channel to attach it.
+
* Somewhere else: attach the file, or send a [http://pastebin.com/ pastebin] link.</li>
  * Somewhere else: attach the file, or send a [pastebin](http://pastebin.com/) link.
+
</ol>
  
### Save files
+
===Save files===
 
The game puts save files here:
 
The game puts save files here:
  
Platform | Path
+
{| class="wikitable"
:------- |:-----
+
|-
Windows | `%appdata%\StardewValley\Saves`<br /><small>(Paste "`%appdata%`" into the address bar, Windows knows where it is.)</small>
+
! Platform
Linux   | `~/.config/StardewValley/Saves`<br /><small>(The folder is hidden by default. From Files, click _Go » Enter Location_ and enter "~/.config".)</small>
+
! Path
Mac     | `~/.config/StardewValley/Saves`<br /><small>(The folder is hidden by default. From Finder, click _Go » Go to Folder_ and enter "~/.config".)</small>
+
|-
 
+
| Windows
Each save has a folder like `JonSnow_123456789`, with two main files inside it:
+
| <tt>%appdata%\StardewValley\Saves</tt><br /><small>(Paste "<tt>%appdata%</tt>" into the address bar, Windows knows where it is.)</small>
`JonSnow_123456789` and `SaveGameInfo`. Both files are needed to load the save.
+
|-
 +
| Linux
 +
| <tt>~/.config/StardewValley/Saves</tt><br /><small>(The folder is hidden by default. From Files, click ''Go » Enter Location'' and enter "~/.config".)</small>
 +
|-
 +
| Mac
 +
| <tt>~/.config/StardewValley/Saves</tt><br /><small>(The folder is hidden by default. From Finder, click ''Go » Go to Folder'' and enter "~/.config".)</small>
 +
|}
  
To share your save, zip the entire `JonSnow_123456789` folder and send that.
+
Each save has a folder like <tt>JonSnow_123456789</tt>, with two main files inside it: <tt>JonSnow_123456789</tt> and <tt>SaveGameInfo</tt>. Both files are needed to load the save.
  
### Game folder
+
To share or backup your save, zip the entire <tt>JonSnow_123456789</tt> folder.
The "game folder" is the folder that contains the `Stardew Valley.exe` or `StardewValley.exe`
 
file. The default locations are:
 
  
Platform | Path
+
===Game folder===
:------- | :----
+
The "game folder" is the folder that contains the <tt>Stardew Valley.exe</tt> (Windows) or <tt>StardewValley.exe</tt> (Linux/Mac) file. Here's how to find it:
Windows  | GOG: `C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley`<br />Steam: `C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley`
 
Linux    | GOG: `~/GOG Games/Stardew Valley/game`<br />Steam: `~/.local/share/Steam/steamapps/common/Stardew Valley`
 
Mac     | GOG: `/Applications/Stardew Valley.app/Contents/MacOS`<br />Steam: `~/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS`
 
  
If your game isn't in the default location, here's how to find it:
+
<ol>
 +
<li>Check the default location:
 +
{| class="wikitable"
 +
|-
 +
! Platform
 +
! Path
 +
|-
 +
| Windows
 +
| GOG: <tt>C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley</tt><br />Steam: <tt>C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley</tt>
 +
|-
 +
| Linux
 +
| GOG: <tt>~/GOG Games/Stardew Valley/game</tt><br />Steam: <tt>~/.local/share/Steam/steamapps/common/Stardew Valley</tt>
 +
|-
 +
| Mac
 +
| GOG: <tt>/Applications/Stardew Valley.app/Contents/MacOS</tt><br />Steam: <tt>~/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS</tt>
 +
|}</li>
 +
<li>If your game wasn't there, try this:
  
 
* If you have the GOG version:
 
* If you have the GOG version:
  * Open the GOG Galaxy client.
+
*# Open the GOG Galaxy client.
  * In the game sidebar, right-click on _Stardew Valley_.
+
*# In the game sidebar, right-click on ''Stardew Valley''.
  * Choose _Manage Installation > Show Folder_ to open the game folder.
+
*# Choose ''Manage Installation > Show Folder'' to open the game folder.
  
 
* If you have the Steam version:
 
* If you have the Steam version:
  * Open the Steam client and go to the library view (the view that lists your games).
+
*# Open the Steam client.
  * Right-click on _Stardew Valley_.
+
*# Right-click on ''Stardew Valley''.
  * Click _Properties_.
+
*# Click ''Properties''.
  * Click the _Local Files_ tab.
+
*# Click the ''Local Files'' tab.
  * Click the _Browse Local Files..._ button to open the game folder.
+
*# Click the ''Browse Local Files...'' button to open the game folder.
 +
</li>
 +
</ol>
  
## Troubleshooting
+
==Troubleshooting==
 
+
===Common fixes===
### Common issues
 
 
Let's run through a quick checklist:
 
Let's run through a quick checklist:
  
1. Are you running the latest versions? The versions are listed in the first line of the console
+
# Are you running the latest versions? The versions are listed in the first line of the console window:<br />[[File:Modding - player FAQs - console version numbers.png]]<br />Make sure you have [http://stardewvalleywiki.com/Version_History Stardew Valley 1.2.30+] and the [https://github.com/Pathoschild/SMAPI/releases latest version of SMAPI].
  window:
+
# Are you using a Stardew Valley mod manager? Those are still experimental, so they can cause problems. Try downloading the mod manually.
  
  > ![](images/faqs/smapi-versions.png)
+
===Could not load file or assembly 'Stardew Valley'===
 
+
That error means SMAPI couldn't find your <tt>Stardew Valley.exe</tt> (Windows) or <tt>StardewValley.exe</tt> (Linux/Mac) file, probably because SMAPI isn't in the right folder. Make sure you're running <tt>StardewModdingAPI.exe</tt> in your [[#Game folder|game folder]], ''not'' the one in the downloaded installer folder. See the [[#Install SMAPI|install instructions]] for detailed steps.
  Make sure you have [Stardew Valley 1.2.26+](http://stardewvalleywiki.com/Version_History) and the
 
  [latest version of SMAPI](https://github.com/Pathoschild/SMAPI/releases).
 
  
2. Are you using a Stardew Valley mod manager? Those are still experimental, so they can cause
+
===Ignored folder "..." which doesn't have a manifest.json===
  problems. Try downloading the mod manually.
+
SMAPI couldn't find the <tt>manifest.json</tt> file for the mod in that folder. That usually means it's not a SMAPI mod, so it won't work from the <tt>Mods</tt> folder. See that mod's documentation for install instructions.
  
3. See the sections below for solutions to specific errors.
+
===SEHException: External component has thrown an exception===
 +
You may see an error like this with <tt>SEHException</tt> in the text:
  
### Could not load file or assembly 'Stardew Valley'
+
<pre>
That error means SMAPI couldn't find your `Stardew Valley.exe` (Windows) or `StardewValley.exe`
 
(Linux/Mac) file, probably because SMAPI isn't in the right folder. Make sure you're running
 
`StardewModdingAPI.exe` in your [game folder](#game-folder), _not_ the one in the downloaded
 
installer folder. See the [official install instructions](/for-players/install-smapi) for
 
detailed steps.
 
 
 
### Ignored folder "..." which doesn't have a manifest.json
 
SMAPI couldn't find the `manifest.json` file for the mod in that folder. That usually means it's
 
not a SMAPI mod, so it won't work from the `Mods` folder. See that mod's documentation for install
 
instructions.
 
 
 
### SEHException: External component has thrown an exception
 
<section id="sehexception"></section>
 
 
 
You may see an error like this with `SEHException` in the text:
 
 
 
```
 
 
System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
 
System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
 
   at new[](UInt32 )
 
   at new[](UInt32 )
Line 309: Line 173:
 
   at Microsoft.Xna.Framework.Game.Run()
 
   at Microsoft.Xna.Framework.Game.Run()
 
   at StardewModdingAPI.Program.StartGame() in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Program.cs:line 274
 
   at StardewModdingAPI.Program.StartGame() in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Program.cs:line 274
```
+
</pre>
  
That error happens in the game's audio startup code, which is very sensitive to resources being
+
That error happens in the game's audio startup code, which is very sensitive to resources being used before the audio is ready. This isn't caused by SMAPI directly, though SMAPI uses some extra resources during startup.
used before the audio is ready. This isn't caused by SMAPI directly, though SMAPI uses some extra
 
resources during startup.
 
  
 
Common solutions:
 
Common solutions:
 
 
* Restart your computer.
 
* Restart your computer.
 
* Close your browsers and any open apps before playing. (You can reopen them once the game is started.)
 
* Close your browsers and any open apps before playing. (You can reopen them once the game is started.)
 
* Remove any mods that change the game's audio (e.g. mods which add more music).
 
* Remove any mods that change the game's audio (e.g. mods which add more music).
  
### SMAPI contains a trojan?
+
===SMAPI contains a trojan?===
<section id="trojan"></section>
+
<span id="trojan"></span>
  
* **Why does this happen?** 
+
; Why does this happen?
  Some antivirus programs may warn you that SMAPI contains a trojan with scary names like
 
  "Peals.A!cl". Don't worry, SMAPI doesn't actually have a trojan. That warning is based on something
 
  called a _heuristic detection_ — basically the antivirus looked at the SMAPI code, and saw
 
  something trojan-like. That's because SMAPI can rewrite your mods so they work on your
 
  computer (mainly so players can use the same mods on Linux, Mac, or Windows). Rewriting files is
 
  something trojans also do, so your antivirus got suspicious.
 
  
* **How do I know it doesn't _really_ have a trojan?** 
+
: Some antivirus programs may warn you that SMAPI contains a trojan with scary names like "Peals.A!cl". Don't worry, SMAPI doesn't actually have a trojan. That warning is based on something called a ''heuristic detection'' — basically the antivirus looked at the SMAPI code, and saw something trojan-like. That's because SMAPI can rewrite your mods so they work on your computer (mainly so players can use the same mods on Linux, Mac, or Windows). Rewriting files is something trojans also do, so your antivirus got suspicious.
  You can check! SMAPI is all open-source, so you can
 
  [read the code](https://github.com/Pathoschild/SMAPI) to make sure it's not doing anything shady.
 
  If you don't trust the download, you can [decompile it](https://www.jetbrains.com/decompiler/)
 
  and see what code it really contains.
 
  
* **How do I fix it?** 
+
; How do I know it doesn't ''really'' have a trojan?
  You just need to tell your antivirus that SMAPI is okay. How you do that depends on which program
+
 
  you use. Try searching online for your antivirus name with the words "add exception" to find
+
: You can check! SMAPI is all open-source, so you can [https://github.com/Pathoschild/SMAPI read the code] to make sure it's not doing anything shady. If you don't trust the download, you can [https://www.jetbrains.com/decompiler/ decompile it] and see what code it really contains.
  answers.
+
 
</pre>
+
; How do I fix it?
 +
 
 +
: You just need to tell your antivirus that SMAPI is okay. How you do that depends on which program you use. Try searching online for your antivirus name with the words "add exception" to find answers.
 +
 
 +
==Asking for help==
 +
===Find help===
 +
For help with a mod, the mod author is the best person to ask. These are the best ways to contact them:
 +
 
 +
# the discussion thread linked to on the mod page (if any);
 +
# the 'bugs' section on the Nexus mod page (if any);
 +
# otherwise contact the author directly (e.g. use the 'Contact' button on the Nexus mod page).
 +
 
 +
For help with SMAPI, or if you can't ask the mod author, [http://community.playstarbound.com/threads/dos-and-donts-of-reporting-issues-with-smapi-mods.125211/ post in this thread] or [https://discord.gg/kH55QXP ask in Discord].
 +
 
 +
===What to include in a bug report===
 +
<span id="bug-report"></span>
 +
 
 +
Figuring out why something went wrong for someone else can be tough, so it helps if you include as much information as possible. Here's the most useful information you can give.
 +
 
 +
# Describe your problem:
 +
#* Which mod has an issue?
 +
#* What is the problem? Be as descriptive as possible. (Does the game freeze or close? Does the screen go black? Does nothing at all happen?)
 +
#* What were you doing when it broke? Did you notice a pattern? For example, maybe it always breaks when you do a certain thing.
 +
# Describe your context:
 +
#* Do you use a mod manager? If so, which one?
 +
#* Do you play on Linux, Mac, or Windows?
 +
# Cause the problem again (so any details are in the log), then attach a copy of the latest log file (see next section).
  
 
[[Category:Modding]]
 
[[Category:Modding]]

Revision as of 18:25, 19 June 2017

Index

Do you want to play Stardew Valley with mods? This page is for you!

Intro

What are mods?

A mod is just a package of files which changes Stardew Valley in some way. Mods can add features (like showing NPCs on the map), change game mechanics (like making fences decay more slowly), make cosmetic changes (like making your house look like a hobbit home), and more.

There are generally two types of mods:

  • SMAPI mods use SMAPI (a modding API) to run code within the game. These mods are powerful and convenient. After installing SMAPI, you can install mods by dropping them into a folder and uninstall them by deleting their folder. You can use multiple SMAPI mods, and they'll rarely conflict. Ideally you would only use SMAPI mods, but there are a few things they can't do yet.
  • XNB mods replace the game's data files (which have an .xnb extension, thus the name). These are harder to manage (you'll need to keep track of which files you overwrote and keep backups), and you can't use two mods that change the same files. These are often used to change images in the game, which is currently harder with SMAPI.

If you're just starting out, you should avoid XNB mods. It's easier for something to go wrong with those, and harder to fix when it does. However, you can use XNB and SMAPI mods together.

What is SMAPI?

SMAPI is a modding API — it launches the game with mod support and lets mods interact directly with the game code. It's safely installed alongside your normal game, and you can uninstall it anytime.

Can I use mods on Linux/Mac/Windows?

Yep. SMAPI is officially compatible with Linux, Mac, and Windows. You can use almost all mods on any platform, since SMAPI rewrites them for compatibility.

Are mods safe?

Mods are usually perfectly safe. SMAPI is installed alongside your game and doesn't change any of the game files, so you can stop using it anytime. Most mods don't affect your save file, so you can add or remove them at will. It's a good idea to back up your save files even if you don't use mods (save problems are almost always caused by the game itself).

Using mods

Install SMAPI

Before you can use most mods, you need to install the SMAPI mod loader:

Download mods

There are two main places to download mods:

  • Nexus Mods has a huge repository of mods available. The most popular mods are a good place to start, or see this list of mod recommendations for a first playthrough.
  • The official Stardew Valley forums is a good place to ask questions, and some mods are available there. It's a bit more ad hoc, but feel free to ask for help.
  • Stardewvalleymods.net is not recommended. The site operates by stealing mods without permission and profiting from the ad revenue. While it may be convenient to have many mods in one place, they're often heavily outdated and letting a company profit by stealing free work from volunteers is morally nebulous at best.

A few tips for downloading mods:

  1. Try one mod at a time. That way if the game crashes, you know which one is broken.
  2. Make sure the mod still works with the latest version of the game. Many mods are abandoned after their authors lose interest. There are a few ways to find out:
    • Does the mod description say which game versions it's compatible with?
    • When you look at the latest comments for that mod, are several people saying it doesn't work anymore? If so, it probably won't work for you either.
    • Ask! The next player will thank you. If the author never responds, the mod is probably abandoned.

Add or remove mods

To install a mod, just unzip it into the Mods folder inside your game folder. Make sure each mod has its own subfolder; for example, if you have a PineapplesEverywhere mod, you should have a file structure like this:

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

To uninstall a mod, just remove it from the Mods folder.

Configure mods

Some mods have a config.json file in their mod folder. It might be created the first time you launch the game with that mod. This file lets you customise the mod settings.

To edit the config.json file, just open it in a text editor. Make sure the game isn't running when you edit it, or your changes might not take effect. See a basic guide to JSON; basically make sure your values are surrounded by quotes (like "value"). You can use this JSON validator to make sure the format is correct.

Files

SMAPI log

The SMAPI log has useful info for troubleshooting problems. It includes your game and SMAPI version, which mods you have, where the game is installed, any errors that occurred, and what happened.

Here's how to share it:

  1. Find the log file here:
    Platform Path
    Windows %appdata%\StardewValley\ErrorLogs\SMAPI-latest.txt
    (Paste "%appdata%" into the address bar, Windows knows where it is.)
    Linux ~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt
    (The folder is hidden by default. From Files, click Go » Enter Location and enter "~/.config".)
    Mac ~/.config/StardewValley/ErrorLogs/SMAPI-latest.txt
    (The folder is hidden by default. From Finder, click Go » Go to Folder and enter "~/.config".)

    (If you see a MODDED_ProgramLog.Log_LATEST.txt file instead, you have an older version of SMAPI. Try updating to the latest version.)

  2. If you're sharing it...

Save files

The game puts save files here:

Platform Path
Windows %appdata%\StardewValley\Saves
(Paste "%appdata%" into the address bar, Windows knows where it is.)
Linux ~/.config/StardewValley/Saves
(The folder is hidden by default. From Files, click Go » Enter Location and enter "~/.config".)
Mac ~/.config/StardewValley/Saves
(The folder is hidden by default. From Finder, click Go » Go to Folder and enter "~/.config".)

Each save has a folder like JonSnow_123456789, with two main files inside it: JonSnow_123456789 and SaveGameInfo. Both files are needed to load the save.

To share or backup your save, zip the entire JonSnow_123456789 folder.

Game folder

The "game folder" is the folder that contains the Stardew Valley.exe (Windows) or StardewValley.exe (Linux/Mac) file. Here's how to find it:

  1. Check the default location:
    Platform Path
    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. If your game wasn't there, try this:
    • If you have the GOG version:
      1. Open the GOG Galaxy client.
      2. In the game sidebar, right-click on Stardew Valley.
      3. Choose Manage Installation > Show Folder to open the game folder.
    • If you have the Steam version:
      1. Open the Steam client.
      2. Right-click on Stardew Valley.
      3. Click Properties.
      4. Click the Local Files tab.
      5. Click the Browse Local Files... button to open the game folder.

Troubleshooting

Common fixes

Let's run through a quick checklist:

  1. Are you running the latest versions? The versions are listed in the first line of the console window:
    File:Modding - player FAQs - console version numbers.png
    Make sure you have Stardew Valley 1.2.30+ and the latest version of SMAPI.
  2. Are you using a Stardew Valley mod manager? Those are still experimental, so they can cause problems. Try downloading the mod manually.

Could not load file or assembly 'Stardew Valley'

That error means SMAPI couldn't find your Stardew Valley.exe (Windows) or StardewValley.exe (Linux/Mac) file, probably because SMAPI isn't in the right folder. Make sure you're running StardewModdingAPI.exe in your game folder, not the one in the downloaded installer folder. See the install instructions for detailed steps.

Ignored folder "..." which doesn't have a manifest.json

SMAPI couldn't find the manifest.json file for the mod in that folder. That usually means it's not a SMAPI mod, so it won't work from the Mods folder. See that mod's documentation for install instructions.

SEHException: External component has thrown an exception

You may see an error like this with SEHException in the text:

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

That error happens in the game's audio startup code, which is very sensitive to resources being used before the audio is ready. This isn't caused by SMAPI directly, though SMAPI uses some extra resources during startup.

Common solutions:

  • Restart your computer.
  • Close your browsers and any open apps before playing. (You can reopen them once the game is started.)
  • Remove any mods that change the game's audio (e.g. mods which add more music).

SMAPI contains a trojan?

Why does this happen?
Some antivirus programs may warn you that SMAPI contains a trojan with scary names like "Peals.A!cl". Don't worry, SMAPI doesn't actually have a trojan. That warning is based on something called a heuristic detection — basically the antivirus looked at the SMAPI code, and saw something trojan-like. That's because SMAPI can rewrite your mods so they work on your computer (mainly so players can use the same mods on Linux, Mac, or Windows). Rewriting files is something trojans also do, so your antivirus got suspicious.
How do I know it doesn't really have a trojan?
You can check! SMAPI is all open-source, so you can read the code to make sure it's not doing anything shady. If you don't trust the download, you can decompile it and see what code it really contains.
How do I fix it?
You just need to tell your antivirus that SMAPI is okay. How you do that depends on which program you use. Try searching online for your antivirus name with the words "add exception" to find answers.

Asking for help

Find help

For help with a mod, the mod author is the best person to ask. These are the best ways to contact them:

  1. the discussion thread linked to on the mod page (if any);
  2. the 'bugs' section on the Nexus mod page (if any);
  3. otherwise contact the author directly (e.g. use the 'Contact' button on the Nexus mod page).

For help with SMAPI, or if you can't ask the mod author, post in this thread or ask in Discord.

What to include in a bug report

Figuring out why something went wrong for someone else can be tough, so it helps if you include as much information as possible. Here's the most useful information you can give.

  1. Describe your problem:
    • Which mod has an issue?
    • What is the problem? Be as descriptive as possible. (Does the game freeze or close? Does the screen go black? Does nothing at all happen?)
    • What were you doing when it broke? Did you notice a pattern? For example, maybe it always breaks when you do a certain thing.
  2. Describe your context:
    • Do you use a mod manager? If so, which one?
    • Do you play on Linux, Mac, or Windows?
  3. Cause the problem again (so any details are in the log), then attach a copy of the latest log file (see next section).