These are my steps for implementing -z-'s Nexuiz Server Toolz script to manage your Nexuiz
servers.
These notes are specific for running on an Ubuntu server.
Note: There is a new version of NST available. This tutorial does not currently cover the newest version.
Install screen and unzip utilities.
You don't really install Nexuiz, but you do uncompress the zip file. Open up a terminal program (under applications > accessories in the Ubuntu menu) and it opens to your home directory.
That will create a directory called "Nexuiz" inside your "nexserver" directory. It is best to rename this to a better name that is not capitalized. Then we need to copy the server_linux.sh file from the docs directory to the main nexuiz directory.
This is for a 2.4.2 Nexuiz server. See the link on the right for a newer script.
This will open the script for editing using the nano program

If you've never used nano before, you can see the commands at the bottom, such as ^G ^O ^R, etc.
The carat ^ symbol is referring to the CTRL key. So ^O actually means CTRL+O.
When you want to save your changes to the file, press CTRL+O
When you want to search the file for something, press CTRL+W
To leave the program, press CTRL+X
You want to change one thing within the script, the base directory.
Press CTRL+W and type basedir and ENTER.
For the username part of the path, make sure to enter your proper Ubuntu user name.
Press CTRL+W to save and then CTRL+X to exit nano
Now you want to download a sample server config file, copy it, and then start editing the copy.
You will have a separate cfg file for each server that you want to run. You should name your server config files with a prefix of nn_server_, so you might name the file nn_server_somename.cfg. When you eventually run the server, you will be referring to it as just somename, leaving off the nn_server_ prefix.
Editing the cfg file is where the bulk of server setup occurs. You will want to become familiar with most of the settings that are shown in this server config file. Some of them are self-explanatory. Some are commented within this sample config file. The best way to become familiar with them is to look them up using the NN cvar search tool. For most servers, you won't need to add anymore settings than what is found in this example config file.
When you run into some config settings that you can't figure out, then it is best to visit the IRC channel for Nexuiz server admins: irc://irc.quakenet.org/nexuiz.admins.
Server config settings are made up of two main elements, cvars and commands. It is important to know the difference. Cvars are simply variables, a container that holds some information. A command is something that performs an action. In the NN cvar search tool, you can filter results by command or cvar. When assigning a value to a cvar, it is best practice to use a prefix of set, such as set timelimit 20.
There are also aliases, which are a type of command. Aliases are used to group multiple commands and cvar settings into one command.
Commands (including aliases) can have values passed to them. For example, use use the tell command to send a private message to another player. You provide the tell command with the player's name or number with : tell #4 hello there!
If you want to truly understand these commands, cvars and aliases, then you can view the default.cfg that comes with Nexuiz. Within your Nexuiz/data/ directory, you will find a really large pk3 file called data20080229.pk3 (it may have a different date, but this is what 2.4.2 comes with). A pk3 file is simply a zip file with a different extension. So you can open this file within any zip/archive application. Find the config.cfg file and view that.
You will see all of the default settings, with some extra comments, and you can dissect some of the commands, which are usually aliases. This could provide a good start for understanding how to create your own aliases.
If you want to see the very latest development config settings, to compare them to 2.4.2 or to find out what new commands or cvars are going to be available, then you can see those by visiting the Nexuiz SVN repository online.
For this example, we are going to create a CTF server. So the main settings that you want to edit are:
You'll also want to create a maplist, but this step is a huge pain in the ass, so we will use the NST Server Management script to generate a maplist for us.
You'll need to figure out which maps you want to use. This is CTF, so you need maps that support the CTF gamemode. If you add a map to your maplist that does not support CTF, then Nexuiz will simply skip that map.
There are quite a number of maps that are provided by default with Nexuiz. We'll use runningmanctf and a couple custom maps: accident and minimanq3. You can find accident and minmanq3, and a ton of other Nexuiz maps, on the NN Map Repository. When someone connects to your server, they will already have runningmanctf, and they will automatically download accident from the NN map repository (since our sv_curl_defaulturl setting points to that URL).
We're going to download the custom maps so your server can use them. You want to download them into your hidden .nexuiz/data/ directory under your home directory.
Note: if this directory doesn't exist, then you'll have to create it.
Now, we'll use the NST script to generate our maplist. So you'll need to jump back to your nexserver directory.
This command will scan your .nexuiz/data/ directory to see which PK3 files are there, and then scan those PK3 files to see which BSP files are inside (BSP files are the actual map names that are used for the maplist).
This spits out a maplist line that you would add to your server.cfg
g_maplist="accident minimanq3"
Now it is time to edit your server config. But this time, we're going to do that using the NST tool.This will open up the config file for that server where you will modify the g_maplist line. As mentioned before, you reference your servers by the part of the config name after nn_server_. In this case, the server config is nn_server_ctf.cfg, so we're referring to it as just ctf and the script finds it.
The original NST script uses a different editor, called vi, by default. I personally feel that vi is difficult to use, so I edited my copy of the NST script to use nano. I also found that the original NST script didn't work properly with 2.4.2 and only works with SVN, so I edited the script to use the server_linux.sh launch script that comes with Nexuiz 2.4.2. The original version of the NST script is located at the top right of this page under Useful links.
When you are done editing the config file, save it out with CTRL+O and exit the editor with CTRL+X. After you leave the editor, the script will ask you if you want to restart your server. You could say yes here and it would run your server, but say no for now so we can launch the server manually.
You may seen an error regarding a log file. Just ignore that for now. What you will also see is a line that says [Starting] CTF. This does not mean that your server started successfully, so you'll have to confirm it by looking at your list of running servers.
You can stop the server by using ./nn_server_toolz.sh --stop ctf
You can see a list of NST commands by entering ./nn_server_toolz.sh --help. This will display a list of options with explanations.
This NST start command actually created a screen session for your server. If you wanted to access the server console for your server, you could use the --view command
Now you should be viewing the server console. Here, you can run commands and change server settings on the fly. You can start with say hello! and all of the players on the server should see the server saying hello to them.
You can leave the screen session by using CTRL+A+D.
This provides the starting point for using NST to run your server. To add additional servers, you simply start at the beginning of this tutorial and make a new config file for that server, using a unique file name that starts with nn_server_. You have to make sure to choose a different port for your second server (like 26001), and set the proper gamemode for your server (such as g_dm 1 for deathmatch mode). You'll have to download more maps, generate maplists and then edit those generated maplists to add to your server config. When you generate the maplist for the second server, make sure to use DM as the gamemode type.