CaptainsLog

版本 v1.1.0·更新於 2026-09-20

Logs ship speed, wind, and heading to CSV while you sail, plus a live HUD - empirical data for comparing ship speeds instead of guesswork.

模組介紹 作者原文

Captain's Log

Logs ship telemetry — speed, wind, sail efficiency, rudder, heading — to CSV while you sail, plus a live HUD. Built to gather empirical data on ship speed instead of relying on guessed/community-reported stats.

Features

  • Logs a CSV row every time the local player is aboard a moving ship (sample rate configurable, default 2/sec)
  • Captures: timestamp, player, ship name, position, biome, forward speed (m/s and knots), throttle setting, propulsion mode (oars forward/reverse vs sail), rudder, heading, relative wind angle, sail wind-efficiency factor, wind intensity, absolute wind direction
  • Small HUD, visible only while aboard a ship: speed in knots (or m/s), wind strength and where it comes from, sail efficiency while the sail is up, and the rudder while it's turned
  • The HUD sits under your hotbar, including a second row added by AzuExtendedPlayerInventory, or beside the ship's rudder icon like Azumatt's Ship Stats
  • One CSV file per game session, written to BepInEx/CaptainsLog/shiplog-.csv
  • A Player column on every row, so logs from different people can be merged
  • Optional server install: a dedicated server logs every player's sailing into one file

Server logging

Install the mod on a dedicated server and it writes BepInEx/CaptainsLog/shiplog-server-.csv for as long as the server runs. It logs every ship that has someone at the helm or its sail or oars engaged, at the configured sample interval per ship.

  • Player is the helmsman. If nobody is steering (a sail left up), it's the player whose game is running the ship.
  • Speed is exact, not estimated. The sailing player's game runs the ship's physics and sends its velocity to the server, and the server logs that velocity.
  • Players don't need the mod for their sailing to be logged. The server log has no HUD, and the [HUD] settings are ignored there.
  • A busy server writes about 2 rows a second per ship being sailed, roughly 0.7 MB an hour each.

Why these columns

Raw speed alone doesn't tell you much — a ship that's "fast" running downwind might be mediocre upwind. Logging wind angle and sail efficiency (GetWindAngleFactor, the game's own point-of-sail multiplier) alongside speed lets you separate "this ship is fast" from "this ship happened to have good wind" when comparing runs.

Rudder is where the rudder sits, from -1 (full left) to 1 (full right), which is what actually steers the ship.

Valheim wind has no speed, only a strength from 0 to 1 (WindIntensity), which scales sail force from 25% to 100%. Sail force doesn't depend on how fast the ship is already going, so a ship can easily outpace any "wind speed" you might derive from it, and the HUD shows wind as a percentage for that reason. (Azumatt's Ship Stats converts it to knots by treating full strength as 10 m/s, which is only a convention.)

On the HUD, from... is where the wind comes from relative to the hull, not a compass direction: astern, a quarter (within 67.5° of astern), the beam, the bow, or ahead, on the port or starboard side. The efficient figure on the Sail line is WindAngleFactor (below), which depends only on that angle.

WindAngleDeg is signed and ranges -180° to +180°: 0° = tailwind (wind at your stern, pushing you forward), +/-180° = headwind (wind on the nose). WindAngleFactor (0-1) is the game's own sail-efficiency curve for that angle (Ship.GetWindAngleFactor): 0.7 with the wind dead astern, rising to 1.0 with the wind exactly on the beam (+/-90°), falling back to about 0.78 at +/-139°, then cut to 0 by +/-143°. Within about 37° of dead ahead the sail gives no push at all.

SpeedSetting (Stop/Back/Slow/Half/Full) is the ship's five-step throttle. Propulsion translates that into what's actually moving the ship: Idle, Oars-Reverse (Back), Oars-Forward (Slow), or Sail-Half/Sail-Full (Half/Full). Note that the game's own Ship.IsSailUp() isn't an independent sail-raised sensor — it's literally defined as SpeedSetting == Half || SpeedSetting == Full — so we don't log it separately; Pr

安裝與使用 安裝:BepInEx 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

denikson-BepInExPack_ValheimValheimModding-Jotunn

檔案與校驗

檔案名稱
CaptainsLog-1.1.0.zip
檔案大小
33.3 KiB