Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
2 weeks ago
Downloads
3.5K
Size
103KB
ADDatHost Valheim hosting
30% off

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.16
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

  1. Install BepInExPack_Valheim on the server.
  2. Put ServerPasswordOnce.dll into BepInEx/plugins/ServerPasswordOnce/ on the server.
  3. Start the server with -password and without -crossplay. The start_headless_server.bat that comes with the dedicated server contains -crossplay; remove it from that line.

The server log then shows The server password is in force. If it shows ServerPasswordOnce is not active, the same line gives the cause.

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. The server log shows ServerPasswordOnce is not active at the start.

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
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.