PW Admin Guide

Make sure 2da files are matched up.
Some of the player overrides can override the module 2da and make a mess. This is very hard to control server side when some players do not pay any attention to what is in their override folder.

What happens when PWC Files out of date
http://nwn2forums.bioware.com/forums/viewtopic.html?topic=598813&forum=118 Quote: Basically one cannot do an "exploit" with having old PWC/trx file.

One can be a nuisance.

as described above what happens is:
 * Missing walkmesh, client is kicked on trying enter the area.
 * wrong walkmesh where the client thinks it can walk but the server thinks the client cannot: the clinet tries to go there, the server kicks the Pc back. This is the worst of all three situations as this has been known to cause lot of network traffic as the client tries to repath to that loaction until giving up. (equivalent to using keyboard movement to get past dynmaic blocks, like other characters)
 * wrong walk mesh where the client cannot go there, but server think you can go there, no effect as the client just doe not go there. the exception is if the server then jumps the clinet there, the clinet is then stuck in place in there and cannot move in any direction.

The thing you should do as admin is

 * If using a PWC, rename for each release(the module name must match)so both your module and pwc are in the form "MyPW1" "MyPW2" and such..
 * If you use autodownloader, use a check that people have the same version. Easiest is to just add a very small do nothing numbered hak to each release with the same way. The method we use ourselves is have the playermenu send version number to the server on load and that number is compared to the version number stored as variable on server.
 * Ratio of quests to external areas should be at least 3/1
 * Plenty of area sweepers
 * Moved to a housing location to avoid bandwidth limits if possible. While an upload of 10Kbit/s per player is the thumb rule, during a flooding situation, a client can drain several hundret Kbit/s.
 * Seperate disks for the NWN2 data files. don't put it on the same disks with the OS or a database.
 * Dedicated CPU. On a multi-CPU or multicore system, assign the NWN2 instance to a specific CPU/core with the '-cpu X' command line option. Assign the database and other processes that allow for that to a different CPU/core.
 * Frequent defrags.
 * Paging/pagefile disabled. But that means, you need sufficient RAM = 2GB+.
 * Exclude the NWN2 folders from any sort of virusscan, if you are running one on the server.
 * UI's should never go to override. UI's can be loaded in the HAK.
 * We will never put any files in any folders on the players PC - we must work from the PWC and the HAK. Only exceptions are worlds that need to do character creation. Placing files in the override folder of the server, and in the hak so they both match is sometimes needed. TLK files only work from the players override folder reliably.
 * Override takes precedence over hak.

Quote: Many developer teams/individuals falsely believe that 2DAs will not work properly from the hak directory, and its true in some cases (depending upon which 2da). So some have resorted to using the override directory to support their PW projects. They use World Gate or Audolo to autonatically dump their altered files into clients' override directories, and the average client may not even pay attention or notice. Thus we ask players to insure they have nothing in their overrides, though can not have faith or trust that they all do it. Soundset.2da is a popular one (we might want to find the best one and integrate that into our hak), though there are a lot of hackers out there with some cheats they exploit via the override folder, too. Then when they play on a different PW server, they'll have conflicting 2DAs.

Quote: I believe they're almost all client loaded...granted, you won't see the results of it unless it's ALSO server loaded...but they're loaded on both the client and the server...this is so that you can keep the amount of actual data transfer between server and client to a minumum to keep latency low. The minute you make the information purely server or client, then every time you want to play the game, there's some load time involved. Now, while that's not a big deal if it's only one or two .2da's, if there's massive customization, then it adds significantly to the load times. Also, a lot of the .2da's refer to tileset configurations for example...if you make this only one or the other, now you have either, a server that has to not only sniff the client to be sure that it has the necessary files on it (per load of an area, in the case for tiles) or a client that has to constantly check the server for said information every load time, and if you multiply that by a large number of players, you get a lot of packets sent back and forth, all of which is alleviated merely by having a few k worth of .2da file on both ends..."

Employing a Network “Sniffer”
I used WireShark (formally Ethereal) for that purpose. The filter was set to 'udp port 5121' and I had it create a rotating set of 10min long chunks. http://www.wireshark.org

Determines just how much bandwidth is being used.

At the developer level, a packet sniffer helped us to find that out of order packets caused crashes and some other issues.

Version Control
Should roll revision number of the PWC file with any update that: modifies any 2DA files (other than placeables.2da) modifies any existing walkmesh files

Quote: A very simple fix is to create a new empty hak file for each update that requires a new download. If the user doesn't have that latest hak file then they haven't run the update -- and won't be able to log in.

Packet Overload Issues
Caused by Packet Loss & Packets Corruption

Observed results of packet loss/corruption :


 * PC pickup an object but don't see it in his inventory
 * Crash at transitions
 * Switching weapons and still have the old weapons stat
 * Bonus Abilites counted as natural abilitis (that cause PC to be saved as invalid character on the vault)
 * Crash when opening the map on screen (Mostly for DM when getting invalid PC information because it is unsync)
 * Not seeing some other PC
 * Crash of the client

Final Ideas
Never stop to search for better/faster solutions. Share any solutions you have with other PW Worlds, it is only by working together that we can solve the problems that Persistent worlds face. Join the NWN2 PW Admin Roundtable to discuss with your peers issues relevant to PW's.