Skip to content

Installation Windows

brkihel edited this page Sep 26, 2026 · 6 revisions

Installation on Windows

This guide takes you from zero to a Valheim server online, with an admin panel and a website, on your Windows computer. It is written for people who have never set up a server: each step says what to click, what will show on screen and what to do if something looks different.

You will not need to type any commands. Everything is done by an app, Heimdall Nexus, and by your web browser.

Tip

Already know Valheim servers and the inside of Windows? Skip to the quick reference for veterans at the end of the page.

At the end you will have:

  • the Valheim dedicated server running on your PC, turned on and off with a button;
  • the panel (Jarl), a page in your browser to run the server: mods, backups, settings;
  • the server website, with live status and the mod list, to show your friends;
  • the Heimdall Nexus app, a window that turns everything on and off.

How long it takes: 20 to 40 minutes. Almost all of it is downloading Valheim (about 2 GB), and you only have to wait.

The path, in short:

  1. Download the app
  2. Open the app
  3. Start the installation
  4. Fill in the wizard in the browser
  5. Wait for the installation to finish
  6. Meet the Heimdall control center
  7. Start the server and sign in to the panel
  8. Join the server from Valheim
  9. Let friends join over the internet
  10. Get the PC ready to be a server

Before you start

What you need

Minimum How to check
Windows Windows 10 (version 1809 or newer), Windows 11 or Windows Server 2019/2022, 64-bit Press Windows + R, type winver and press Enter
Memory 8 GB. The server alone uses 2 to 4 GB Press Ctrl + Shift + Esc, open the Performance tab and click Memory
Disk space 10 GB free on drive C: Open File Explorer and click This PC
Account A Windows administrator account If you install programs on the PC yourself, you probably have one
Internet To download the game; later, for friends to connect

If you will also play on the computer that runs the server, plan on 16 GB of memory: the game and the server together go over 8 GB.

Words used in this guide

  • Dedicated server: Iron Gate's official program that keeps a Valheim world running without anyone having to play on it. Players join as if it were a friend's world.
  • Heimdall Nexus app: the window that installs everything and then turns Heimdall and the server on and off.
  • Wizard: the five screens that open in the browser during installation, where you choose the server name, the world and the passwords.
  • Panel (Jarl): Heimdall's admin page, opened in the browser.
  • Windows service: a program that runs in the background, with no window. The server, the panel and the website become services. That is why they keep working with the app closed.
  • IP: a computer's "address" on the network. At home it looks like 192.168.0.25. On the internet, your home has another number, the public IP.
  • Port: a numbered "door" into the computer. Valheim uses ports 2456 and 2457; the website uses 80.
  • CGNAT: when your provider shares one public IP among many customers. With CGNAT, opening router ports does nothing (step 9 shows how to check).
  • Crossplay: a Valheim mode where players meet through a Microsoft service. It works without touching the router, even with CGNAT, but only on a server without mods (vanilla).
  • Router: your home internet box. For friends outside to join, it sometimes needs setting up (step 9 explains).

Step 1: download the app

  1. Open the latest release page: github.com/brkihel/Heimdall-Nexus/releases/latest.
  2. Scroll down to Assets, at the bottom of the page.
  3. Click the file that starts with HeimdallNexus-Windows- and ends in .exe, like HeimdallNexus-Windows-1.1.exe (the number changes with each version). It is a small download, about 1.5 MB.

The same list has a file ending in -source.zip. You do not need it: the app downloads it by itself at the right time.

Note

Your browser may be wary of the file. New programs that few people have downloaded yet sometimes get a warning. This is normal, and the file is the one published on the project's GitHub.

  • Microsoft Edge: if it says the file "isn't commonly downloaded", hover over the warning, click the three dots (…) and then Keep. If it asks again, click Show more and Keep anyway.
  • Google Chrome: if a warning shows in the downloads list, click it and choose Keep (or Download anyway).

