SMAPI

The mod loader for Stardew Valley. It works fine with GOG and Steam achievements, it's compatible with Linux/Mac/Windows, you can uninstall it anytime, and there's a friendly community if you need help. It's a cool pufferchick.

Get help

What's new in...

SMAPI 2.5.5?

SMAPI 2.5 mainly...

  • Adds support for content packs.
    Content packs are collections of files for a SMAPI mod to load. These can be installed directly under Mods like a normal SMAPI mod, get automatic update and compatibility checks, and provide convenient APIs to the mods that read them. (Existing content packs for some mods will need an update to work this way.)
  • Adds mod detection for unhandled errors (so most errors now mention which mod caused them).
  • Adds install scripts for Linux/Mac (no more manual terminal commands!).
  • Adds the missing mod's name and URL to dependency errors.
  • And includes various other fixes and improvements.

Minor releases:

  • 2.5.1 fixes an event error in rare cases with SMAPI 2.5.
  • 2.5.2 fixes an issue with mod asset changes not taking effect and fixes the log parser being blank in some cases.
  • 2.5.3 includes several fixes, improved compatibility and update checks, and internal changes to support the upcoming Stardew Valley 1.3 beta.
  • 2.5.4 improves the content API to support newer mods like Content Patcher, and makes internal changes to support the upcoming Stardew Valley 1.3 beta.
  • 2.5.5 fixes various bugs and errors, and makes internal changes for the upcoming Stardew Valley 1.3 beta.

Requires Stardew Valley 1.2.30+ on Linux/Mac/Windows. Compatible with most mods for SMAPI 0.40+.

See the release notes and mod compatibility list for more info.

SMAPI 2.6-beta.16?

Summary:
For players, SMAPI 2.6 mainly adds support for Stardew Valley 1.3 beta (not compatible with Stardew Valley 1.2), adds a default save backup mod, adds a beta channel, improves the installer & log parser & SMAPI console in various ways (e.g. friendlier errors and better colors on Mac), and includes lots of refactoring to support multiplayer.

For modders, this adds a new input API for reading and suppressing keyboard/controller/mouse input, support for custom seasonal map tilesheets, a prototype of the upcoming SMAPI 3.0 events, a prototype mod handler toolkit for external tools, and many other improvements and fixes (see release notes).

Notes:

  • Players: some mods haven't been updated for Stardew Valley 1.3 yet. See the mod compatibility list for the latest updates and fixes.
  • Modders: Stardew Valley 1.3 has significant changes. See the migration guide.

