Server Not Appearing in the Browser
1. Is -publicserver 1 set?
Without this flag the server runs but does not register with the master server. It will not appear in the in-game browser but can still be joined via direct IP.
2. Are the master server ports open?
The server browser uses multiple ports beyond the primary game port. Verify all are open:
UDP: 512, 5300, 6500, 6667, 27900, 28900
TCP: 5122
Test UDP reachability from outside your network:
nmap -sU -p 6500,27900,28900 your.server.ip
Expected result: open. If filtered, the firewall or router is blocking the traffic.
3. Does the client's build version match the server?
If the server is on a different build than the client, the server may not appear in the browser or the client may fail to connect. Download the latest server ZIP from Beamdog and update.
Cannot Connect — "Version Mismatch"
The client and server must be on the same build version. When Beamdog releases a patch, the game client updates automatically through the launcher or Steam, but the server does not update itself.
To fix: download the new server ZIP from nwn.beamdog.net/downloads/ and replace your server files.
Module Fails to Load
Check 1: Is the .mod file in the correct directory?
| Platform | Path |
|---|---|
| Windows | %USERPROFILE%\Documents\Neverwinter Nights\modules\ |
| Linux | ~/.local/share/Neverwinter Nights/modules/ |
Check 2: Is the -module argument correct?
The argument must be the filename without the .mod extension. The name is case-sensitive on Linux:
# Correct
-module "bastard_of_kosigan"
# Wrong — do not include the extension
-module "bastard_of_kosigan.mod"
Check 3: Are required hak packs present?
If the module references .hak files and they are missing, the module will fail to load. Check the module's readme for required hak files and place them in the hak/ directory.
Ban Management Issues
Use bankey for persistent bans rather than banip or banname:
- bankey — tied to the player's CD key. Persists across IP changes, VPN connections, and character name changes. Most reliable.
- banip — bypassed if the player connects from a different IP or uses a VPN.
- banname — bypassed by creating a new character.
To remove a ban:
unbankey
unbanname
unbanip
listbans
Linux Crashes at Startup
The most common cause is missing 32-bit libraries. The server binary is 32-bit and will crash silently if libraries are absent.
Run:
ldd bin/linux-x86/nwserver
Look for lines marked not found. Install the missing libraries:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libstdc++6:i386 libgcc-s1:i386 lib32gcc-s1
Characters Lost After Server Restart
Enable server vault so characters are stored server-side:
-servervault 1
Before any planned shutdown, run the export console command to flush all character data to disk:
export
Without -servervault 1, characters are stored on the client side and are not backed up by the server.