Step 2: open the app

  1. Open your Downloads folder (in File Explorer or from the browser's download list).
  2. Double-click the HeimdallNexus-Windows-….exe you downloaded.

Important

The first time, Windows may show a blue screen saying "Windows protected your PC". That is SmartScreen, and it does this with every new program that does not have a paid digital signature yet. To go on:

  1. Click More info (the small link below the text).
  2. A Run anyway button appears. Click it.

This window opens:

The Heimdall Nexus app's welcome screen, with the Start installation button

On the left is what will be installed. On the right, the three steps of the installation, how long it takes and how much space it needs.

Note

If a message about "WebView2" appears, click Yes. WebView2 is a free Microsoft component the app uses to show its window. It comes with Windows 11 and most of Windows 10; if yours lacks it, the app downloads it straight from Microsoft in a minute or two and then opens.


Step 3: start the installation

  1. Choose where to install, in the Where to install box (explained just below). If you do not want to change anything, leave it: Heimdall goes to drive C:.
  2. Choose whether you want a desktop shortcut (the switch just above the button). On, the app is easier to find later. It is also in the Start menu either way.
  3. Click Start installation.
  4. Windows asks: "Do you want to allow this app to make changes to your device?". Click Yes.

That question comes only once. It is needed because Heimdall creates Windows services and opens the game's ports in the firewall, and only an administrator can do that.

The window now shows the progress:

  • Check the computer: makes sure Windows and the free space are enough.
  • Download Heimdall Nexus: downloads the package and checks that it arrived whole.
  • Prepare Heimdall's Python: installs a Python just for Heimdall. It stays out of sight and does not disturb other programs. The app first checks that the installer is the official one.
  • Open the assistant in the browser: your browser opens by itself.

This takes one to three minutes. When the browser opens, go to step 4.

Where to install

The Where to install box shows where Heimdall will live. To change it, click Change:

The list of disks to choose where to install Heimdall
Option What happens
Windows default (C:) Like any program: the program goes to C:\Program Files\HeimdallNexus and the data to C:\ProgramData\HeimdallNexus.
Another disk (for example D:) Everything goes in one folder, D:\HeimdallNexus: the program, the game, the worlds and the backups. Good for keeping C: for Windows alone.
Another folder… Opens Windows' folder picker; Heimdall creates HeimdallNexus inside the folder you pick.

Each disk shows its free space. A disk with less than 10 GB free is greyed out, with the reason in red.

On another disk, the folder looks like this:

D:\HeimdallNexus\
  README.txt         what each folder is
  program\           the program: panel, website, Python (leave it alone)
  data\              your data
    valheim\saves\       the worlds
    valheim\backups\     the world backups
    valheim\current\     the Valheim server and the mods
    logs\                each service's logs

Note

Why the app may refuse a folder. Some parts of Heimdall run with Windows' highest power and run what is in the program folder. If any user could change it (or swap the whole folder for another), ordinary malware could use that to take over the computer. So the folder is created locked, and the app only accepts a place no ordinary user can change, rename or replace. In practice:

  • the root of a disk (like D:\) works: Heimdall creates D:\HeimdallNexus there;
  • a folder your account created (like D:\Games) is refused, with the explanation;
  • USB drives, external disks and disks that are not NTFS are refused too.

Step 4: fill in the wizard in the browser

While you fill in the wizard, the app window looks like this:

The Heimdall Nexus app showing Continue in the browser

Warning

Do not close the app window until the installation ends. It is the one following the work. If you close it by mistake, it first asks whether you really want to stop.

The browser did not open? Click The browser did not open? Click here. in the app window.

The wizard has five screens. The fields come with an example, and you can go back and fix things before installing. Almost everything you choose here can be changed later from the panel. The exception is the addresses on screen 1, and it is flagged there.

Screen 1: Site

The Site screen of the setup wizard
Field What to enter
Site domain or IP The address of the website and the panel. The app's Open the panel and Open the website buttons use it.
Game connection address The address the website shows to friends, for them to type in Valheim. Blank uses the same as above.
Configure HTTPS automatically Leave it off unless you have a domain (explained below).

Tip

You can change them later, in the panel's Server Config → Endereço (version 1.3.0 or newer; see Changing the address later). Still, get them right now: they are what the app's buttons and the website's links use from the first minute.

What to put in "Site domain or IP":

Your situation What to put
You have a domain (for example myserver.com) pointing at your internet The domain
No domain The PC's IP on your network, something like 192.168.0.25 (see below how to find it)

To find the PC's IP:

  1. Press Windows + R, type ncpa.cpl and press Enter. The Network Connections window opens.
  2. Double-click the connection you use (Wi-Fi or Ethernet) and click Details….
  3. Look for IPv4 Address, something like 192.168.0.25. Use that number.

Tip

Pin that IP on the router before installing. The router may give the PC another IP after a restart, and then the app's buttons point at the old address. To avoid that, sign in to the router (way B in step 9 shows how) and look for DHCP Reservation, Static IP or Address Reservation. Without HTTPS, the website itself keeps opening at any of the PC's addresses, even the new IP.

What to put in "Game connection address": what friends will type in Valheim. It depends on how they will join, explained in step 9. If you have not read it yet, read it before filling this in:

How friends will join What to put
Only people in your home Leave it blank (uses the PC's IP)
Through ports opened on the router Your public IP, or a dynamic DNS name like myserver.duckdns.org
Through crossplay (server without mods) Leave it blank: friends join with the six-digit code, and the address is only informative
Through a tunnel or virtual network The address the service gives

HTTPS is the padlock in the browser. It only works with a real domain and ports 80 and 443 forwarded by the router. In that case, turn it on and enter your email: the certificate is requested and renewed by itself. With an IP, leave it off; the site works normally, just without the padlock.

Screen 2: Server

The Server screen of the setup wizard
Field What to enter
Server name The name players see. E.g. Friends Server.
World name The saved world's name. Letters, numbers, spaces, - and _ only. E.g. Midgard.
UDP port Keep 2456, Valheim's default. It uses this one and the next (2457).
Game password What players type to join. At least 5 characters, and it cannot appear in the server name.
Appear in server listings On: the server shows in Valheim's public list. Off: only people who know the address can join. Off is fine to start.
Enable crossplay The easiest way for friends to join over the internet: it works without touching the router, on any internet, and also lets Xbox and PC Game Pass players in. Friends join with a six-digit code that changes whenever the server restarts. But it only works for a server without mods (vanilla). Using mods? Leave it off. No mods? Turn it on. Step 9 explains the differences.
World modifiers The same as Valheim's "Host a server" screen: combat difficulty, death penalty, resources, raids, portals. Leave them alone for the default game.

Screen 3: Features

The Features screen of the setup wizard
Field What to enter
BepInEx Valheim's "mod loader". Turn it on for a modded server; off for the original game (vanilla). With mods, crossplay on screen 2 must stay off: the two do not work together.
Modpack Optional. A mod pack link from Thunderstore or Hexium, or the path of a .zip on the computer, like C:\Mods\MyPack.zip. Unsure? Leave it blank: mods can be installed later from the panel.
Install the modpack on the server On: downloads and installs the pack's mods on the server. Off: the pack only shows in the website's mod list.
Live data in the editor Information the website shows by itself: whether the server is up, how many players, the in-game day. Leave them as they are.

Note

On a modded server, each player also needs the same mods on their own computer. Heimdall takes care of the server; players usually install mods with r2modman or the Thunderstore app.

Screen 4: Administrator

The Administrator screen of the setup wizard
Field What to enter
Administrator username The panel login. jarl is fine.
Panel password The password to sign in to the panel. At least 10 characters. Not the game password: this one is yours alone.
Repeat password The same password again.

Tip

Write this password down somewhere safe, or keep it in a password manager. You will need it to sign in to the panel.

Screen 5: Review

The Review screen of the setup wizard

Check the summary. If something is wrong, click Back. If all is right, click Install everything.


Step 5: wait for the installation to finish

Now you just wait. The browser shows each step as it happens:

The installation progress screen in the browser

And the app window follows along, with the percentage in the ring:

The Heimdall Nexus app downloading the Valheim server
What shows What is happening Time
folders, runtime, python Creates the folders, copies Heimdall and prepares its libraries 1 to 3 min
steamcmd Downloads SteamCMD, Valve's official tool for downloading servers seconds
valheim Downloads the Valheim server (about 2 GB) 5 to 20 min
bepinex, modpack Installs the mod loader and the modpack, if you chose them 1 to 5 min
website Prepares and publishes the website seconds
services, firewall Creates the Windows services and opens the game's ports in the firewall seconds

While Valheim downloads, the percentage may sit still for a while. That is normal: keep waiting.

Note

If a step fails, the message shows in red in the browser and in the app, with a Retry button in the browser. The cause is usually the internet or disk space. Fix it and click the button: what was already done is not redone.

When the browser shows Heimdall Nexus is ready, the installation is over:

The installation complete screen in the browser

A few seconds later, the app says so too, with a green ring:

The Heimdall Nexus app with the installation complete

Click Open Heimdall Nexus. The installation window closes and the control center opens, explained in the next step.

Tip

The HeimdallNexus-Windows-….exe file in Downloads can now be deleted. The app is installed on the computer and lives in the Start menu (and on the desktop, if you asked for the shortcut) as Heimdall Nexus.


Step 6: meet the Heimdall control center

From now on, whenever you open Heimdall Nexus from the Start menu or the shortcut, this is the window you get:

The Heimdall Nexus control center with Heimdall on and the server off

The two round buttons

Button What it turns on and off
Heimdall · panel and website The admin panel and the server's website. With it on, the Open the panel and Open the website buttons work.
Valheim server The game server. On, players can join.

To turn something on or off, click its round button. It shows the state:

  • dark: off;
  • with a turning ring: starting, stopping or saving the world. Wait;
  • lit, golden: on.

Before turning something off, the app asks if you are sure. When the server stops, the world is saved first.

The confirmation before turning Heimdall off

Important

Closing the window turns nothing off. The server, the panel and the website keep running by themselves, with no window open. To turn them off, use the round buttons.

The three "When to turn on" switches

Here you choose whether anything starts by itself. All of them start off: nothing from Heimdall runs until you say so.

Switch When it is on
Turn Heimdall on when I open this app Opening the app turns the panel and the website on.
Turn Heimdall on with Windows The panel and the website start when the computer starts, even if nobody opens the app or signs in to Windows.
Start the Valheim server whenever Heimdall turns on Whenever Heimdall turns on (with the button, when opening the app or with Windows), the server starts too.

Which combination?

  • It is the PC you use every day (games, work): leave all of them off and use the buttons only when you want to play. The PC spends nothing on the server when you do not want it to.
  • It is a PC that stays on just to be a server: turn on "with Windows" and "server whenever Heimdall turns on". After a power cut or a Windows update, everything comes back by itself.

Step 7: start the server and sign in to the panel

  1. In the control center, click the round Valheim server button.
  2. Wait for the ring to stop turning and the text to change to On. The first time, Valheim creates the world, which takes 1 to 3 minutes.
  3. Click Open the panel. The browser opens the panel's sign-in page.
  4. Type the panel password you chose on screen 4 and sign in.
  5. You land on the Console, which shows the live log, the list of what the server is doing. It is ready for players when the line Game server connected appears.
The Heimdall Nexus control center with Heimdall and the server on

With the server on, the control center shows the world's name and how many vikings are playing.

Tip

The panel's Console also has Start and Stop buttons. Use whichever you like: the app and the panel always show the same state.

Never end the server from Task Manager: that way it does not save the world. Turn it off from the app or the panel.


Step 8: join the server from Valheim

  1. Open Valheim and click Start Game.
  2. Pick your character and click Start.
  3. Go to the Join Game tab, for joining other people's games.
  4. Use the join-by-address button (Join IP or Add server, depending on the game version) and type:
    • on the server's own PC: 127.0.0.1:2456;
    • on another computer at home: SERVER-IP:2456, for example 192.168.0.25:2456.
  5. Type the game password from screen 2.

Important

With crossplay on, 127.0.0.1 and your home IPs (192.168.…) do not work, not even on the server's own PC. Join with the six-digit code (step 9 shows where to find it), like your friends. This is Valheim's own rule.

Done, you are on your server. For friends outside your home, follow step 9.


Step 9: let friends join over the internet

Inside your home, everything already works. For people far away, the connection has to cross the internet to your PC, and this is where most people get stuck. Read calmly: this step explains why it sometimes does not work, and every way out.

How it works

When a friend tries to join, their connection first reaches your router. For safety, the router blocks everything coming from outside that nobody asked for. So a server at home only gets friends from outside in one of these ways:

  1. Crossplay: your server calls a Microsoft "meeting point" (the PlayFab service Valheim uses), and friends meet it there. Since it is your server calling out, the router lets it through. It works on any internet.
  2. Opening ports on the router: you tell the router that Valheim's connections may come in and should go to your PC. Friends join through your home's public IP. It only works if your provider does not use CGNAT (explained below).
  3. A tunnel or virtual network: a program makes a path from outside, a bit like crossplay, but run by another company. It is the way out for people with CGNAT who use mods, or do not want crossplay.

Note

And when Valheim hosts from the game itself? When you tick "Start server" inside Valheim, the game also uses a meeting point (Steam's or crossplay's), which is why friends can join without touching the router. The dedicated server, which is what Heimdall installs, works the same way with crossplay on. With crossplay off, it expects friends to arrive directly through the ports, and then the router has to allow it.

Which way?

Crossplay Open ports Tunnel or virtual network
Router changes No Yes No
Works with CGNAT Yes No Yes
How friends join Six-digit code PUBLIC-IP:2456 The address the service gives
What changes by itself The code, on every server restart The public IP, when the provider changes it Depends on the service
Modded server Does not work (vanilla only) Works Works
Xbox players Can join Cannot Cannot
Cost Free Free Free or paid, depending on the service

Which one:

  • Server without mods (vanilla): use crossplay (way A). It works on any internet and asks nothing of the router.
  • Modded server, internet without CGNAT: open the ports (way B).
  • Modded server, internet with CGNAT: ask your provider for a public IP (see the tip in the CGNAT section) and open the ports, or use a tunnel or virtual network (way C), or rent a server.

Not sure whether you have CGNAT? Find out whether your internet has CGNAT shows how to check in two minutes.

Way A: crossplay (works on any internet)

Warning

Crossplay is for servers without mods. With crossplay on, Valheim changes how it connects players, and mods (BepInEx) stop working for them: at most, a mod that runs only on the server and asks nothing of players survives. If your server has mods, skip to way B or way C.

If you turned Enable crossplay on in screen 2 of the wizard, skip to item 4.

  1. In the panel, open Server Config.
  2. Turn Crossplay on and click Save.
  3. The panel offers Restart to apply. Click it.
  4. On the panel's Console, wait for the server to be ready and look in the log for a line with join code. It has a six-digit code.
  5. Send the code to your friends. In Valheim, they go to Join Game, click Join IP (or Add server) and type the code instead of an address.

Important

The code changes every time the server restarts: when you turn it off and on, after a Windows restart, a game update or a settings change. The old code stops working. Whenever it restarts, get the new code from the Console and send it to your friends again.

Crossplay's limits:

  • the connection goes through Microsoft's meeting point, which may add a little delay (ping) compared with a direct connection;
  • neither on your PC nor at home can you join with 127.0.0.1 or 192.168.…: everyone joins with the code;
  • it does not work with a modded server (see the warning above).

Find out whether your internet has CGNAT

Many providers, especially fiber and mobile internet, share one public IP among several customers. That is called CGNAT. With CGNAT, the public IP is not yours alone, and opening router ports does nothing: your friends' connection stops at the provider before it reaches your home.

To find out:

  1. Check your public IP. Search "what is my ip" in the browser and write the number down.
  2. Check the IP your router gets from the provider. Sign in to the router (as in way B, items 1 and 2) and look, on the home page or under Status, for a field called WAN IP, Internet IP, External IP or WAN IPv4 Address.
  3. Compare:
What you saw What it means
Both numbers are the same No CGNAT. Opening ports works (way B).
The WAN IP starts with 100. (from 100.64 to 100.127) CGNAT. No mods: crossplay (A). With mods: a public IP from your provider, or a tunnel (C).
The numbers are different Almost always CGNAT. No mods: crossplay (A). With mods: a public IP from your provider, or a tunnel (C).
The WAN IP starts with 192.168., 10. or 172. There are two routers in a row (the provider's and yours). See the tip in way B.

Tip

You can get out of CGNAT, and for a modded server that is usually the best way. Many providers give you a public IP if you ask support, free or for a small fee. Ask: "Is my connection behind CGNAT? Can you give me a public IP?". Do not confuse it with a static IP, which is something else and usually costs more; for gaming, a public IP is enough.

Way B: open the ports on the router

This only works without CGNAT. It gives the most direct connection, but every router has a different menu. It is the standard way for a modded server. The general route is:

  1. Find the router's address. Press Windows + R, type ncpa.cpl and press Enter. Double-click your connection, click Details… and look for IPv4 Default Gateway. It is usually 192.168.0.1 or 192.168.1.1.
  2. Sign in to the router. Type that number in the browser. The username and password are usually on a sticker under the device.
  3. Find the ports section. Its name changes by brand: Port Forwarding, Virtual Server or NAT.
  4. Create a rule with:
    • protocol UDP;
    • ports 2456 to 2457;
    • destination IP: your PC's IP (the 192.168.0.25 from screen 1).
  5. Save.
  6. Find your public IP: search "what is my ip" in the browser.
  7. Friends join with PUBLIC-IP:2456, with Valheim's Join IP button.

The Windows firewall was already opened by the installation: only the router is left.

Tip

Your PC's IP may change when the router restarts, and then the rule points the wrong way. To avoid that, look in the router for DHCP Reservation (or Static IP, Address Reservation) and pin your PC's IP.

Tip

Your public IP may change too, whenever the provider wants or when the modem restarts. If friends suddenly cannot join, check the IP again and send the new number. To avoid this, use a dynamic DNS (DDNS) service such as DuckDNS or No-IP: it gives you a fixed name, like myserver.duckdns.org, that always points at your current IP. Many routers have a ready DDNS option.

Note

Two routers in a row (the provider's modem and a router of yours): the rule has to exist on both, or the provider's modem has to be in bridge mode. If you cannot change the provider's modem, ask their support to put it in bridge mode, or use crossplay (without mods only).

Way C: a tunnel or virtual network (for CGNAT and mods)

Here a program from another company makes the path the router will not. There are two kinds:

Kind How it works Examples
Game tunnel A program on your PC opens a public address at the tunnel company and passes connections on to your server. Friends install nothing. playit.gg, Localtonet
Virtual network You and each friend install the same program, and everyone is "on the same network", as if you lived in the same house. Tailscale, ZeroTier, Radmin VPN

Things to know before choosing:

  • Valheim uses UDP, and not every tunnel accepts UDP on its free plan. Check before paying;
  • with a tunnel, friends use the address the service shows, instead of your public IP; the server stays the same;
  • with a virtual network, friends join with the IP the program gives your PC (for example 100.64.12.34:2456), and only people on the network can join;
  • these services are not part of Heimdall: follow each one's own guide.

Note

Rather not depend on any of this? A rented server (a VPS) has its own public IP and stays on all the time. Heimdall runs there too, on Linux: see Installation on Linux.

What about the website, over the internet?

The website and the panel use TCP ports 80 and 443. To open them from outside:

  • without CGNAT: create a router rule like way B's, with protocol TCP and ports 80 and 443;
  • with CGNAT: the website only opens from outside through a tunnel that accepts websites (HTTP), such as Cloudflare Tunnel. At home, it works normally.

Crossplay does not carry the website: it is only for the game.

The limits of a server at home

For friends to join, your PC has to be on, with the server on and online. If the PC shuts down, goes to sleep or the internet drops, the server disappears for everyone. The game mostly uses your internet's upload speed: with many players, a low upload can cause lag for everyone. If that becomes a problem, the natural next step is a rented server.


Step 10: get the PC ready to be a server

This step only matters if the server will stay on for a long time, for example while friends play without you.

Do not let the PC sleep

If the computer goes to sleep, the server stops with it.

On Windows 11:

  1. Open Settings (Windows + I).
  2. Go to System → Power (or Power & battery).
  3. Open Screen, sleep & hibernate timeouts (or Screen and sleep).
  4. In When plugged in, put my device to sleep after, choose Never.

On Windows 10:

  1. Open Settings (Windows + I).
  2. Go to System → Power & sleep.
  3. Under Sleep, in When plugged in, PC goes to sleep after, choose Never.

The screen can still turn off by itself: that does not affect the server.

Windows Update restarts

After Windows restarts, Heimdall only comes back by itself if you turned on the switches from step 6. Without them, open the app and use the buttons.

So Windows Update does not restart in the middle of a game, set your Active hours in Settings → Windows Update → Advanced options.


Day to day

I want to... Where
Turn the server on or off The Heimdall Nexus app (Start menu), or panel → Console
Open the panel or the website App → Open the panel / Open the website
Install and update mods Panel → Mod Manager
Back up the world Panel → Backups → Create backup now. You can also schedule it in Tarefas (tasks)
Change the server's name, password or port Panel → Server Config
Change the website or game address, turn HTTPS on or off Panel → Server Config → Endereço (how)
Edit the website Panel → Aparência (appearance) → Layout Editor

Every panel screen is explained in Operations. Where the files live, if you ever need them:

What Where
Worlds C:\ProgramData\HeimdallNexus\valheim\saves
Backups C:\ProgramData\HeimdallNexus\valheim\backups
Server log C:\ProgramData\HeimdallNexus\valheim\logs
Server mods C:\ProgramData\HeimdallNexus\valheim\current\BepInEx\plugins

C:\ProgramData is hidden in File Explorer. To open it, copy the path, paste it into File Explorer's address bar and press Enter.

Installed on another disk? Replace C:\ProgramData\HeimdallNexus with <disk>:\HeimdallNexus\data. For example, the worlds are in D:\HeimdallNexus\data\valheim\saves. The folder's README.txt explains each part.


Changing the address later

Version 1.3.0 or newer. In the panel, open Server Config. The Endereço (address) card changes the website and panel address, the connection address the website shows players, and HTTPS:

Server Config's Endereço card, with the red warning and the HTTPS switch
  1. Read the red warning. A wrong address takes the website and the panel offline. It also says how to get back in (see below).
  2. Choose HTTP or HTTPS with the switch. It shows http:// or https:// in front of the address.
    • Off (HTTP): for an IP, like 192.168.0.25, or a domain.
    • On (HTTPS): only for a domain of yours already pointing at this PC, with TCP ports 80 and 443 forwarded by the router. An e-mail for the certificate field appears: the certificate is requested and renewed by itself, in its name.
  3. Type the website address, without http:// (paste it with it and the switch follows).
  4. Game connection address: what friends type in Valheim. Blank uses the website's (see the table on screen 1).
  5. Click Salvar endereço (save address) and confirm.

Heimdall updates everything that depends on the address: the website, its links, the app's Open the panel and Open the website buttons and what friends see. The game does not restart. Turning HTTPS on or off restarts the panel once by itself, and the page opens the new address.

Important

Did the website go offline after the change? On this same computer, open http://localhost:8791/jarl/ in the browser. That address reaches the panel directly, without the website server. Put the previous settings back in Server Config → Endereço and save.


Updating Heimdall Nexus

  1. In the panel, open Sobre e atualizações (about and updates).
  2. Click Procurar atualizações (check for updates).
  3. Read the list of changes and click Atualizar (update).

The panel disappears for a few seconds and comes back by itself. The Valheim server is not restarted: whoever is playing will not even notice.


Uninstalling or reinstalling from scratch

There are two ways to start, and both lead to the same place:

  • From the app: open Heimdall Nexus and click Uninstall Heimdall Nexus…, at the bottom.
  • From Windows: Settings → Apps → Installed apps, find Heimdall Nexus, click the three dots (…) and Uninstall.

The app asks two things. First, whether you really want to uninstall:

The uninstall confirmation

Then, what to do with your worlds:

The question whether worlds are kept or erased
Choice What happens
Keep my worlds Removes Heimdall but keeps worlds, backups, the website and settings in C:\ProgramData\HeimdallNexus. If you install again, everything comes back as it was.
Erase everything Removes everything, worlds included. There is no undo.

If you kept the worlds and install again, the app already suggests the same place in Where to install, to pick up where you left off.

Caution

Before choosing Erase everything, keep a copy of the world: download a backup from the panel or copy the C:\ProgramData\HeimdallNexus\valheim\saves folder somewhere else.

Windows asks for permission (click Yes) and, within a minute or two, the farewell appears:

Heimdall Nexus removed from the computer

To reinstall from scratch: uninstall choosing Erase everything, download the app again (step 1) and follow the guide from the start.


Sagas extension (optional, advanced)

The Sagas add the map, the stories, the Armory and the rankings to the website (see the Sagas guide). They need BepInEx on.

Installing the server part is the only time you need a command:

  1. In the app, turn the Valheim server off (Heimdall can stay on).
  2. Open the Start menu, type PowerShell, right-click Windows PowerShell and choose Run as administrator. Click Yes when Windows asks.
  3. Copy the two commands below, paste them into the window (right-click inside it) and press Enter:
$app = "$env:ProgramFiles\HeimdallNexus\app"
& "$env:ProgramFiles\HeimdallNexus\venv\Scripts\python.exe" "$app\deploy\windows\install-sagas.py" "$app\dist\sagas\HeimdallSagas.Bridge.dll"
  1. When it finishes, close PowerShell and start the server from the app.
  2. Follow the Sagas guide from step 4 of the Installation section (the program each player installs).

Common problems

"Windows protected your PC" and there is no button to open it

Click More info, the small link below the text. Only then does the Run anyway button appear.

I clicked "No" when Windows asked for permission

No harm done: nothing was installed. Click Start installation again and, this time, choose Yes.

Windows asked for an administrator password

Your Windows account is not an administrator. Ask whoever runs the computer to type the password, or sign in with an administrator account and install from it.

The browser did not open the wizard

In the app window, click The browser did not open? Click here. The wizard only opens on this computer and while the app window is open.

I closed the app window in the middle of the installation

Open the HeimdallNexus-Windows-….exe again and click Start installation. What was already downloaded is reused.

The installation stopped at "Checking the site and panel through Caddy"

Another program is using port 80, the website's port. The usual suspects are IIS, XAMPP, WAMP, Apache and old versions of Skype. Close or uninstall that program and click Retry in the wizard.

If you do not know which one it is, a veteran finds out like this, in PowerShell: Get-Process -Id (Get-NetTCPConnection -LocalPort 80 -State Listen).OwningProcess.

The app refused the folder I picked

Read the message: it says why. The most common case is a folder your account created, like D:\Games. Pick the disk from the list (like Games (D:)), and Heimdall creates D:\HeimdallNexus at its root. The reason for this lock is explained in step 3.

The website went offline after I changed the address

Open http://localhost:8791/jarl/ on this same computer, sign in to the panel and put the settings back in Server Config → Endereço. If you turned HTTPS on, check that the domain points at your internet's public IP and that TCP ports 80 and 443 are forwarded by the router.

A step failed and I do not know why

The message on screen says why. For the details, the logs are in C:\ProgramData\HeimdallNexus\logs, one folder per service. If you need help, open an issue with the message, without passwords and without links containing token=.

The app says the account "may not turn Heimdall Nexus on or off"

Only the Windows account that did the installation turns Heimdall on and off without a password. Sign in with it, or right-click the app and choose Run as administrator.

The server never gets ready ("Game server connected" never appears)

The first time, wait up to 3 minutes. If it does not come, check the last lines of the log on the panel's Console: mod errors show there. To test without mods, turn BepInEx off in Server Config and start the server again.

My friends cannot join

  • With crossplay: check that they are using the current code. It changes on every server restart; get the new one from the panel's Console.
  • With crossplay and mods: the two do not work together. Turn crossplay off in Server Config and use way B or C from step 9.
  • With open ports: check whether your internet has CGNAT. If it does, opening ports does nothing; see the ways out in step 9. If not, check the router rule: protocol UDP, ports 2456-2457 and the right PC IP. And check that your public IP has not changed.

I cannot join my own server with 127.0.0.1

With crossplay on, Valheim does not accept 127.0.0.1 or your home IPs. Join with the six-digit code, like your friends.

I forgot the panel password

This is one of the few cases that needs a command. Open PowerShell as administrator (as in step 2 of the Sagas extension), paste both commands and press Enter:

$app = "$env:ProgramFiles\HeimdallNexus\app"
& "$env:ProgramFiles\HeimdallNexus\venv\Scripts\python.exe" -X utf8 "$app\deploy\windows\run.py" "$app\servicos\painel\definir-senha.py"

Type the new password twice. It does not show while you type, and that is normal.

The antivirus blocked something

Heimdall uses Valve's official server, Caddy (the website's server) and WinSW (which turns programs into services). All of them are downloaded from their official sources and checked before running. If the antivirus complains, allow the C:\Program Files\HeimdallNexus folder.


Frequently asked questions

Do I need to keep the app open?

No. The app only turns things on and off and shows their state. The server, the panel and the website run by themselves, with the window closed.

Does Heimdall weigh on my PC when I am not using it?

With the buttons off, nothing from Heimdall runs. It only uses memory and processor while it is on.

Can I play on the same computer that runs the server?

Yes. Join with 127.0.0.1:2456. Just check the memory: 16 GB is comfortable for both together.

I already have a world made in my Valheim. Can I use it?

Yes. The game's worlds are in %USERPROFILE%\AppData\LocalLow\IronGate\Valheim\worlds_local. In the panel, open Mundo (world) → Usar um mundo gerado no jogo (use a world made in the game) and follow the instructions on screen.

Can I change the server name or password later?

Yes, in Server Config, in the panel. The change applies on the server's next restart.

Does Heimdall make my PC more vulnerable?

Each part runs with its own Windows account, with no password and no administrator power, and only sees its own folders. The one privileged part answers a closed list of actions, and the panel asks for a password. The app window never runs as administrator and loads nothing from the internet. Even so, only open router ports if you want friends from outside to join.


Quick reference for veterans

Installation: HeimdallNexus-Windows-<version>.exe (C# .NET Framework 4.8 + WebView2, asInvoker). The window runs unelevated; installing and removing run in an elevated process with no window (--install-worker, --uninstall-worker) that talks to the window over a named pipe. The app downloads the tag's -source.zip and checks it against the embedded SHA-256, installs the official Python 3.12 (signature checked) into C:\Program Files\HeimdallNexus\python and starts setup_server.py --no-browser, opening the wizard in the user's browser.

Without the app (Windows Server, remote install, automation), with Git and PowerShell as administrator:

git clone https://github.com/brkihel/Heimdall-Nexus.git C:\HeimdallNexus-src
cd C:\HeimdallNexus-src
powershell -ExecutionPolicy Bypass -File .\deploy\windows\install.ps1   # -Direct: wizard over the network (HTTP)

install.ps1 -Direct makes the wizard listen on the network and prints a link with the server's IP. It is plain HTTP; use it only on a trusted network and open TCP port 8765. This route does not install the app; update with deploy\windows\update.py and remove with deploy\windows\uninstall.ps1 [-RemoveData] [-RemovePython] [-Yes].

Where everything lives

With the Windows default, as in the table. Installed on another disk, everything is under <disk>:\HeimdallNexus: replace C:\Program Files\HeimdallNexus with …\HeimdallNexus\program and C:\ProgramData\HeimdallNexus with …\HeimdallNexus\data. Both paths are recorded in HKLM\SOFTWARE\HeimdallNexus (AppBase, DataDir and Root), which only administrators change; the services, the scripts, the app and the uninstaller read them from there. The folder is created owned by Administrators without inheriting the disk's permissions, and the app refuses a place where an ordinary user could rename or replace any folder on the path.

Path Contents
C:\Program Files\HeimdallNexus\HeimdallNexus.exe The app; desktop.json next to it says where the panel, site and status are
C:\Program Files\HeimdallNexus\app The services' code (only administrators can write)
C:\Program Files\HeimdallNexus\python, \venv, \git Private Python, libraries and the MinGit used by updates
C:\Program Files\HeimdallNexus\services WinSW and each service's definition (.xml)
C:\Program Files\HeimdallNexus\tools Caddy
C:\ProgramData\HeimdallNexus\valheim\current The game (SteamCMD), BepInEx and mods
C:\ProgramData\HeimdallNexus\valheim\saves The worlds
C:\ProgramData\HeimdallNexus\valheim\server.env Launch options (Jarl → Server Config)
C:\ProgramData\HeimdallNexus\etc\heimdall.env Installation settings (Linux's /etc/heimdall-nexus/heimdall.env)
C:\ProgramData\HeimdallNexus\state\site The website's editable pages
C:\ProgramData\HeimdallNexus\web The published website, served by Caddy
C:\ProgramData\HeimdallNexus\logs\<service> Each service's logs
%APPDATA%\HeimdallNexus\desktop-app.json The app's preferences, per Windows account

C:\ProgramData\HeimdallNexus does not inherit Windows' permissions: by default only SYSTEM and administrators get in, and each service gets only the folders it needs.

Services

All are installed as Manual. The "Turn Heimdall on with Windows" switch sets them to Automatic (the game only with the third switch). The installing account gets, through SDDL, the right to start, stop and change the start type of each service without being an administrator.

Service Account Role
heimdall-executor LocalSystem The only privileged part; answers a fixed list of actions
heimdall-panel NT SERVICE\heimdall-panel The panel (Jarl) on 127.0.0.1:8791
heimdall-valheim NT SERVICE\heimdall-valheim The Valheim server
heimdall-web NT SERVICE\heimdall-web Caddy: website, panel proxy and HTTPS
heimdall-jobs LocalSystem Public status, saga feed and scheduled tasks
heimdall-sagas-jobs NT SERVICE\heimdall-sagas-jobs Sagas import, stories and map
Get-Service heimdall-*                  # state of all of them
Restart-Service heimdall-panel          # restarts the panel without touching the game
Stop-Service heimdall-valheim           # stops the game (it saves the world first)
Get-Content C:\ProgramData\HeimdallNexus\valheim\logs\heimdall-valheim.log -Tail 50 -Wait

Differences from Linux

On Linux On Windows
install.sh in a terminal The app (or install.ps1)
systemd and timers Windows services (WinSW) and two jobs services
journald Log files per service; the game's restarts on each start and keeps the 3 previous runs
Nginx and Certbot Caddy, with automatic HTTPS
valheim and panel users Virtual accounts NT SERVICE\...
The executor's unix socket 127.0.0.1:8792 with mutual shared-secret authentication
deploy/update.sh deploy\windows\update.py (Jarl runs it for you)
deploy/reset-vm.sh Uninstall from the app with Erase everything
deploy/install-sagas-extension.sh deploy\windows\install-sagas.py

On shutdown, Windows sends Ctrl+C to Valheim, which saves the world and exits; the service waits up to 150 seconds before forcing it. BepInEx is loaded through winhttp.dll (Doorstop); with it unchecked, the launcher disables it even if the file is in the folder. The full design is in docs/WINDOWS.md.

Clone this wiki locally