ValheimPasswordManager

版本 v1.0.1·更新於 2026-04-01

A client-side BepInEx mod that adds saved password selection and management to Valheim's vanilla server password dialog while keeping the original UI style.

模組介紹 作者原文

Valheim Password Manager

English

A BepInEx 5 + Harmony client-side mod for Valheim that enhances the vanilla password dialog shown when joining password-protected servers.

Source code repository

Features

  • Keeps the original Valheim password dialog and submit flow intact
  • Injects a dropdown button on the right side of the existing input field
  • Shows a local password list in a drawer below the input field
  • Clicking a saved password fills the original input field automatically
  • Each saved password can be deleted individually
  • Prompts the player with “Save this password?” when submitting a new password for the first time
  • Stores passwords in a local JSON file and recreates the file safely if it becomes corrupted
  • Requires no server-side installation

Localization

  • The confirmation prompt follows the game's currently selected language.
  • The current implementation covers the built-in language names visible in assembly_guiutils.dll.
  • To avoid missing-glyph issues, the delete button no longer relies on an emoji and is instead drawn with plain UI shapes.
  • Character compatibility risk should be low for languages already supported by the base game, because the prompt still uses Valheim's own fonts and localization pipeline.
  • Password rows reuse the same font settings as the original input field. If a character cannot be displayed correctly in the vanilla input box, it may also be limited in the saved-password list. That would be a base-game font coverage issue rather than a mod-specific one.

Build

Option 1: build with the script

Run this from the repository root:.\build.ps1

Option 2: build manually with dotnet

$env:APPDATA = (Resolve-Path '.appdata').Path

$env:DOTNET_CLI_HOME = (Resolve-Path '.').Path

$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1'

$env:NUGET_PACKAGES = Join-Path (Resolve-Path '.').Path '.nuget\packages'

dotnet build.\src\ValheimPasswordManager\ValheimPasswordManager.csproj -c Debug --configfile.\.appdata\NuGet\NuGet.Config

Output DLL:

  • src\ValheimPasswordManager\bin\Debug\ValheimPasswordManager.dll

Installation

Copy the compiled DLL into the Valheim client:

  • \BepInEx\plugins\ValheimPasswordManager\ValheimPasswordManager.dll

A dedicated subfolder is recommended:

  • \BepInEx\plugins\ValheimPasswordManager\

JSON storage path

After running the mod, the saved password list is stored at:

  • \BepInEx\config\JipZeonGit.Valheim.PasswordManager.json

If the file is corrupted, it is backed up automatically as:

  • JipZeonGit.Valheim.PasswordManager.json.corrupt-timestamp.bak

Configuration file

After the mod runs once, it generates a BepInEx config file:

  • \BepInEx\config\JipZeonGit.Valheim.PasswordManager.ScrollSpeed.cfg

Current UI option:

  • UI.PasswordListScrollSpeed

Notes:

  • default value: 160
  • allowed range: 20 to 400
  • larger values make the password list scroll faster with the mouse wheel

Development references

This repository does not commit the game/framework DLL payloads by default, but local compilation still depends on these reference folders:

  • references\\BepInEx\\core
  • references\\Valheim\\Managed

If you clone this repository on a new machine, prepare those DLLs in the local references folder first, following references/README.md, and then build the project.

GitHub repository guidance

Treat the GitHub repository as a source repository, not as a mirror of a local game installation.

Recommended to commit:

  • src/
  • docs/
  • README.md

-.gitignore

  • build.ps1
  • NuGet.Config

Not recommended to commit:

  • local game/framework reference copies under references/
  • local upstream source mirrors under third_party/
  • build outputs and caches such as bin, obj,.appdata,.dotnet, and.nuget/
  • local JSON files, backup files, and log files created during testing

Why:

  • references/Valheim/Managed contains assemblies copied from a local game installation and is not ideal to keep in a public source repository.
  • third_party/ is reference

安裝與使用 安裝:BepInEx 外掛

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

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

前置依賴

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

denikson-BepInExPack_Valheim

檔案與校驗

檔案名稱
ValheimPasswordManager-1.0.1.zip
檔案大小
75.8 KiB