Valheim Game Server Admin Web UI - VAUI
npm install valheim-admin-ui

C:\Server-Games\ValheimAdminUI folder
npm i
C:\Server-Games\ValheimAdminUI\tools
Paths and commands (and that bin folder)
to create a password hash and save with a user
Install the game or service
npm start
directive.
Config
Passwords: app/config.passwords.json
Paths and commands: app/config.win32.js and others.
UI translation: public/index.html and public/commands.html
Commands
$3
- PORT - the Valheim Admin UI port to use (defaults to 3000)
- PASSWORDFILE - the full file path to a different password "*.json" file
- CONFIGFILE - the full file path to a different "config.*.js" file
Set a env var on commandline, then run the UI (PORT used as an example):
- Win (cmd): \> set PORT=3000 && npm start
- Win (PS): PS> $env:PORT=3000 ; npm start
- MacOS/LX: $ PORT=3000 npm start
$3
``
to use a specific port for the web ui:
npm start -- port 3000
LINUX: PORT=3000 npm start
`
$3
`
to create a password hash:
npm start -- enc newpassword
npm test newpassword
to create a password hash and save with a user:
npm start -- enc newpassword user.name
npm test newpassword user.name
delete a user:
npm start -- enc NULL user.name
npm test NULL user.name
`
$3
`
install the "service" or "game":
npm start -- install service
npm start -- install game
npm start -- install no-service // uninstall service
`
Requirements
- NodeJS > 14
- used to run everything
- install
- Download: https://nodejs.org/en/download/
- install using NVM: nvm install 16.0.0
- NVM for Win: https://github.com/coreybutler/nvm-windows
- app modules
- the ui has code dependencies
- all OSs: npm i
- full-icu
- globally installed for nodeJS
- Install
- all OSs: npm install full-icu -g
- NSSM (Windows)
- user on -- install service
- used by start / stop / update commands
- Install
- Download: https://nssm.cc/download -> You must use the pre-release nssm 2.24-101-g897c7ad!
- WIN: install using Chocolatey: choco install nssm
- SteamCMD
- used on -- install game
- used by update game commands
- Install
- Download: https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD
- WIN: install using Chocolatey: choco install steamcmd
- MacOS: brew install --cask steamcmd
- Linux: apt install steamcmd
$3
- NVM
- to handle NodeJS installations and to install NodeJS
- Microsoft IIS
- to host VSUI using iisnode
- iisnode
- https://github.com/Azure/iisnode
- freedns.afraid.org
- to have the Web UI available on a self hosted server
- FileZilla Server
- alias the most important folders: game-logs, admin-ui-logs, world-file-folder, game folder for admin
- Example folders related to my configuration:
- ./iisnode
- C:\Server-Games\valheimserver\config
- C:\Server-Games\valheimserver\logs
- C:\Server-Games\valheimserver\valheim_server_Data
- C:\Server-Games\valheimserver\logs
- C:\Users\Valheim Game Server\AppData\LocalLow\IronGate\Valheim
License
The code is available at GitHub under the ISC license.
Attribution
- bcrypt - MIT License
- fs-extra - MIT License
- koa - MIT License
- koa-bodyparser - MIT License
- koa-router - MIT License
- koa-session - MIT License
- koa-static - MIT License
- node-vdf - ISC License
Possible future ideas for v.2
- pack using electron for releases (no NodeJS installation, no npm start -- cmd but vaui --cmd` usage)
- use npm's SteamCMD to download SteamCMD
- use a setup script
- add a script to use appcmd.exe to add to IIS / include to download iisnode