I. Basic setup of a NLq serverThis document will aid you in setting up a NLq clanwar
server quick and easy. Don't forget the default server setup stuff, like setting a SERVERINFO email adress for the server administrator, or the URL to download custom maps, etc. In various places in this document you'll see lines prefixed with "example:". These lines will tell you what you should enter on the server console or even better, in the server.cfg file. If you don't know what the above means, mail me at sneak@captured.com for help. This document is intended for server administrators with experience in setting up a QuakeWorld server.
You've downloaded a ZIP file with a rather long name. Make a new directory in your /quake game directory named "nlq". Now unzip all the data from the ZIP file into that /nlq directory. Now check the files that appear in the /src directory: one of them is another ZIP file, named ProQCC. This is the compiler with which you can compile NLquake. Compiling is necessary to run the mod on a server. Unzip the ProQCC file into the /src directory as well. There should also be a /progs and a /sound subdirectory in /nlq. These are essential files for Team Arena (they are also in the Final Arena client pack, but most people don't have that pack), also there is one sound specific for TURF. Also the model files are required for 4WAYCTF or TURF. You won't want to compile NLquake just yet, as you have to add administrator codes, or at least remove the one currently in it.
You could do this in three ways; the
simplistic way, the normal way or the advanced way.
This would be the second most important thing to do, at least, if you want a CTF- or TURF-only server.
This is done automatically by NLq. At the server bootup NLq checks to see if you have the FULL ThreeWAVE CTF map set (you need CTFx maps and the CTF2Mx maps). IMPORTANT! The NLq UniWAR mod boots in Team DeathMatch mode. If you want to boot the UniWAR mod in a CTF map you WILL have to change the server.cfg and set the appropriate localinfo keys as if you were setting the server up locked in CTF. If NLq can find ctf2m1 it concludes you have the maps on the server and it'll boot in standard DM mode. To allow TURF and 4WAY CTF on your server next to standard DM and CTF, be sure to install the accompanied FLAGPOST.MDL, 4-FLAG.MDL and SPECIAL.WAV as specified in paragraf 1.3 of this doc. To allow ARENA, you'll have to put the restof the .WAV files into their subdirectories as specified in paragraf 1.3 of this doc. You will have to manually set a SERVERINFO variable in order to allow admins to change to TURF, 4WAY CTF or ARENA. example: serverinfo modes "DM & CTF & TURF & 4WAY & ARENA" Please note that caps are required, the abbreviations have to be in the specified order, and there has to be one space between each abbreviation and an ampersand. The server will automatically reset back to the
default map in DM mode whenever the server is in a custom example: localinfo idlereset 0
Probably something you'll want to do. There are a couple of things that will be interesting;
NLq has room for 9 extra custom maps, and you can do
this using several LOCALINFO variables. To add a custom level the easy way you have to set (preferabbly two) LOCALINFO variables. example: localinfo custom1 trbs4 The trailing spaces at the tail of the custom1_full
key is for cosmetic purposes only. II. Advanced settings for a NLq server
Admins could have multiple admincodes each for different servers. NLq has support for easy and quick access to the admin functionality. Each admin should have an alias in their config.cfg which contains the impulses for the admincode, seperated by a couple of wait statements. Every NLq server knows what it's alias is named after and triggers it whenever a player enters the command "admin". The result is that the player 'automatically' enters the admincode within a second. To allow autotriggering you have to set a LOCALINFO variable; example: localinfo admin_alias roelserver_admin Ofcourse, you could name it after anything, not just "roelserver_admin". Just try to make it unique. Don't forget that entering a '0' in the admincode is
actually IMPULSE 10.
NLq normally has a cease-fire prewar mode. Noone can fire during prewar to speed up preparations. However, if you wish you could allow admins to toggle firing on for a brief while. example: localinfo allow_warmup 1
A slightly undocumented function in NLq is the ability to toggle damaging styles between NetQuake, QuakeWorld and Corrected QuakeWorld. There is a quite serious bug in the default QuakeWorld
code that'll make rockets have a much more powerfull
blast radius (velocity wise). If you wish to fix this it
can be done through again a SERVERINFO variable to let
players know the damage style has been tampered with. The default style is QuakeWorld. This will be in effect when style is either empty or set to "QW". example (NetQuake damage): serverinfo style NQ
Yes, if you feel like NLq is taking up too much CPU you could flip a couple of LOCALINFO switches and hope it works. Allthough it probably isn't as effective as removing a couple of players or a lot of spectators, it does take it down a little bit (around 5% with 10 people online, only 2% with 5 people online, etc). But of course there is a trade-in for that slight gain of CPU power; Some statistics (lag report and frametimes) will not be generated, and for another option the players will experience a not so responsive statusbar. example (disabling lag/fps reports): localinfo
calc_lagreport 0 III. Reference
TURF is actually a DM/CTF combination. Two clans battle on control of the level rather then over two flags or strategic positions within a level. TURF is played with DMM3, no powerups and TP2, with the grappling hook. The basic idea behind TURF is to 'smear out' the
players of a team all over the level, seeking a balance
between offense/expansion (tagging enemy flags) and
defense (defending your turf (your team's flags) against
enemy takeover attempts). In version 8.5w of NLq the only TURF levels included are DEATH32C, E4M7 and DM1 through DM6. In TURF there are flags, poised throughout the level. In death32c there are 16 flags, the deathmatch arenas have 6 to 10 flags and E4M7 has 18. Each TURF flag is neutral at the start of the match (just the flagpost, no flag on it). Touching a neutral or flagpost with an enemy flag will make your team's flag appear on the flagpost. Holding a flag for 60 seconds (cumulative with any
time before a takeover) will grant every player on your However, when the enemy takes a flag of your team, the
time your team has 'owned' the flag will decrease
Defending your TURF is rewarded when either you or your victim is near one of your team's flags.
In case you'd want to actually design custom TURF levels, you can. There are TWO ways you can do this. You can either build a totally custom level using editors like WorldCraft or Qoole (preferred), or you can alter id maps. Altering id maps can be done using .ent files and qbsp'ing a .bsp file. That is considered highly gross, unless you are planning on running a dedicated turf-only server. Try using the internal development impulses. Read on for more info on this. For NLq source code development; This'll take some programming experience. Definately not for you if you've never seen C or another programming language before. Set developer to 666 ONLY when you're busy developing or else your visitors can seriously screw up or crash your server. Switching weapons will trigger the developer mode and you can use "devcommands" to get a listing of the tools. It's mostly self evident. Just note that you'll have to ask a source listing from the server. Use "list" or "listturf". List will show all things added or removed. If you've booted your QWCL with the "-condebug" command you'll notice a growing qconsole.log file in the /ctf directory. That'll contain everything that has happened to you on the server, including the source code listing. You should cut and paste that code in the appropriate part of the ent_turf.qc file. The REMOVAL part of the listing should be in the TURF_Change routine, the rest in TURF_Spawn. Take a note at the source code, how it is divided into levels. Keep that structure intact for any new levels you might want to add. example: developer 666 For .bsp development; Just build the level as you would, placing "item_flag_turf" flags whereever you want. These are the neutral flags. In case you'd like to have a CTF-like startup with each team hugged close together at an initial starting point, you can place "item_flag_turf_team1" to "item_flag_turf_team4" flags at the base to provide some initial turf. The CTF spawn points are allowed as well, so placing a few "info_player_team1" to "info_player_team4" will spawn players there at the match start. Also, the possibility of combining both CTF and TURF gamestyles is possible, giving an even more dramatic turn to teamplay. Currently the source code of NLq is accompanied with a custom turf flag set, enough for 4 team turf. Featuring red and blue, and the new colors, yellow and green.
Basically, it's just Capture The Flag, but with 3 to 4
teams.
This would just be the same as developing for standard CTF levels. Just add "info_player_team3"'s and "info_player_team4"'s where needed. Same applies to the "item_flag_team3" and "item_flag_team4". Same NLq source code developement rules as with TURF apply here.
Here you can check the bitmask values the CTF_MODE variable can assume. To combine effects, just add the value of the bitmasks all up. bitflag 1 and bitflag 64 cannot be combined (safely, but feel free to try ;).
|
|||||||||||||||||||||||||||||||||||||
IV. FAQ and Troubleshooting
If you've followed the instructions for installation only, or followed instruction on setting up a mixed server the server boots in DM mode. Now, if you'd do "rcon map ctf2m1" on the client console, or just "map ctf2m1" on the server console NLq will try to load that level, and treat it as a DM level! The result is NLq won't set "sv_gamedir ctf", and the clients that connect to the server will start downloading the map (if you've unpaked the CTF .paks, if not, they'll get kicked off the server with a "purchase the pack" message). Also visible on the server console would be a lot of error messages as "no spawn function for...". That is because NLq thinks you've fed it a DM level, and ignores code about CTF. Just flag the appropriate ctf_mode flags to tell NLq it has to treat the next map als a CTF level. Note that this is done automatically if you wouldn't have been such a wiseass and did a gametype switch and levelwarp change using admincodes and the mod itself :)
Ok, I love specific questions.
|