SoyBoys-AllHandsOnboard_RowingRework icon

AllHandsOnboard RowingRework

Unofficial rowing rework: optional Balrond Shipyard support, tuned timpani and audio recovery, calibrated vanilla oars and normal flotation.

Last updated a month ago
Total downloads 221
Total rating 1 
Categories Mods
Dependency string SoyBoys-AllHandsOnboard_RowingRework-1.2.0
Dependants 1 other package depends on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202

README

AllHandsOnboard - Rowing Rework 1.2.0

Unofficial local test fork of SomeName / PajakKamil's AllHandsOnboard.

Optional Balrond Shipyard support (1.2.0)

Inspected against Balrond Shipyard 1.7.3. It is NOT a required dependency; the rework continues to work without it. Existing vanilla ship counts and calibrated mount values remain unchanged.

Added ship Default rower capacity Oar pairs
Knarr 2 1
Snekke 4 2
Holk 6 3

These are gameplay starting points, not historical crew claims or verified seat counts. Rowing still uses the ship's existing attachable seats; this integration does not add seat furniture. Native-seat availability, precise hull placement, shields/tent clearance and multiplayer need in-game testing.

Detection uses Shipyard's plugin ID and its known ship prefab names/aliases. With Shipyard absent or support disabled, these custom ships receive no rowing slots from this integration.

[Compatibility.BalrondShipyard] Enabled = true activates support when installed. Set false and restart to disable it. No hard dependency or Balrond binary/assets are included in the package.

New sections [Oars.Knarr], [Oars.Snekke], [Oars.Holk] have:

  • RowerCount: choose 0, 2, 4 or 6 (0 disables that ship).
  • WidthScale, HeightOffset, ForeAftOffset: independent mount tuning; initial defaults are 1, 0, 0. These new hulls are not yet calibrated in-game.

Match slot count/config settings across clients and server; restart after changes. This mod does not add config synchronization.

Existing Shipyard upgrades

The inspected 1.7.3 RefreshOarRudderSpeed method changes rudder speed, not the paddle-drive force used by this fork. We preserve that upgrade and its saved state. No Shipyard method is patched or disabled.

HideNativeOarsWhileRowing = true hides only Shipyard's oar renderers while our generated oars are visible. Their original enabled states are restored when leaving rowing mode or unloading our visuals. The upgrade GameObject stays active, preserving its behavior and state. This also applies to Shipyard-upgraded vanilla ships. Set false to retain both sets of visuals. If a future Shipyard version changes its oar API, a warning is logged and visibility integration is skipped.

Source of ship list: https://thunderstore.io/c/valheim/p/Balrond/balrond_shipyard/

Retained audio and vanilla-ship features

  • Alternating tuned timpani-style C2/G2 cues, with a defined mallet strike and reverberant tail. Original synthesis, no soundtrack samples. The linked video could not be auditioned directly.
  • 120 BPM remains the default (one left/right input every 0.5 seconds).
  • Default cue volume rises from 0.25 to 0.65. Only untouched 0.25 settings migrate; mute and custom volume settings remain unchanged.
  • Audio test, mod-source recovery, optional manual engine reset, device-change handling and diagnostic logging.
  • Oar geometry and calibrated positions are unchanged from 1.1.2; the user confirmed all three ships now fit well. Raft has no oars.
  • The earlier flotation fix remains: rowing modifies paddle drive only, never upward flotation.

Install / update

Close Valheim. Replace the previous rework DLL with BepInEx/plugins/AllHandsOnboardRework/AllHandsOnboard.dll from this ZIP, inside your active Thunderstore profile. If this is your first rework installation, disable the original AllHandsOnboard package and copy that plugin folder into the profile's BepInEx/plugins folder. Keep BepInEx enabled.

Only one AllHandsOnboard DLL should be active. All participating players should use this build. Replace any original/rework copy on a dedicated server too. Your config does not need deleting. The log should show All hands onboard v1.2.0.

Sound controls and recovery

Default shortcut Action
F8 Four alternating timpani test hits, independent of boat state, HUD visibility or cue mute. Uses audition volume 0.65. Still respects game master volume/pause.
F9 Rebuild this mod's audio source and generated clips, then run the sound test.
Ctrl+Shift+F9 Explicitly reset Unity's game audio engine using its current configuration, rebuild mod audio, then test. May briefly interrupt all game sounds.

The stronger reset runs ONLY on that deliberate key combination. The watchdog never resets the whole game's audio engine. A driver/device or game-wide problem may still need another remedy; recovery is not guaranteed.

The watchdog checks while rowing or testing. If playback should be active but the source is disabled/muted/not playing, it can recreate the mod source and clips. Repairs are limited to three per minute and at least 15 seconds apart. Global mute, pause and missing listeners suppress automatic repair. Audio device/configuration changes trigger a rebuild on the next update.

Unity can report playback even when the actual output is inaudible. Logs cannot prove the user heard a sound; use F8 and, if necessary, F9 or the stronger manual reset to check.

Logs

Read BepInEx/LogOutput.log in the active profile. Look for Timpani and Rowing timpani lines. Logs include:

  • Tests and manual/automatic recoveries.
  • Cue submission count, source enabled/mute/playing state, clip load state, cue/master volume.
  • Active listener count, output sample rate, DSP audio clock and device/configuration changes.
  • State changes and one status every 30 seconds while active; repeated exceptions are throttled.

If sound fails, press F8, then F9 if needed, and send that log before restarting the client. That preserves the failure/recovery evidence. Use Ctrl+Shift+F9 if other game sounds have also dropped out.

Configuration

BepInEx/config/com.allhands.onboard.cfg:

  • [Rowing] TargetStrokeInterval = 0.5 gives 120 BPM; 0.6 gives 100 BPM.
  • [Hud] MetronomeSound = true enables normal rowing cues.
  • [Hud] MetronomeVolume = 0.65 controls normal cue loudness.
  • [Audio] TestKey = F8, ResetKey = F9. Rebind or set None to disable. Ctrl+Shift modifies the selected reset key.
  • [Audio] Diagnostics = true, AutoRecover = true.
  • Per-ship mount defaults: Karve WidthScale 1.00; Longship 0.75; Drakkar 1.30. HeightOffset and ForeAftOffset stay zero. Restart after changing mount geometry.

Validation status

Build and offline regression checks passed. See VERIFICATION.md. The new audio controls/recovery and final in-game audio balance still require a live test. Previous in-game feedback confirmed the calibrated oar positions. This build does not change those positions.

Roll back

Close Valheim and restore the previous rework DLL, or remove the rework plugin folder and re-enable the original package. Restore a backed-up config if needed. To restore the old sound level manually, set MetronomeVolume to 0.25.

Credits

Original AllHandsOnboard: SomeName / PajakKamil. https://github.com/PajakKamil/AllHandsOnboard Apache-2.0; see LICENSE and NOTICE. No new runtime dependency beyond BepInEx.