Valheim Game Server Admin Web UI - VAUI
for Windows. Linux/OSX in the future.
"Bugs ... fixes are really wanted"
Any bugs about this project, feel free to report them at the issues tab. And you are welcome to submit pull requests.
- Standalone, just run by NodeJS (and a service)
- IIS Server, using iisnode
As standalone installation
- download the files from github to a new
C:\Server-Games\ValheimAdminUI
folder- and open a terminal there
- install the UI main dependencies:
npm i
- install all requirements
- best to download NSSM and SteamCMD to a folder, e.g.
C:\Server-Games\ValheimAdminUI\tools
- best to download NSSM and SteamCMD to a folder, e.g.
- configure, see
Paths and commands
(and that bin folder) - add a user to be able to login, see
to create a password hash and save with a user
- Install game and service, see
Install the game or service
- (setup port forwarding / DynamicDNS)
- run it with
npm start
- open the browser, http://localhost:3000/
Using DynamicDNS and IIS you may not want to use HTTPS.
- You would remove the
<rule name="Redirect to https"...
directive.
Passwords: app/config.passwords.json
Paths and commands: app/config.win32.js
and others.
UI translation: public/index.html
and public/commands.html
PORT
- the Valheim Admin UI port to use (defaults to3000
)PASSWORDFILE
- the full file path to a different password"*.json"
fileCONFIGFILE
- 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
to use a specific port for the web ui:
npm start -- port 3000
LINUX: PORT=3000 npm start
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
install the "service" or "game":
npm start -- install service
npm start -- install game
npm start -- install no-service // uninstall service
-
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
- all OSs:
-
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
- WIN: install using Chocolatey:
- user on
-
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
- used on
- NVM
- to handle NodeJS installations and to install NodeJS
- Microsoft IIS
- to host VSUI using iisnode
- 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
The code is available at GitHub under the ISC license.
bcrypt
- MIT Licensefs-extra
- MIT Licensekoa
- MIT Licensekoa-bodyparser
- MIT Licensekoa-router
- MIT Licensekoa-session
- MIT Licensekoa-static
- MIT Licensenode-vdf
- ISC License
- pack using electron for releases (no NodeJS installation, no
npm start -- cmd
butvaui --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
- replace NSSM with a js-module
- add features to the top of the readme
- add discord support
- add UPNP support
- add banned list editing
- add output of UI logs (to see update status and errors)
- the code was a 2 day experiment - It needs a cleanup (Modules etc)