Beta release notes:

  • beta 2:
    • Fixed installer not copying needed file.
  • beta 3:
    • Fixed game freeze on shipping menu.
    • Fixed farmhand crash if the host quits while they're still on the character creation screen.
    • Fixed load-save error when starting the game in non-English.
  • beta 4:
    • Added prompt when using an old SMAPI beta.
    • Added for modders: Constants.TargetPlatform and semanticVersion.IsPrerelease().
    • Fixed Linux/Mac installer errors for some players.
    • Fixed log parser not correctly parsing content packs with no description.
    • Disabled some broken mod versions.
  • beta 5:
    • Fixed installer error for Windows users.
  • beta 6–7 were internal releases.
  • beta 8:
    • Forced game to load the save synchronously.
    • Rewrote location events so they make sense in multiplayer and provide more flexible data.
    • Added more location events.
    • Added helper.Multiplayer.GetActiveLocations() for modders.
    • Enforced mod ID format restrictions.
    • Fixed errors if mod loads a PNG tilesheet when game is loading.
    • Fixed input suppression not working in some cases.
    • Fixed mod changes to fence sprites not being applied.
    • Fixed Linux/Mac installer errors for some users.
  • beta 9–11 were internal releases.
  • beta 12:
    • Rewrote content API to fix various texture issues (eye color swaps, mangled clothing colors, etc) and fix wedding ring recipe disappearing.
    • Fixed installer console colors on Mac.
    • Fixed content cache always missed when not playing in English.
    • Fixed errors when horses, NPCs, or children have certain characters in their name.
    • Fixed smapi.io/install link in installer not linking to a useful page.
    • Renamed install.exe to install on Windows.exe to avoid confusion.
    • Added helper.Multiplayer.GetActiveLocations() for modders.
  • beta 13:
    • Added a default save backup mod.
    • Improved how mod issues are displayed in the console.
    • Tweaked 'outdated' error text to avoid confusion.
    • Fixed world_setseason command not applying the game's season change logic.
    • Fixed log parser error with some newer logs.
    • Updated compatibility list.
  • beta 14:
    • Updated for Stardew Valley 1.3.11.
    • Fixed compatibility issue on Windows for certain mods compiled on Linux/Mac.
    • Fixed bundled SaveBackup mod replacing Omegasis' SaveBackup mod. (That mod now gets renamed to AdvancedSaveBackup per discussion with Omegasis.)
    • Fixed bundled SaveBackup mod including unnecessary files.
  • beta 15:
    • Fixed content load errors in some cases.
    • Fixed launch issue for Linux players using some terminals. (Thanks to HanFox and kurumushi!)
    • Fixed SaveBackup mod failing on Mac.
    • Fixed slower startup times on Windows due to mods being rewritten unnecessarily.
    • Fixed issue where mods could intercept other mods' assets, or indirectly affect other mods' data through a shared cache.
    • For modders:
      • Rewrote content core.
      • Added option to suppress update checks for a specific mod in StardewModdingAPI.config.json.
      • Hid more game debug output from the console and log.
      • Tweaked context trace messages to make multiplayer context more clear.
      • Fixed some common non-mod build output being included in release zip.
      • Fixed input suppression not working on the title menu.
      • Fixed debugging issues on Windows.
  • beta 16:
    • For players:
      • Fixed installer not finding game path in some cases.
      • Fixed installer showing duplicate game paths in some cases.
      • Fixed installer not removing some SMAPI files.
      • Fixed Nexus mod update alerts not showing HTTPS links.
      • Fixed issue where a mod crashing in CanEdit or CanLoad could cause an abort-retry loop.
      • Fixed error when a mod loads an unpacked .tbin map that references custom seasonal tilesheets.
      • Updated compatibility list.
    • For the log parser:
      • Redesigned upload page to make it more intuitive for new players.
      • Changed filters to show DEBUG messages by default.
      • Fixed mangled crossplatform paths in some cases.
    • For modders:
      • Added input API for reading and suppressing keyboard, controller, and mouse input.
      • Added support for launching multiple instances transparently. This removes the former --log-path command-line argument.
      • Added Harmony DLL for internal use by SMAPI. (Mods should still include their own copy for backwards compatibility, and in case it's removed later. SMAPI will always load its own version though.)
      • Added the first SMAPI 3.0 events. These are much more powerful, consistent, and discoverable than the existing events. However they're preview-only, not officially documented, and may change without warning.
      • Added latest mod file version (including optional files) to Nexus API results.
      • Fixed assets not being cloned when transferred between content managers in some cases.
    • For SMAPI developers:
      • Added prototype SMAPI 3.0 events accessible via helper.Events.
      • Added prototype mod handler toolkit.
      • Added Harmony for SMAPI's internal use to patch game functions for events.

Requires Stardew Valley 1.3.17 beta or later on Linux/Mac/Windows.

See the release notes and mod compatibility list for more info.

SMAPI is an open-source project by Pathoschild. It will always be free, but donations are much appreciated to help pay for development, server hosting, domain fees, coffee, etc.

Special thanks to acerbicon, ChefRude, cheesysteak, hawkfalcon, jwdred, KNakamura, Kono Tyran, Robby LaFarge, and a few anonymous users for their ongoing support; you're awesome! 🏅

For mod creators