This focuses on the technical aspects of publishing a given module after you have developed it.
Minimum Specs for just the server.
- Pentium 4 at least
- 1 gig of ram though recommend 2 gigs if the module is of decent size.
- 20 gigs of drive space, a partition just for NWN2 can help
Disable all updaters, windows update, and disable all scervices. You don't need a good video card or a cd player. Install the oc without update, install motb then update Running the server has no requirement for a CD in your drive
Cable or higher end DSL can support a fair number of people.
Example bandwidth usage:
- Information from Baldur's Gate : Tales of the Sword Coast
- Playercount : 30 Average KBps Receive : 48.586 Average KBps Transmit: 21.706
- Playercount : 61 Average KBps Receive : 93.113 Average KBps Transmit: 76.373
The StandAlone Dedicated Server is a good way to set up the files needed for your server if you are going to run it on a dedicated machine. This makes a new folder with just the files needed for the server.
Extracting a PWC FileEdit
Open the toolset and after building all areas, save a PWC file. This needs to be put in each players PWC folder.
Making a Hak of your Custom ContentEdit
I use nwn2packer for this, then you associate your hak with your module.
You can get it from. http://nwvault.ign.com/View.php?view=NWN2Tools.Detail&id=9
Note that as a builder you should put it in both your player's hak folder, as well as that of your main program files.
Publishing your Support FilesEdit
This is done by putting your pwc and hak in a public website, or by using an installer like Audolo or World Gate. Make sure you have a forum of some sort so players can get help, and fill in the download and forum url in your nwn2player.ini file.
Make sure you post clear instructions for your players. Follow the links to get example templates. I highly recommend taking screenshots of each stage in the set up process with your worlds specific information filled in to make things absolutely clear.
Setting up Your ConfigurationEdit
You should set your defaults for your server in the nwn2player.ini file located in your player folder in the following path.
- C:\Documents and Settings\<user>\My Documents\Neverwinter Nights 2\nwn2player.ini
At the bottom there is a section called [Server Options] under which your configuration is stored.
[Server Options] ; need to determine syntax, seems to dislike spaces, and quotes don't help much Server Name=YourServerName ;Passwords ; makes it password protected ;PlayerPassword=yourpassword ; open for all to play PlayerPassword= DMPassword=yourdmpassword ServerAdminPassword=yourotherdmpassword ItemLevelRestrictions=0 PauseAndPlay=0 Enforce Legal Characters=1 AllowLocalChars=1 One Party Only=0 GameSpy Enabled=1 Max Players=6 ; you can change this to another number Game Port=5121 MinCharLevel=1 ; 96 limit after 1.12 MaxCharLevel=30 ; Saving is done via custom script in some cases, which is why you'd disable these ; Mainly because of wildshape issues i believe. Disable AutoSave=0 Auto Save Interval=0 ;PVP Setting ; 0 = None, 1 = Party, 2 = Full PVP Setting=0 ; Game Type ; 0 = Action, 1 = Story, 2 = Story Lite, 3 = Role Play ; 4 = Team, 5 = Melee, 6 = Arena, 7 = Social, 8 = Alternative ; 9 = PW Action, 10 = PW Story, 11 = Solo, 12 = Tech Support Game Type=0 Validate Character Ownership=1 Pause Loading During Cutscenes=1 Reload Module When Empty=0 Game Region=0 ServerDownTimer=180 CD Banned Behavior=0 Suppress Base Servervault=0 Disallow Shouting=0 ShowDMJoinedMessage=0 BackupSavedChars=0 ; These don't work very well because of common firewall issues, ; make sure you make an effort as they should be fixed soon ModuleURL=www.yourservername.com PWCURL=www.yourservername.com/downloadpath ; Logging Scripts Print To Log=1 Scripts Print To Screen=1
This is an example configuration.
You can also add a text file with the name "ServerDesc.txt, or add the text via the toolset to the module.
Configuring Your RouterEdit
This only needs to be done for the server, clients only need to do this if they are having problems. The error message displayed to players will be "The server seems to be behind a firewall." or "Server is not responding, connection timed out." if this is not done properly.
To make this work correctly your router has to route or forward the traffic to your server, and all the firewalls have to allow this traffic to occur.
You can have multiple firewalls, both on your PC and on your router. There is a windows firewall.
It should allow the following ports, ( and for routers forward to, see the next section )
- 5121 UDP (Default server port)
- 27900 UDP (Optional, used to show ping in server list)
The game also uses the following ports, these should just work and are mainly used by the client. I'm listing them because they might help you in trial and error but they should not need any special handling. Mostly they are for the players.
- 6667 (IRC)
- 3783 (Voice Chat Port)
- 27900 (Master Server UDP Heartbeat)
- 28900 (Master Server List Request)
- 29900 (GP Connection Manager)
- 29901 (GP Search Manager)
- 13139 (Custom UDP Pings)
- 6515 (Dplay UDP)
- 6500 (Query Port)
- 29920 (Gamestats Server)
Other ports i've seen noted are 3658, 3659, 3660, 6500, 28910
If you use Norton, Zonealarm or another firewall product and have them configured and it still does not work, look at the router, and also make sure you don't have the windows firewall running at the same time. ( turn it off if it is )
It is said that the PWC download, and forum links in the players gamespy screen are being blocked by a firewall.
The important thing to remember on a router is that you are creating a dedicated route from an out side port and telling it which internal ip the outside traffic should go to. It's needed because your private ip is not visible to the internet, and you can have more than one computer behind one public ip. So you set up a rule to take an outside packet going to port 5121 for example, and the router has to know that this packet should go to the ip address you give for your server.
This is general information, for more detailed information please go to http://www.portforward.com/ which has information specific for each type of router.
First off, find out your routers IP and your computers IP. This is done by opening Command Prompt (Start > All Programs > Accessories > Command Prompt) and typing IPconfig/all.
Your routers IP is the "Default Gateway." It would usually be something like 192.168.1.1 Your computers IP is the "IP Address" and should be similar to your routers IP. Write this down.
I opened my routers settings (Done by typing the routers IP into the adress bar of your web browser, you might have to enter a password for this as well) and found the Port Forwarding settings. Note that all routers are different, and as such, have different ways of describing this. Some will have it as "Port Forwarding" some would have it as "Virtual Server," or something along those lines.
When you're into the Port Forwarding section, you will be able to fill in what looks to be a form, where you are given options similar to, or including these:
- Private IP (Other such headings for this are Destination IP, Computer IP etc)
- Private Port (Sometimes just Port, or Port Range)
- Type (Under this option you can chose between UDP, TCP and Both)
- Public Port (This doesnt appear on alot of routers)
- Enabled (This is just a tick box. Also comes under the heading "Active" or similar)
There may be other options, but it shouldnt vary too much from this.
What you should do from here is fill in the form with these settings:
- Private IP: In here, put (or complete) the IP of your computer (You found this in Command Prompt earlier)
- Private Port: In this box put the number 5121
- Type: Select UDP as the type.
- Public Port: In this box put the number 5121 (Same as Private Port)
- Enabled: Make sure the tick box is ticked.
After this, apply/save the changes.
In the next form down from that, follow the exact proceedure as you just did, but in the Private and Public ports, put in the number 27900, and the type as TCP.
Asante Router ConfigEdit
Asante Router Configuration Example ( FR1004AL Wireless Routher) Determine your computers IP address, for this example my IP is 192.168.123.100. I have it set so it does not change. Login in to your router and click the “Advanced” Tab. Go down to “Distributed Servers Setup” For Each row enter as follows
- Port ID: 1, Service Ports: 5121, Server IP: 192.168.123.100, Enable: Checked. ( you only enter 100 for the ip, the rest shown )
- Port ID: 2, Service Ports: 27900, Server IP: 192.168.123.100, Enable: Checked.
- Port ID: 3, Service Ports: 5120, Server IP: 192.168.123.100, Enable: Checked.
(I did the following as well, but they are not necessary)
- Port ID: 4, Service Ports: 2485, Server IP: 192.168.123.100, Enable: Checked.
- Port ID: 5, Service Ports: 2486, Server IP: 192.168.123.100, Enable: Checked.
- Port ID: 6, Service Ports: 2487, Server IP: 192.168.123.100, Enable: Checked.
- Port ID: 7, Service Ports: 2488, Server IP: 192.168.123.100, Enable: Checked.
- Port ID: 8, Service Ports: 2489, Server IP: 192.168.123.100, Enable: Checked.
Most ISP's do not allow running a serverEdit
ISP's are notorious for blocking know game ports because if you read the fine print on your contract it states "Customers are not allowed to host any server on their residential line". An ISP can drop you due to excessive bandwidth usage.
Starting your ServerEdit
Command Line StartingEdit
Most of the entries are in the nwn2player.ini so they do not need to be repeated. I prefer using a windows shortcut for this, although you can do it via script as well. I use this currently for personal testing, but recommend using NWNX if you are actually hosting the game around the clock.
In the target field enter, where MODULENAME is the name of the module
"C:\Program Files\Atari\Neverwinter Nights 2\nwn2server.exe" -module MODULENAME
For those using modules in directory mode, in the target field enter, where MODULENAME is the name of the module directory.
"C:\Program Files\Atari\Neverwinter Nights 2\nwn2server.exe" -moduledir MODULENAME
Full list of options
- -difficulty 3 = Hardcore
- -gametype Which section your game appears under, 0 = Action, 1 = Story, 2 = Story Lite, 3 = Role Play, 4 = Team, 5 = Melee, 6 = Arena, 7 = Social, 8 = Alternative, 9 = PW Action, 10 = PW Story, 11 = Solo, 12 = Tech Support
- -cpu Which CPU it runs on
- -pvp The PVP Setting, 0 = None, 1 = Party, 2 = Full
Another example that is more involved
-port 5121 -moduledir MODULEFOLDER -cpu 0 -servername "Name of Server" -dmpassword DMPASS -adminpassword ADMINPAS -gametype 10 -oneparty 0 -ilr 0 -elc 0 -servervault 1 -maxclients 48 -pvp 2 -difficulty 3
Command Line Starting with NWNXEdit
This allows additional commands, but any commands that work for the regular server are "passed thru" and should continue to work.