You are viewing a potentially older version of this package. View all versions.
MaddCatter365-ModsmithCycle-1.1.0 icon

ModsmithCycle

Save, exit, relaunch, resume, and preserve recent BepInEx logs to speed up Valheim mod testing and troubleshooting.

Date uploaded 13 hours ago
Version 1.1.0
Download link MaddCatter365-ModsmithCycle-1.1.0.zip
Downloads 6
Dependency string MaddCatter365-ModsmithCycle-1.1.0

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2360 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2360

README

Modsmith Cycle

Modsmith Cycle provides a faster restart and troubleshooting cycle for modded Valheim on Windows.

Open the Escape menu and choose SAVE & RESTART MODDED to save your game, close Valheim cleanly, relaunch through Steam with your active r2modman/BepInEx profile, and automatically return to the same character and local world.

Modsmith Cycle can also preserve the current BepInEx session log during shutdown. Recent logs are retained locally as LogOutput-1.txt and LogOutput-2.txt, with LogOutput-PendingSession.txt used during rotation. This makes it easier to compare recent sessions while testing and troubleshooting mods.

What it does

Modsmith Cycle will:

  • give you a short countdown with time to cancel;
  • use Valheim's normal save-and-quit path;
  • wait until Valheim has fully exited;
  • ask Steam to relaunch Valheim through the same -applaunch 892970 route used by r2modman;
  • preserve the active profile's Doorstop/BepInEx launch arguments;
  • select the same character after relaunch;
  • reopen the same local world automatically;
  • restore the world's hosted-session settings when applicable so friends can reconnect normally.
  • preserve recent BepInEx session logs locally to make troubleshooting between test sessions easier.

The active mod profile is preserved through its launch arguments. Modsmith Cycle does not automate or click through the r2modman interface.

Version 1.1.0 continues to use Steam for the relaunch because launching Valheim.exe directly can result in an unmodded session.

In-game restart interface

Modsmith Cycle adds a native-style section to Valheim's Escape menu:

[ gold Valheim ornament ]

      SAVE & RESTART MODDED

During the restart countdown, the button changes to:

CANCEL RESTART (N)

A notice below the button confirms whether the restart is queued or cancelled.

When normal-exit backups are enabled (NormalExitOnly or Both), the native Quit confirmation also displays a yellow reminder below the panel. Backups may briefly make Valheim appear unresponsive while the game closes. This reminder does not appear when normal-exit backups are disabled.

The restart can also be triggered with the configured keyboard shortcut while the Escape menu is open.

Default shortcut:

Left Ctrl + F9

Local hosting behavior

  • Local world: Modsmith Cycle reopens the same world with the same character.
  • Locally hosted multiplayer world: hosted-session settings can be restored so friends can reconnect normally after the world returns.
  • By default, a restart is blocked while another player remains connected.
  • If friends are playing in your locally hosted world, have them return to the main menu before restarting.
  • Each auto-resume uses a unique one-use token.
  • Resume requests expire after a configurable amount of time.
  • A detached helper waits for Valheim to fully exit before starting the replacement process.
  • If character or world resolution fails, Modsmith Cycle stops safely at Valheim's menus.

Remote servers

Automatic guest reconnect to a remote server is not currently available in 1.1.0 and is planned for a future update.

The configuration entry remains reserved for future hosted co-op / remote reconnect work, but currently returns the player to Valheim's menus instead of attempting an automatic remote reconnect.

Dedicated-server restart support is not part of Modsmith Cycle's scope.

World and Character Save Backups (1.1.0)

Modsmith Cycle can create temporary rolling backups of your Valheim character and locally hosted world saves when you exit the game normally or use SAVE & RESTART MODDED.

This feature is disabled by default and must be enabled through the configuration.

How Backups Work

  • Keeps up to three recent backups per character and per world.
  • Maintains separate backup histories for different characters and worlds.
  • Supports local saves and Steam Cloud saves when the saved data can be retrieved and verified.
  • Creates backups only after an eligible exit with a successfully verified native save.
  • Skips incomplete, unavailable, or unverifiable saves instead of treating them as successful backups.
  • Uses staged copies, verification, and recovery procedures to protect existing backup history during rotation.
  • Does not modify the original character or world saves as part of backup rotation.

Backups are created during eligible game exits, not continuously during gameplay. Crashes, forced termination, or power loss may prevent a backup from being created.

When playing as a guest, Modsmith Cycle can back up your own character save, but it cannot back up a world hosted by another player.

Backup Configuration

The following settings are available under Save Backups:

