Difference between revisions of "Modding:Player Guide"

From Stardew Valley Wiki
Jump to navigation Jump to search
(→‎SMAPI log: + beta log parser)
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
←[[Modding:Index|Index]]
+
#REDIRECT [[Modding:Player Guide/Getting Started]]
 
 
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 <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.
 
 
 
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?===
 
[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.
 
 
 
===Can I use mods on Linux, Mac, Windows, or consoles?===
 
Mod support for each platform:
 
{| class="wikitable"
 
|-
 
! Platform
 
! Mod support
 
|-
 
| Linux
 
| ✓ fully supported
 
|-
 
| Mac
 
| ✓ fully supported
 
|-
 
| Windows
 
| ✓ fully supported
 
|-
 
| PS4
 
| ✖ no mod support
 
|-
 
| XBox One
 
| ✖ no mod support
 
|}
 
 
 
Almost all mods will work on any supported platform, since SMAPI rewrites them for compatibility.
 
 
 
===Can mods corrupt my save?===
 
Yes, but it's extremely rare. Only a few mods affect your save file at all (including GetDressed, Makeshift Multiplayer, and Save Anywhere). If you avoid those, mods are very unlikely to corrupt your save file. If you're worried, just back up [[#Save files|your save files]] occasionally. That's strongly recommended even if you don't use mods, since save corruption is almost always caused by the game itself.
 
 
 
===Can I stop using mods later?===
 
Yep. With a few exceptions (see previous question), mods don't directly affect your save file so you can stop using them anytime.
 
 
 
===Do mods disable Steam achievements?===
 
Steam achievements work fine, as long as you launch SMAPI through Steam. Make sure you follow the [[Modding:Installing SMAPI|install instructions]] to configure Steam on Windows (no Steam changes needed on Linux or Mac). If the Steam overlay works, the achievements should work too.
 
 
 
==Using mods==
 
===Install SMAPI===
 
Before you can use most mods, you need to install the SMAPI mod loader:
 
* [[Modding:Installing SMAPI|Install SMAPI]]
 
 
 
===Find mods===
 
If you're looking for mods, the [http://www.nexusmods.com/stardewvalley/mods/topalltime/ most popular] are a good place to start; see also 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].
 
 
 
You can find mods in a few places:
 
{| class="wikitable"
 
|-
 
! site
 
! description
 
|-
 
| '''[http://nexusmods.com/stardewvalley/ Nexus Mods]'''
 
| Most mods are released here.<br /><small>(Registering an account is free, just don't choose a package when you register.)</small>
 
|-
 
| [http://community.playstarbound.com/resources/categories/stardew-valley.22/ Chucklefish mods]
 
| Some mods are released here (most are also on Nexus).
 
|-
 
| [https://www.moddrop.com ModDrop]
 
| Pretty new. Not many mods yet, but you can install those it has very quickly through their (Windows-only) client.
 
|-
 
| [http://community.playstarbound.com/forums/mods.215/ Stardew Valley forums]
 
| Some mods are posted directly in the forums. Some hidden gems are only here, but finding them can be a challenge.
 
|}
 
 
 
Before you download a mod...
 
* Does it work with the latest version of the game? (SMAPI will automatically disable most incompatible SMAPI mods, but you're on your own with XNB mods. Try checking the mod description or comments.)
 
* Don't download from stardewvalleymods.net. (Mods here are usually outdated, since the site republishes mods without permission for ad revenue.)
 
 
 
===Add or remove mods===
 
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:
 
<pre>
 
Stardew Valley/
 
  Mods/
 
      PineapplesEverywhere/
 
        PineapplesEverywhere.dll
 
        manifest.json
 
</pre>
 
 
 
To uninstall a mod, just remove it from the <tt>Mods</tt> folder.
 
 
 
===Configure mods===
 
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.
 
 
 
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.
 
 
 
==Finding the game files==
 
===Save files===
 
See ''[[Saves]]''.
 
 
 
===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:
 
 
 
<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:
 
*# Open the GOG Galaxy client.
 
*# In the game sidebar, right-click on ''Stardew Valley''.
 
*# Choose ''Manage Installation > Show Folder'' to open the game folder.
 
 
 
* If you have the Steam version:
 
*# Open the Steam client.
 
*# Right-click on ''Stardew Valley''.
 
*# Click ''Properties''.
 
*# Click the ''Local Files'' tab.
 
*# Click the ''Browse Local Files...'' button to open the game folder.
 
</li>
 
</ol>
 
 
 
===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:
 
<ol>
 
<li>Find the log file here:
 
 
 
{| class="wikitable"
 
|-
 
! Platform
 
! Path
 
|-
 
| Windows
 
| <tt>%appdata%\StardewValley\ErrorLogs\SMAPI-latest.txt</tt><br /><small>(Paste "<tt>%appdata%</tt>" into the address bar, Windows knows where it is.)</small>
 
|-
 
| Linux
 
| <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>
 
 
 
<li>If you're sharing it...
 
* In the [https://discord.gg/kH55QXP <tt>#modding</tt> Discord channel]: just drag the file onto the channel to attach it.
 
* Somewhere else: attach the file, or send a [http://pastebin.com/ pastebin] link.
 
* '''beta:''' upload it to the [http://host.kvdk.net/smapi/ log parser] and share the link.</li>
 
</ol>
 
 
 
==Troubleshooting==
 
===Fix common error messages===
 
* ''"Oops! SMAPI can't find the game."''
 
** Make sure you're running <tt>StardewModdingAPI.exe</tt> in your game folder (see the [[Modding:Installing SMAPI|install instructions]]).
 
** Did you install SMAPI manually (not using <tt>install.exe</tt>)? Make sure you copied the right files: <tt>internal/Windows</tt> for Windows, or <tt>internal/Mono</tt> for Linux/Mac.
 
 
 
* ''"Oops! SMAPI doesn't seem to be compatible with your game."''
 
** Make sure you have Stardew Valley 1.2.30 or later.
 
 
 
* ''"Skipped '...' because it doesn't have a manifest.json"''
 
** 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.
 
 
 
===SMAPI files disappear or your antivirus complains===
 
Your antivirus might remove or complain about some SMAPI files. This is based on ''heuristic detection'' — SMAPI rewrites mods so they work on your computer, and rewriting files is something malware also does, so your antivirus got suspicious. SMAPI doesn't have a trojan — you can check by [https://github.com/Pathoschild/SMAPI reading the code], [https://www.jetbrains.com/decompiler/ decompiling the download], or [https://www.virustotal.com/ uploading it to VirusTotal]. You just need to tell your antivirus that SMAPI is okay; try searching online for your antivirus name with the words "add exception" to find instructions.
 
 
 
===Check your versions===
 
# Make sure you have the [https://github.com/Pathoschild/SMAPI/releases latest version of SMAPI].<br /><small>The SMAPI version is shown at the top of the SMAPI console window.</small>
 
# Make sure you have Stardew Valley 1.2.30 or later.<br /><small>Click the "?" button on the title screen, and the version will appear in the bottom-left.</small>
 
 
 
===Reset your content files===
 
Many problems are caused by broken files in the game's <tt>Content</tt> folder (especially if you use XNB mods). You can reset your game files to fix that. If you use any XNB mods, they'll be removed. SMAPI mods won't be affected.
 
 
 
Recommended steps:
 
# Reset your game files (see instructions [https://support.steampowered.com/kb_article.php?ref=2037-QEUH-3335 for Steam] or [https://support.gog.com/hc/en-us/articles/212807405 for GOG Galaxy]).
 
# Launch the game to see if the problem is fixed.
 
# If you use SMAPI on Linux/Mac, reinstall SMAPI to fix the launcher.
 
# If you use XNB mods, reinstall them one at a time. After each install, test the game to make sure the mod doesn't cause problems.
 
 
 
===SEHException: External component has thrown an exception===
 
You may see an error like this with <tt>SEHException</tt> in the text:
 
 
 
<pre>
 
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
 
</pre>
 
 
 
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).
 
 
 
===Other problems===
 
Run the game without SMAPI by launching <tt>Stardew Valley.exe</tt> (on Windows) or <tt>StardewValley-original</tt> (on Linux/Mac) in your [[#Game folder|game folder]].
 
 
 
* If it still happens '''without''' SMAPI: see [https://steamcommunity.com/app/413150/discussions/0/142261352650065356/ this guide to fixing your game]. If you still need help, see [[#Asking for help|asking for help]].
 
* If it only happens '''with''' SMAPI: see [[#Asking for help|asking for help]].
 
 
 
==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]]
 
 
 
[[zh:使用模组:玩家常见问题]]
 

Latest revision as of 23:17, 25 August 2018