Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ServerPasswordOnce
The server asks a returning player for the password only when it changed.
| Date uploaded | 2 weeks ago |
| Version | 1.0.0 |
| Download link | DooDesch-ServerPasswordOnce-1.0.0.zip |
| Downloads | 1751 |
| Dependency string | DooDesch-ServerPasswordOnce-1.0.0 |
This mod requires the following mods to function
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.2333README
ServerPasswordOnce
🛟 Need help or found a bug? Get support at support.doodesch.de/serverpasswordonce.
Server mod: a player who already entered the current server password is not asked for it again.
What it does
- A player who entered the current password once joins without the password window after that.
- When you change the server password, every player must enter it once more.
- The mod saves no password. For each player it saves the Steam id, a salted fingerprint of the password and the time of the last join.
- When you ban a player, the mod removes that player from the guest list.
Requirements
| Component | Version |
|---|---|
| Valheim dedicated server | 1.0.12 |
| BepInExPack_Valheim | 5.4.2333 |
The mod works on Steam servers. On a server started with -crossplay it asks every player as usual, see
"Crossplay servers" below.
Installation
- Install BepInExPack_Valheim on the server.
- Put
ServerPasswordOnce.dllintoBepInEx/plugins/ServerPasswordOnce/on the server. - Start the server with
-passwordas usual.
The server log then shows The server password is in force.
Admin command
Admins from adminlist.txt type the command in the game console. The game runs it on the server.
serverpasswordonce status mod state, backend, number of guests, path of the guest list
serverpasswordonce list all guests with their last join
serverpasswordonce forget <id|name> remove one guest; they must enter the password again
serverpasswordonce forgetall remove all guests
serverpasswordonce reload read the guest list file again
status and list write to the server log, not to your game console. forget <name> works only while
that player is online. For other players, use the id from list.
Guest list
serverpasswordonce.txt in the save folder of the server, next to adminlist.txt. One line per guest:
Steam id, password fingerprint, last join.
To remove a guest by hand, delete the line and run serverpasswordonce reload.
Crossplay servers
On a server started with -crossplay, the game does not verify the player id. Anyone who knows the id of
a guest could join without the password. For this reason the mod does not skip the password there and
writes a warning to the server log.
Risk / AllowUntrustedBackends = true skips the password on crossplay servers too. While it is on, the
server writes a warning on every start.
Configuration
BepInEx/config/DooDesch.ServerPasswordOnce.cfg on the server. Restart the server after a change.
| Option | Description | Default |
|---|---|---|
| General / Enabled | When off, every player must enter the password on every join. | true |
| General / LogJoins | Log a line for every join without the password window. The first join of a new guest is always logged. | true |
| Guests / ForgetAfterDays | Remove guests who did not join for this many days. 0 keeps them. | 0 |
| Guests / MaxGuests | Maximum number of guests. When the list is full, the guest with the oldest last join is removed. 0 sets no limit. | 0 |
| Risk / AllowUntrustedBackends | Skip the password on crossplay servers too. See "Crossplay servers". | false |
CHANGELOG
Changelog
All notable changes to this project are documented here. The format follows Keep a Changelog; versions follow SemVer. The section for a version is written once, when the version is tagged; the release workflow publishes it unchanged to GitHub, Thunderstore and Nexus.
[Unreleased]
[1.1.0] - 2026-10-01
- The mod now works on servers started with
-crossplay. You can keep-crossplayin the start command. - On a crossplay server,
serverpasswordonce listshows the platform id and the PlayFab player id of each guest.forgetaccepts each of them. - After a change between a start with
-crossplayand a start without it, every player enters the password once more. - Guests that an older version saved on a crossplay server are removed at the first start, because their saved id was not safe.
Risk / AllowUntrustedBackendshas no effect on Steam servers and crossplay servers.
[1.0.1] - 2026-10-01
- The server log says at the start when the mod is not active, and why. On a crossplay server it names
-crossplayas the argument to remove. Reported by lautasantenni. The server password is in force.is written only when the mod skips the password for known players.- The install steps say that
start_headless_server.batcontains-crossplay.
[1.0.0] - 2026-09-13
- Players who already gave the current server password join without the password window.
- Changing the server password asks everyone once more; the password itself is never stored.
- Admin command
serverpasswordoncelists, forgets and reloads guests while the server runs. - Optional: forget a guest after days away, and cap how many guests the server remembers.
- Steam servers by default; crossplay keeps asking unless an admin turns that on in the config.