BackupMode

  • Disabled — No world or character backups are created. Default.
  • NormalExitOnly — Create backups during eligible normal game exits.
  • ModsmithRestartOnly — Create backups when using SAVE & RESTART MODDED.
  • Both — Create backups during either eligible exit type.

Under Storage, the DataDirectory setting controls the entire ModsmithCycle data folder (not just save backups).

Leave DataDirectory empty to use the default parent folder:

BepInEx/ModsmithCycle

Save backups are stored beneath that parent in BackupSaves, for example:

BepInEx/ModsmithCycle/BackupSaves

The same parent contains temporary cloud-save capture data and ModsmithCycleHelper.log. BepInEx LogOutput and its numbered session-history copies stay in their usual BepInEx location.

Alternatively, enter a fully qualified path in Storage.DataDirectory to relocate the parent folder. If the custom destination is unavailable, Modsmith Cycle falls back to BepInEx/ModsmithCycle and logs a warning. Changes to this setting take effect after restarting Valheim.

Character and world backups are organized into separate identity-specific folders to prevent backups from different saves being mixed together.

Important Notes

  • Backups are intended as temporary recovery copies, not permanent archival storage.
  • Older backups are replaced as new, verified backups are successfully committed.
  • Backup restoration is manual; Modsmith Cycle does not automatically replace or restore your active saves.
  • If a backup cannot be completed safely, the operation is skipped and the existing backup history is preserved where possible.
  • Backup files remain on your computer. Modsmith Cycle does not transmit them to other players or external services.

This feature operates independently of the existing BepInEx session-log backup system.

Requirements

  • Windows 10 or 11
  • Valheim 1.0.21
  • BepInExPack Valheim 5.4.2360
  • An active local-world or locally hosted Valheim session for automatic world resume

The small restart helper targets .NET Framework 4.8.

Installation

Keep both files together in the same plugin folder. For a manual installation, one possible location is:

BepInEx/plugins/ModsmithCycle/ModsmithCycle.dll
BepInEx/plugins/ModsmithCycle/ModsmithCycle.Restarter.exe

Mod managers may use a package-named plugin subfolder instead. The folder name is not important as long as the DLL and Restarter executable remain together.

Start Valheim with Start modded in r2modman.

Enter a world, press Escape, and choose SAVE & RESTART MODDED.

You can also use Left Ctrl + F9 while the Escape menu is open.

Configuration

Settings are written to:

BepInEx/config/MaddCatter365.ModsmithCycle.cfg

Current settings include:

  • Restart.CountdownSeconds — length of the cancel countdown.
  • Restart.AutoResumeLocalWorld — when enabled, automatically reopens the previous local world.
  • Restart.ResumeHostedSession — restores locally hosted-session settings so friends can reconnect.
  • Restart.AutoReconnectRemoteServer — reserved for future remote-server reconnect support; currently disabled by default.
  • Safety.RequireNoOtherPlayers — blocks restart while another player is still connected.
  • Safety.MaximumResumeAgeSeconds — rejects stale resume requests.
  • Hotkeys.Restart — restart shortcut used while the Escape menu is open.
  • Logging.BackupSessionLog — enabled by default; saves the current log before exit and advances the two backup slots at the next launch.
  • Compatibility.SteamExecutableOverride — optional full path to Steam.exe when automatic Steam detection cannot find a nonstandard installation.

Older configuration files may still contain settings from previous versions that Modsmith Cycle no longer uses.

Scope

Version 1.1.0 provides reliable modded restart, resume, troubleshooting, and optional save-backup functionality:

  • clean Valheim save and shutdown;
  • Steam-based modded relaunch;
  • active r2modman/BepInEx profile preservation;
  • same-character restoration;
  • same-local-world restoration;
  • locally hosted-session restoration;
  • native-style Escape-menu restart controls.
  • optional local BepInEx session-log history for troubleshooting.
  • optional rolling backups of character and locally hosted world saves;
  • support for verified local and Steam Cloud save backups, with up to three retained copies per character or world.

Automatic remote guest reconnect is planned for a future update.

Dedicated-server restart support is out of scope.

1.0.0 changes

  • Marks the first complete release of Modsmith Cycle's intended restart, resume, and troubleshooting workflow.
  • Added optional BepInEx session-log backups for easier troubleshooting between test sessions.
  • The current session log is preserved during normal game exit and before Save & Restart closes Valheim.
  • Recent history is retained as LogOutput-1.txt and LogOutput-2.txt, with LogOutput-PendingSession.txt used safely during rotation.
  • LogOutput-1.txt is the most recent previous session and LogOutput-2.txt is the older retained session.
  • Added Logging.BackupSessionLog, enabled by default, to allow log-history creation and rotation to be disabled.
  • Existing Test 1 backup names are migrated safely to the numbered log-history names on the first upgraded launch.
  • Updated and revalidated Modsmith Cycle for Valheim 1.0.16 and BepInExPack Valheim 5.4.2351.
  • Automatic remote-server guest reconnect remains planned for a future update and is not enabled in 1.0.0.

