User login |
NWN Dedicated ServerIntroductionNever Winter Nights (NWN) is a RPG computer game created by BioWare Corp.. It was initaly released for Microsoft Windows platform but BioWare has since then also released both servers and clients for both GNU/Linux and Apple Macintoch systems. NWN also allows you to create your own worlds and maps (called modules) so you can extend the experiance of the game. I bought NWN since it is one of the few RPG style computer games that has support for GNU/Linux system and run it mostly on my desktop computer. Just out of curiosity I wanted to setup a dedicated NWN server. Here is a description on the steps I performed. PreparingPrerequisiteComputer Pentium II 233MHz with 256 MB, running Ubuntu 5.10 "Breezy Badger". To use the script nwncmd below you also need to install the package since (it is in the universe repository). Create a daemon useradduser --system nwnd
Getting the softwareGet NWN Dedicated Server. Installing$ mkdir neverwinternights $ cd neverwinternights/ $ unzip -x ../NWNDedicatedServer1.66.zip ... $ tar xvzf linuxdedserver166.tar.gz $ ./fixinstall Checking for required files PASSED: data directory exists PASSED: nwm directory exists PASSED: chitin.key exists PASSED: dialog.tlk exists PASSED: nwserver exists Fixing case data ............................... dmvault . hak . localvault . override . portraits . Checking for problem files Checking for permissions PASSED: nwn.ini is writable PASSED: nwnplayer.ini is writable PASSED: saves is writable PASSED: localvault is writable PASSED: dmvault is writable PASSED: /home/nwnd/neverwinternights is writable You are ready to run Neverwinter Nights. $ Get and install the latest patch even if it says that it is the same version that you just downloaded. Startup scriptCreate the startup script: #!/bin/bash # startnwserver # This file starts the nwserver as a backgound process. # NWNDIR=/home/nwnd/neverwinternights NWNPIPE=$NWNDIR/nwserver.pipe NWNLOGFILE=$NWNDIR/nwserver.log MODULE="Chapter1" SERVERNAME="Server Name" if [ ! -d "$NWNDIR" ]; then echo "$NWNDIR is not a directory." exit 1 fi cd $NWNDIR if [ ! -p "$NWNPIPE" ]; then echo "$NWNPIPE does not exist."; mkfifo $NWNPIPE fi ./nwserver -servername $SERVERNAME -module "$MODULE" < $NWNPIPE >> $NWNLOGFILE & echo > $NWNPIPE Helper applicationsnwncmdThis is a simple script that executes a server command by echoing it to the input pipe and then list the end of the log. #!/bin/bash # nwncmd # # NWNDIR=/home/nwnd/neverwinternights NWNPIPE=$NWNDIR/nwserver.pipe NWNLOGFILE=$NWNDIR/nwserver.log if [ ! -d "$NWNDIR" ]; then echo "$NWNDIR is not a directory." exit 1 fi cd $NWNDIR if [ ! -p "$NWNPIPE" ]; then echo "$NWNPIPE does not exist."; exit 1 fi echo $1 > $NWNPIPE sleep 1 since $NWNLOGFILE
|