0.1.6 hotfix

  • Corrected the restart helper's launch-request reader to use the V2 format written by the plugin.
  • Restored Steam/r2modman relaunch after Valheim completes its normal save and shutdown.
  • The main plugin DLL is unchanged from 0.1.5; 0.1.6 replaces the mismatched helper that shipped in the 0.1.5 package.

0.1.5 changes

  • Added and finalized the native-style SAVE & RESTART MODDED Escape-menu interface.
  • Added a matching Valheim ornament and centered restart-status notices.
  • Added stable countdown/cancel behavior directly through the native restart button.
  • Removed temporary UI diagnostic code.
  • Cleaned obsolete helper/plugin request fields.
  • Removed stale cinematic-skip code and references.
  • Kept unfinished remote-server reconnect functionality safely disabled.
  • Revalidated character and local-world auto-resume on Valheim 1.0.15.
  • Confirmed successful save, shutdown, relaunch, character restoration, and local-world restoration.

Support

For help, bug reports, or compatibility feedback, visit the Mod Support channel.

Privacy and networking

Modsmith Cycle makes no network requests of its own and collects no data.

The restart helper receives only the information needed to wait for the current Valheim process to exit and relaunch Steam with the preserved modded launch arguments.

The temporary resume marker stores the information needed to restore the previous character and local world and is consumed during the resume process. When Logging.BackupSessionLog is enabled, Modsmith Cycle creates local copies of the normal BepInEx LogOutput.log for troubleshooting. These backup files remain in the same BepInEx folder as LogOutput.log. Modsmith Cycle does not upload, transmit, or send these files anywhere.

The backup files remain on the user's computer unless the user manually copies, moves, uploads, or shares them. Because they are copies of the normal BepInEx session log, they may contain any diagnostic information that Valheim, BepInEx, or installed mods normally write to that log. Users should review logs before sharing them publicly.

CHANGELOG

Changelog

1.1.0

Added

  • Optional rolling backups for Valheim character and world saves.
  • Support for verified local and Steam Cloud save backups.
  • Up to three retained backups per character and per world, with separate save identities.
  • Configurable parent data folder, defaulting to BepInEx/ModsmithCycle, with save backups in its BackupSaves subfolder.
  • Configurable backup triggers: Disabled, Normal Exit Only, Modsmith Restart Only, or Both.
  • Native save observation and verification to identify successfully completed character and world saves.
  • Staged backup creation, verification, and transactional rotation with interrupted-operation recovery.
  • Additional diagnostic logging options for save operations, backup activity, and the external restart helper.

Changed

  • Backup creation is disabled by default to preserve existing behavior.
  • Backup rotation retains existing recovery copies when new save data cannot be verified or committed successfully.
  • Backup cleanup distinguishes completed temporary operations from active backups and recovery material.
  • Backup, temporary cloud-capture, and restart-helper log files are now organized under one ModsmithCycle data folder; BepInEx LogOutput history remains in its usual location.
  • An unavailable custom data folder falls back to BepInEx/ModsmithCycle and records a warning.
  • The native Quit confirmation displays a wait notice when normal-exit backups are enabled; the notice is hidden when that backup trigger is disabled.

Notes

  • World backups apply to locally hosted worlds; multiplayer guests cannot back up another player's world.
  • Backups are created during eligible normal exits or Modsmith Cycle restarts, not during every in-game save.
  • Backup restoration remains a manual process.
  • Automatic guest reconnection to multiplayer hosts remains under development and is not enabled in this release.

1.0.0

  • First full release of Modsmith Cycle's intended restart, resume, and troubleshooting workflow.
  • Added optional local BepInEx session-log history for easier troubleshooting between test sessions.
  • The current BepInEx LogOutput.log is preserved during normal game exit and before Save & Restart closes Valheim.
  • Recent log history is retained as LogOutput-1.txt and LogOutput-2.txt.
  • LogOutput-PendingSession.txt is used as the temporary current-session copy before the history is advanced at the next launch.
  • LogOutput-1.txt is the most recent previous session and LogOutput-2.txt is the older retained session.
  • Added Logging.BackupSessionLog, enabled by default, to allow log backup, migration, and rotation to be disabled.
  • Existing Test 1 log-backup names are migrated safely to the numbered history names on the first upgraded launch.
  • Log backups remain local beside the normal BepInEx LogOutput.log and are never transmitted by Modsmith Cycle.
  • Updated and revalidated Modsmith Cycle for Valheim 1.0.16 and BepInExPack Valheim 5.4.2351.
  • Automatic remote-server guest reconnect remains planned for a future update and is not enabled in 1.0.0.
  • Standardized the ModsmithCycle plugin ID and configuration filename to MaddCatter365.ModsmithCycle for consistent creator branding. Users upgrading from an earlier version will receive a fresh configuration file and may delete the old MaddCatter.ModsmithCycle.cfg after transferring any custom settings they wish to keep.

0.1.6

  • Hotfix: corrected the restart helper to read the V2 launch-request format written by the current plugin.
  • Preserved every repeated Argument= entry so the active r2modman/BepInEx launch arguments are passed back to Steam correctly.
  • Restored the save → shutdown → Steam relaunch → character/world resume sequence.
  • The main ModsmithCycle.dll behavior is unchanged from 0.1.5; this hotfix replaces the mismatched helper packaged with 0.1.5.

0.1.5

  • Reworked the Escape-menu restart control to use Valheim's native button styling.
  • Added a matching native gold ornament above the Modsmith Cycle restart button.
  • Moved restart status and cancellation messages directly below the button and stabilized their layout.
  • Fixed inherited native-button behavior that could trigger the original Settings action.
  • Removed temporary UI diagnostics after final placement was verified.
  • Cleaned obsolete fields from the plugin-to-restarter launch contract.
  • Removed the retired opening-cinematic skip functionality and stale configuration references.
  • Disabled unfinished automatic remote-server reconnect behavior while preserving the framework for future co-op work.
  • Preserved same-character and same-local-world automatic resume.
  • Preserved locally hosted-session settings so friends can reconnect normally after the host restarts.
  • Revalidated the full save, shutdown, Steam relaunch, character restore, and local-world resume cycle on Valheim 1.0.15.

0.1.4

  • Updated the packaged Modsmith Cycle plugin to build 0.1.4.
  • Updated the support link to https://discord.gg/ZxJ8wRtxhQ.
  • Bundled the restart helper and Thunderstore package metadata for the 0.1.4 release.

0.1.3

  • Reissued the cinematic-skip and same-server reconnect update under a fresh Thunderstore version after the removed listing retained version 0.1.2.
  • Kept the same ModsmithCycle package identity so existing installations can update normally.
  • Added the Mod Support Discord channel to the package documentation and metadata.

0.1.2

  • Added a configurable skip for Valheim's opening cinematic, enabled by default.
  • Added immediate title-menu advancement when a valid Modsmith auto-resume is pending.
  • Restores hosted-server, public-listing, crossplay, and salted password-verifier settings so friends can reconnect after the world reloads.
  • Added guest-client restart and automatic reconnection to the same Steam, PlayFab/crossplay, or direct-address server.
  • Uses Valheim's normal password prompt for guest reconnection; readable server passwords are not stored.
  • Kept ordinary title-menu access unchanged when no auto-resume request exists.
  • Left engine and publisher splash screens that occur before BepInEx initialization untouched.

0.1.1

  • Changed relaunching from direct Valheim.exe execution to Steam -applaunch 892970, matching r2modman's Windows launch route.
  • Rebuilds the active profile's Doorstop 3 or Doorstop 4 arguments from the currently loaded BepInEx directory.
  • Added automatic Steam.exe discovery from the running Steam process and standard installation folders.
  • Added an optional Steam executable override for nonstandard installations.
  • Increased the post-exit delay to give Steam time to release the previous game session.
  • Corrected an empty launch-argument request edge condition found by the helper smoke test.
  • Verified the complete save, modded relaunch, active-profile preservation, and same-local-world resume cycle on Valheim 1.0.12.

0.1.0

  • Added an Escape-menu save-and-restart button.
  • Added a configurable five-second countdown and cancel action.
  • Added a hidden Windows helper that waits for Valheim to exit before relaunching.
  • Preserved the current r2modman profile through the existing Doorstop/BepInEx launch arguments.
  • Added same-character and same-local-world automatic resume.
  • Added private-session enforcement for automatic local-world resume.
  • Added connected-player blocking, expiring requests, one-use tokens, and restart-loop protection.
  • Added an optional Left Ctrl + F9 menu shortcut.