Welcome to [NF]Proxy by Niewi of Nitro Force
--------------------------------------------
This Proxy is dedicated to all team games lovers out there - enjoy using it!

Table of Contents

1. General Information
1.1 What does this Proxy cost?
1.2 It's time to say thanx!
1.3 a few words ...
1.4 my opinion about proxies and cheating

2. History of [NF]Proxy and whats new in this Version!

3. Start and Installation
3.1 Files included
3.2 Installation
3.3 How do i start [NF]Proxy?
3.4 How do i connect to [NF]Proxy?
3.5 How can i stop it?
3.6 How to create configuration Files for [NF]Proxy
3.7 Easy GameSpy Startup (only available in the Win32 Version ...)
3.8 Whats the meaning of the fields in the status screen?

4. The Powerup Timer System

5. Easyfont

6. The Proxy Commands
6.1 help commands
6.2 connecting commands
6.3 list commands
6.4 powerup timer commands
6.5 teamplay commands
6.6 naming commands
6.7 misc commands
6.8 fps saving commands
6.9 marking commands

7. The Messagecommands

Appendix
A.1 Aliases defined and used by [NF]Proxy
A.2 f_queries supported by [NF]Proxy
A.3 fpd handling

Troubleshooting

Disclaimer

Copyright / Permissions / Contact

1. General Information

1.1 What does this Proxy cost?

NOTHING, just enjoy it and if you are happy about it or have questions
or ideas or criticism or ... blah blah blah ... send me an email.

RALFN@ROCKETMAIL.COM

ICQ : 25115019

or visit me in irc channel #quake.nfproxy (not in the QUAKE.NET!!!)

you can always get the newest version at the url
DAS.GEMETZEL.DE/NITRO

1.2 it's time to say thanx!

yeah it's time to say thanx to all who are supporting me - your response is great!
and to the genial web designer r-tom of clan exo, who is responsible for this really great pages like sk's, exo's
and our plus the fabulous [NF]Proxy button. if you like my proxy use the [NF]Proxy button on your page!
i also wish to say thanx to my clan mates for their nerves and understanding in proxy testing (they are my alpha testers:-))
and to uwe girlich which work helped me a lot in understing the quakeworld network protocol!

greatings goes to all teamplay loving clans out there - and guys don't forget -> it's just a game :-))

and last but not least to you, because you are reading this bullshit!

1.3 a few words ...

i'm now working on this proxy for 4 month. the sourcecode, completely build from scratch
is written in ANSI C. it has 320kb and 8700 lines of text (without any remarks ...)!
the compiled executeable is a full Win32/Unix code with an console(window) for text output.

im not able to test all conditions all functions combined and all computers out there!!!
If you use [NF]Proxy - you have to report bugs to me, or you have to life with them!

ok, thats all for now ...

1.4 my opinion about proxies and cheating

i'm writing this proxy to lift qw team games to a higher level of strategy,
this proxy is not meant for cheating, it just brings you the features that id software
forgot to implement for team games. the only teamplay features of qw are teamplay mode and
the say_team (messagemode2) command. some of you will say: hey that's all we need! but i don't
think so. it's the strategically aspect of qw i prefer. the proxy gives you the possibilty to
play with friends in the internet like sitting in the same room without long searching for
the keys with the correct messages. other features allow non-gl players to have the same advantages
like gl players, or give you a higher framerate. the proxy can filter the interresting game
aspects and delete the other ones.
yes, sure the proxy brings features which are close to cheating, but things like powerup timers
are blockable by setting the fpd variable.

remember: it's the player using the proxy who is playing the game not the proxy, so the proxy does not
aim, shoot, think or play for you!!!

2. History of [NF]Proxy

Version 0.66:

changed features:

- good news for those of you who wrote me because of the lost seconds of the clock, i've found them and included them again but they are only available if you don't use the -t swicth !!!
- removed the' Timers on' info after the Proxy Ident when not using the -t switch because if people read 'Timers on' in your userinfo when timers are blocked on the server by fpd they could think you are cheating so when timers are enabled there will no Timer statement printed after the Proxy Ident!
- changed the easyfont commands so you can use '#' and '$' again for soundtriggering!

new features:

- with .alwaysautoreport you can force the proxy to call the autoreport aliases even when every teammember is using [NF]Proxy!

upcomming Features:

- advanced listfrag feature with team statistics!
- autosave of the listfrags at the end of maps!
- quakeworld master emulation for lan!
- easyrecord will get more intelligent!

etc.

Version 0.65:

news:

- NoX of the clan 'Das Kartell' is working on a GERMAN Documentation for [NF]Proxy !!!
- i have added a troubleshooting doc called Troubles.txt - please check it out!

removed bugs:

- the disconnect from proxy when trying to connect a running kombat team game with the wrong team set is removed
- i've rewritten the user info handling - this should remove the last skin probs
- removed a bug from the death log! gibstats now has no problems analysing it!

changed features:

- the fastrespawn feature is now automatically disabled in clanarena/arena and teamfortress mods!
- i have removed the saveloc command, nobody understands it's meaning - everyone thinks it's to save the normal loc files maybe nobody reads this documentation, who knows ...
- the proxy will now try to execute a NFProxy_qw.cfg when the gamedir is set to qw and it will try to execute a NFProxy_mapname.cfg on mapchange! This was requested by a few people, so i added it!
- WARNING: the intelligent reporting feature has changed!! its not compatible to other versions of [NF]Proxy!! - be sure all of your team are working with the newest version!
- the clock has lost its seconds, don't know where they are gone!
- advanced the fpd settings ...

new features:

- POINTING added - have a look at %x %y %t and .reportlevel!!!
- I've added a feature that i call Location Pointing have a look at the messagecommand %f
- %v will report the name of the player you are looking at even if the player is an enemy!
- there is a new commandline parameter called -t if set the proxy blocks all powerup counters and to the userinfo of NFProxy 'No Timers' is added! if not set the proxy add the status of your powerup counters to the userinfo of NFProxy!
- the well known nice feature funnames of cheapo is now available for [NF]Proxy (he copied my Easy Gamespy Starter and my advanced Sountrigger Options so this is fair!) have a look at the Easyfont section!
- colorforcing is now available, have a look at .teamcolor and .enemycolor!
- added a .colorsetskin feature. when enabled the team/enemyskins are set using your bottomcolor and not your team. this is very usefull when playing teamfortress (so the spy problem is gone, thanx to Kerstin of HF for the tip) and maybe when playing clanarena!
- now support for Team Fortress! - keys/flag will be reported, the fastrespawn features automatically disabled and the colorsetskin mode is forced for skin forcing features! for key reporting have a look at .reportlevel !!!
- i don't know if the fraglog is working absolute correctly under team fortress, if you observe an error please report it to me because i don't play team fortress ...
- class pointing added for TeamFortress if you point at a teammember or enemy his class will also be reported!
- i have added a command that let you filter the serverinfo w_switch and b_switch. if you get the message 'infostring length exceeds' sometimes or if you get kicked by TeamFortress for skin change (without changing the skin) try this one! if you are using my bestweapon feature you don't need them and i don't think that TeamFortress uses them! so have a look at .filterswitches!
- you can change the names of the Flag and the Keys using .sfn .sskn and .sgkn!
- Runes can now be reported have a look at the .reportlevel (for the Orange mod for example!)
- added a help page for all the message commands, try .helpmessages (or .hm)
- the status screen is now available for the linux version !
WARNING : if you start [NF]Proxy using the standart windows telnet and get a segmentation fault error or if you don't like the status screen disable it using commandlineparameter -q
- new commandline parameter -eTIME lets the Proxy terminate itself after TIME minutes of inaktivity!

Version 0.55:

news:

- [NF]Proxy is now available for Linux (i386)!

removed bugs:

- the listfrag is now working correctly again!
- the reconnect feature now reconnects correctly even when you are already connected (i was too lazy to fix it before!)
- the 100 Health name is now used by the tooktrigger too!
- fixed a problem with GameSpy V2.04/2.05 - i'm not a registred Gamespy User so i could'n remove this before!!! thanx to Phadda for reporting it!
- removed a bug in the .deadbodyfilter ...
- removed a bug in the skin handling, thanx to the guys from Das Kartell for reporting and testing it!

new features:

- you can now log the death messages to a file using .logdeath and the chat messages using .logchat this is for those people who want to use gibstats together with the messages filters [NF]Proxy have or the owndeathmessages of [NF]Proxy! - or if you just want shorter log files instead of this large condebug files!

changed features:

- yeah - the good old bloodstyle explosion is now available again! use .setexplosion 8 to enable it!
- .easyrecord will now add the current date & time to the file name in the case that no quakedir is given or the qwcl client is not running on the same computer! and it now first executes a stop demo command!
- WARNING : i have changed the fpd value for disable of the intelligentreporting from 256 to 1024 because the qizmo guys added fpd values for skin force disable and color force disable and used my intelligentreporting fpd value! i can't understand why they do something like that because its very easy to use the qw commands noskins 2/baseskin to get the same result for enemys-/team- skins!

Version 0.54:

removed bugs:

- the messagecommands %e %E %o %O now check correctly if team mates or enemies in your vicinity are dead or not!

new features:

- for all of you who are using blood for explosions, you can now change the number of bloodparticles which will be spawned! have a look at .setbloodlevel!
- messagecomamnd %i now reports the last taken object including armors, weapons, packs, ammo and health! %I reports the last taken item that has triggered the f_took alias!
- advanced the tooktrigger so have a look at it!
- the new command .ownmessageping lets you remove the message ping of own messages!
- you can complete remove own messages using .ownmessage, this way only the other will see them! this feature is just for people who know what they are doing!
- you can change the name of 100Health using .set100hname and the name of Backpacks using .setbackpackname!

Version 0.53:

removed bugs:

- ok, i did it! i removed a bug in the listfrags routine (v0.52) and failed! the new listfrag routine crashs the whole proxy when called! when .autolistfrags is enabled this routine is called after every map! - removed this bug!
- i've changed the integrated gamespy starter,now it checks frequently the status of the (gl)qwcl client. this way the proxy terminates itself (if it's started with -x) when qwcl is quit! in older versions the proxy terminated when the qwcl client disconnected!

new features:

- because it's hard to use one config file for all the mod's out there i give you the possibility to write a config file for everyone, where you just have to set the differences from your normal config!
have a look at the '
How to create configuration Files for [NF]Proxy' section!

Version 0.52:

removed bugs:

- there was this nasty bug, which let the server tell anyone that you are playing with none standard eyes/player modells, that happend when connecting to a server as spectator and than try to reconnect or connect the same or another server!
- removed a bug in the network send routine which caused a proxy crash with the error WSAEWouldBlock! thanx to exo-ice for reporting this bug!
- some people seems to have more fingers than other :-), so i increased the numbers of bestweapon slots from 3 to 5!
- removed a bug in .lal thanx to Neophyte for reporting this bug!
- in version 0.51 i have increased the max number of marks per loc file, but i forgot to use a bigger counter for it! the old one overflows after 256 marks!
- removed a bug in the fraglog. i used a integer for the effi compare so the value after the dot wasn't handled correctly!

new features:

- now you can let the proxy drop client packets (.dropclientpackets) this will give you smoother gameplay and less network traffic. you can control it by using the new feature .showpackets, which shows you the client packets received per second, the server packets received per seconds and the number of dropped packets by he proxy, so you can tune your qwcl as you wish!
- support for f_lagreport when typed in the console the proxy tells all how many fake lag you are using!
- added a alternative network routine which can be enabled by using the new startupparameter -n.
if you have lag problems - test it and tell me about your experiences on it!!!
- i worked a little bit on the spectator mode. if speccing a game and intellireporting is enabled the proxy tells you who in which team has an powerup!

Version 0.51:

removed bugs:

- ok i hear you all screaming about the bestweapon funktion. i recommend you to use it, because it's very powerfull!!!
i have added a possibility to turn it completely off (default!), just use .bestweapon off and i have removed a bug in it!
- do you remember the user defineable timers for servers with disabled powerup timers??? now you can only use them when powerup timers are enabled (don't know if they are usefull anymore :-)) ...! use the new clock instead!
- not a bug: the 'N' symbol for no armor in %A reporting is gone!
- splitted help into two help commands: .help and .helpadvanced, because the help command got to big for some data packages so the client disconencted!
- removed some debug code, this should speed up things a little bit!
- a friend send me a loc file with 390 marks in it, so i changed it again to 400 marks per loc, if this is not enought - go to hell :-))

new features:

- you can now change the name of the Armors, look at .setraname .setyaname and .setganame
- a name can now be disabled by using the off parameter! (.sqn .srn .spn .snn .sran .syan .sgan)
- a clock is now available, look at .clock

Version 0.5:

removed bugs:

- there was a bug, that appeared by some people : when the countdown of the kombat teams mod reached the end there came lots of u_remove on full update before the game starts ... that should be fixed now!
- the %o %O failure is gone, it added you to teammembers in your vicinity even when you were dead!
- not really a bug - the beeping of commands is no removed!
- the skin bug (hopefully) should now be history.
- not a bug but no new feature, you now can use up to 200 marks per loc file for a map unbelieveable that a uk clan mailed me because 128 marks are not enought for their loc files, don't know what maps they are playing :-)
- rewritten the network code

new features:

- fastrespawn feature will respawn you as fast as possible (or timed) using a jump (look at .fastrespawn)
- blend filter for item pickup blending (.blendfilter)
- added a need messagecommand that checks automatically what you need (armor/health/weapons/ammo) and reports it (%z) you can control it by using (.setneed)!
- i added a damage filter so the red flash when getting hit can now be filtered (.damagefilter)
- user defineable timers for servers with disabled powerup timers, you can set up to 10 timers (.inittimer .cleartimer)
- took trigger for taken armors (.tooktrigger and %i)
- deathtrigger and respawntrigger. if you die/respawn the proxy automatically calls aliases called f_death and f_respawn, ok thats too much for 4on4 but its ideal for 2on2 or maybe 3on3!
- you can now change the name of the Powerups, look at .setquadname .setpentname .setringname and .setnonename
- added message commands which let you easily use up to 4 lines of text in one chat message! (%u and %U)
- powerup takes of teammates and enemies are now reported using the aliases f_team and f_enemy, so you can now create your own autoreporting messages by writing own f_team and f_enemy aliases!
- added easyrecord function, you never have to type in names for demos again! have a look at .easyrecord
- soundtrigger is now available have a look at .soundtrigger, it's different from all soundtrigger features of other proxies! - so be sure to check it out!
- i've changed/added some message commands, have a look at them because the meaning of %b and %d have been changed! the reason is easy, its for compatibility with other proxies ... i dont want you to change your communication scripts, just because you change proxies ...
%b now reports your best weapon depending on the weapon priority set with (.setweaponpriority)
%r reports the number of rockets you have(just what %b did before!)
%c reports the number of cells you have
%L reports your last dying position with a time limit of 5 sec. after time is up it reports your current position like %l (thats what %d did before!)
%d now reports your last dying position without any time limit!
%w reports your current weapon!
%W reports the ammo of your current weapon!
%G reports upcommin Powerups with their location
%S is a new intelligent communication feature, it works like %s but it will show you the armor/health/bestweapon from all teammembers in your vicinity! (it's very usefull in dmm1 and if amors/powerups appear to look who should get it!)
- best weapon feature (.bestweapon) : you can define up to 3 impulses for best weapon selections
- added a death message filter, you can filter all death message or the ones from the other players (.dmf)
- own death messages added, if enabled, short deathmessages from teammembers will be displayed (.odm)! use it together with the deathmessage filter function!
- hostname resolution is now available! so you can use hostnames instead of ip addresses to connect a server!
- added stopconnecting feature (.sc)

Version 0.4:

removed bugs:

- removed a hard bug in the control of the user data
- fixed a bug in %p reporting!
- corrected a bug in the movement parse routine for qw2.30
- corrected bugs in the fraglog parsing
- spectator handling bugfixed - this should fix the skin bug too!
- fixed the bug that caused disconnection from server when you have executed a config file with nfproxy commands in it!!!
- fixed the disconnect, reconnect and connect bugs! you now can connect another server without disconnecting first (thanx to urban for the connect bug report)!
- removed a bug in delta entity parsing (thanx to KeyBuZZ)
- removed a bug in the deadbodyfilter (it caused a total crash of (GL)QWCL!)

new features:

- report of nearby enemies and members integrated (%e, %o, %E, %O)
- list commands for powerups/armors in map (.lp, .lpl, .la, .lal) included.
- completely new written powerup timers and reporting! There are so many changes in the powerup handling, head on to the powerup section in this document!
- reporting of the next nearby powerup/armor/backpack added, in deathmatchmode 1 it will report weapons too! (%X, %Y and %T)
- the fraglog can now be watched centerprinted - really nice for speccing! (.cpf)
- on map change the fraglog will be automatically printed to console (see .alf)
- intelligent reporting incuded (see .ir and the powerup section in this document)
- added .who commando (it lists all players with their teams skins and rank)
- fraglog sorts now the players depending on their efficiency
- %d (last dying position) remembers now the last dying position for 5 sec. if time is up it reports your current location ...
- autoreport is much intelligenter now! it only reports when there is a teammember who is not using [NF]Proxy, or if intelligent reporting is disabled (by server or by you)!
- added a .cdtracks feature, for those of you who have problems with cd track changes on map changes! - just for you dust :-)
- added the .echo command - if disabled no standard message will be printed when setting a parameter, just command parsing errors and all list commands will be printed to console
- now you set the style of the exposions by using .setexplosion, there are up to 8 different explosion styles to choose from.
- added a floodprotection feature, which protects you from getting the 10 sec. flooding penalty time from the qw server when sending more than 4 messages in 4 seconds (.floodprotect)!
- Location marking Functions added (.mark .showmark .delmark .undodelmark .renamemark .loadloc .saveloc)
- now you can see who is talking to you by using the .chatflash command
- added a possibilty to choose what %T %X %Y will report (.reportlevel)
- with .nopolyblend you can choose if you will get blended by the powerup(s) you have
- integrated the Easy GameSpy Startup feature (-bQUAKEDIR -gQWCLEXE -x)!
- [NF]Proxy detects the KombatTeams mod and resets the fraglog after the countdown has ended and it ignores the powerups the players have before starting the countdown!

Version 0.31

removed bugs:

- don't know how it could happen, i've released a not running version of [NF]Proxy (V0.3). the night before i was on the dcc session in essen/germany and i havent slept that night :-) so this is a correct running version of [NF]Proxy. this version is compatible to QW2.21 QW2.29 and QW2.30.

Version 0.3

new features

- support of proxyautoexec aliases (required for bod-tct's proxy starter for gamespy)
- support for combat teams/ocr teammod statistics, they are using standard qw death messages but send them as one string - not like qw which sends death messages in pieces, so i have to parse the whole death string now!
- dead body filter - filters all parts of dead bodies! (increase fps)
- muzzle flash can be turned off.
- support for QW Version 2.30
- quiet mode - needed by some GLQWCL users. when connecting [NF]Proxyt prints text on the screen, some 3dfx drivers switches the display to normal mode, so you just will get a blank screen or something like it. this feature will help to avoid this problem!

Version 0.2 (first public beta!)

features:

- intelligent poweruptimers: the timer of all players using [NF]Proxy communicate to synchronize themself. So you won't miss an powerup take.
- loc file compatiblity to qizmo and cheapo
- absolute lagfree!
- inteligent autocommunication using %s reporting
- autoreport of taken powerups to teammembers
- chooseable team and enemy skins
- online statistics
- support for fpd server variable
- support for f_version

3. Start and Installation

3.1 Files included

NFProxy(.exe) - The Proxy :-))
NFProxy.txt - this Documentation
Troubles.txt - a textfile with a few tips for people having troubles using [NF]Proxy
dm4.loc - a sample loc file for dm4 (for position depending reporting!)
SndList.txt - a list of all sounds included in Quake for soundtrigger functions
NFProxy.cfg - a sample main config file - copy it in your quake\id1\ directory
NFProxy_arena.cfg - config file for rocketarena - copy it in your quake\id1\ directory
NFProxy_carena.cfg - config file for Clan Arena - copy it in your quake\id1\ directory
NFProxy_fortress.cfg - config file for Team Fortress - copy it in your quake\id1\ directory
NFProxy_frogbot.cfg - config file for Frogbot - copy it in your quake\id1\ directory
NFProxy_fbot.cfg - config file for Frogbot - copy it in your quake\id1\ directory

3.2 Installation

Make a directory for example NFProxy and copy all files in it.
If you want to use the sample nfproxy*.cfg files copy them in your quake\id1\
directory and change them to your desire ...

-Thats it!

3.3 How do i start [NF]Proxy?

usage : NFProxy [-pPORT] [-cIP[:PORT]] [-gQWCLNAME] [-bQUAKEDIR] [-x] [-q] [-n] [-h]
[-t] [-eTIME]

-pPORT - setting the proxy client port to PORT (default is 27500).
-cIP[:PORT] - initialisation of the autoconnect to server feature.on connecting the localhost you will be automatically connected to the server described by IP:PORT
-bQUAKEDIR - set the location of your quake directory to QUAKEDIR needed for the -g switch(only Win32 Version!) and the .easyrecord command
-h - show help
-q - quiet mode : for GL users with problems on connecting the [NF]Proxy! (black screen!)
or for linux users having problems with telnet sessions (segmentation fault!)
-t - completely block poweruptimers! (No Timers is added to your userinfo!)
-eTIME - autoexit after TIME minutes of Idle!

the following commandline parameter are only available in the Win32 release!

-gQWCLNAME - initialise GameSpy startup feature and set the name of the preferred qwcl file (QWCL.EXE or GLQWCL.EXE) please read 'the Easy GameSpy Startup' section!
-x - exit [NF]Proxy after connection (usefull for -g switch!)
-n - use alternative network routine (try it when you have probs with lag!)
example: NFProxy -c192.168.0.99:27666 -p27501 -bd:\quake (Win32 Sample)
  NFProxy -c192.168.0.99:27666 -p27501 -b/games/quake (Linux I386 Sample)

start NFProxy using Port 27501, set your quake directory to 'd:\quake' (Win32) '/games/quake/'(Linux I386) and use autoconnect on server 192.168.0.99 port 27666.

3.4 How do i connect to [NF]Proxy?

man thats easy:
1. start NFProxy.exe (Win32) or NFProxy (Linux)
2. start your qwcl client,
3. type 'connect localhost' or 'connect 127.0.0.1' in your quake console.

- thats all!

3.5 How can i stop it?

Use ctrl+c or ctrl+break to stop it!

3.6 How to create configuration Files for [NF]Proxy

[NF]Proxy offers you a large selection of features that have to be configured.
To do this the easy way the Proxy calls a config file called NFProxy.cfg, where you have the possibility to configure the Proxy to your desire.
A sample NFProxy.cfg file is included in the Zip file, copy it to your quake\id1 directory and edit it!

Some features of [NF]Proxy are not usefull in all cases, for example the .fastrespawn feature lets you, when enabled, jump like wild on RocketArena or ClanArena servern, because the mods sets you to a death status until it's your turn to play.
If you want to play against Frogbots you have to disable the .deadbodyfilter or you won't see any bots!
If you play TeamFortress its not very usefull to use the .bestweapon feature because not all weapons are equal to the normal quake weapons.

My solution for this Problem is very easy! : If you connect to a server running a not standard qw game like arena/clanarena/headhunter/teamfortress/orange/ or else the Proxy tries to call a config file called NFProxy_GameDirName.cfg!
for example if you are playing RocketArena or ClanArena the the Server you are playing on sets the GameDirName to arena, so the Proxy will call the NFProxy_arena.cfg. I have included a few config files for different mods, if you wish to use them copy them in your quake/id1 directory and edit them.
The advantage of this method is that the Proxy configuration is done automatically for every mod!

Some people need a config file for every map they play, expecially in teamfortress so the proxy tries to execute a mapdepending config file called NFProxy_mapname.cfg. If the name of the current map is dm6.bsp the proxy tries to execute NFProxy_dm6.cfg!

3.7 Easy GameSpy Startup (only available in the Win32 Version ...)

[NF]Proxy has the possibillty to perform a easy startup for gamespy users!
that means it will be started from gamespy, start (gl)qwcl executing your configs connect to (gl)qwcl and automatically connect the desired server for you.
After closing (gl)qwcl it will (when using -x) automatically exit!
This way all your GameSpy settings for (gl)qwcl will be set correctly (including password and spectator)!

Ok guys, this is easy:
If you don't have NFProxy.exe in your Quake Main directory
create a subdirectory id1 in your NFProxy.exe directory!

Start your GameSpy and click on the TOOLS menu, choose OPTIONS and search for the '
QuakeWorld Client' section. disable (uncheck) the Use Network Connections for QuakeWorld feature - thats all to do here!

Now click on the GAMESPY menu, choose
GAMES AND FILTERS ...
in the Quake Section click on FOLDER: and choose in the upcoming menu the folder of NFProxy.exe!

Below you will find the QuakeWorld settings, go to '
COMMAND LINE' and enter : NFProxy.exe -gqwcl.exe -bf:\quake -x :
where qwcl is the quakeworld client exe file and f:\quake is the path of your quake dir!
-x will quit [NF]Proxy after disconnecting from it

if you have problems like getting a black screen try to add -q to the command line (for gl recommended, for users with fast computers playing normal qwcl, too!)

if you want to pass parameters to the (gl)qw client just type them after the ':' in the command line:
NFProxy.exe -gglqwcl.exe -bf:\quake -x -q : -width 800 -conwidth 800 -bpp 16 -heapsize 24000 +_windowed_mouse 1 -nojoy -nocdaudio -noipx -zone 1024

WARNING: when using the -x switch don't use a BATCH file to start the (gl)qw client!!!

You did it!

3.8 Whats the meaning of the fields in the status screen?

Most of them explain themself, so i only mention the players fields. Player Name, Frags, Ping, Team and Skin are equal to the QW variables.
When a '>' is in front of a Player's name, he's using [NF]Proxy!

Rank : can be Enemy or Friend
Mode : discribes the Players Status, its unused, Player or Spect
Sc : means Suicides
TF : Telefrags of Teammembers are counted as teamfrags (some Team mods count them as a normal Frag! - i don't !)
Frags : this are your 'real' Enemy frags. Teamfrags and Suicides are not included in this Fragcounter!
KiA : means Killed in Action. This is how much the enemy killed you! It's without your Teamfrags, without Suicides and without teamfrags caused by teammembers on you!
Effi : means the efficiency. calculation: (100/(Frags+Suicides+KiA+Team Frags))*Frags; its updated onscreen 1 time per second!

NOTE: this effi don't includes teamfrags on you by teammembers!

4. The Powerup Timer System

If powerups timers are enabled and not blocked by the server (fpd), each powerup has an on screen timer. The index of a Poweruptimer is always the same in the same map, that means every time you enter for example E4M3 the Q0 timer is associated with the QUAD at the GL/RA! You can list all Powerups in the map with the .listpowerups (.lp) command, if you are using a loc file you can list the powerups with the Locations using .listpowerupslong (.lpl) in this case the Powerups are listed in the same order as the Powerup Timers are displayed!
If an Powerup is not taken by anyone or the condition of the the counter is unknown the timer is set to XXX.
If someone takes an Powerup and you or anybody using [NF]Proxy hears the Powerup's pickup sound [NF]Proxy sends an internal information to the other [NF]Proxy users, so that their Powerup Timers can synchronize (yep - that means all [NF]Proxy users, even the enemy gets informed or will inform you!).
[NF]Proxy identifies the Player who was the origin of the sound and tells you if an enemy or a team member picked it up (if it was a team members the name is displayed!). If a Player with a Powerup dies [NF]Proxy will tell you too. In case of a teamfrag, [NF]Proxy can't identify the victim because QW don't send its name! The color of the Timer will change from white to red in the last 15 seconds before the Powerup will appear till 3 seconds after it had appeared! The message command %g will report all upcomming (red) Powerups to your team members!
If the character between the Powerup index and the timer is a white block - a member of your team has taken this powerup if its red a Enemy has it, if there is a ':' instead the powerup is not longer activ (because the active time (30sec.) of the powerup has run out or the owner of the powerup has died!)
The Layout of the Powerup Timers can be set using the .sptl (see the Commands section)

->you see that the Handling of Powerups is not as easy as it seems to be :-)

5. Easyfont

QuakeWorld has varius grafical charakters that you can use to style your name or the messages you send to others. The Problem is that the use of this charakters is not as simple as it should be!
At this point [NF]Proxy gives you simple fontcommands to make it easier for you. You can use this fontcommands in your name, in locationnames (see .mark), in selfdefined names for powerups/armors (using the naming commands) and finally in all messages (say/say_team)!

The fontcommands:

#charakter : this will color the charakter red (only usefull for names because messages are red by default in quake
example: name #Niew#i (typed in the console this will set the name Niewi with a red 'N' and a red 'i'!
## : this will give you the normal '#', it's usefull when you use it for soundtriggering!
$number : will give you the number in red!
example: name $1$.$2$.$3 (typed in the console this will set the name 1.2.3 with red numbers!
$( : the left end of the regulators used in the quake options
$= : the middel of the regulators used in the quake options
$) : the right end of the regulators used in the quake options
$a : the controller of the regulator
$< : the left end of the underline
$- : the middleof the underline
$> : the right end of the underline
$. : a red middel dot
$, : a white middel dot (only in names!)
$[ : a big red [
$] : a big red ]
$_ : a space sign, use it instead of the normal space between grafical charakters
$b : a filled red block
$c : a filled red arrow (pointing to the right!)
$$ : gives you the normal $ symbol, it's usefull when you use it for soundtriggering!

example: name $[#N#F$]$5$,Niewi$ gives you my normal quakeworld nick name!

6. The Proxy Commands

6.1 help commands:

short long parameter What it will do...
.h .help   list the syntax of all standart commands
.ha .helpadvanced   ist the syntax of all advanced commands
.hm .helpmessages   list all message commands with their meaning (very short form ;-))

6.2 connecting commands:

short long parameter What it will do...
.c .connect [ip:port] connect a server described by ip:port
.ac .autoconnect [on/off] activate/deactivate the AutoConnect Option
.rc .reconnect   reconnect to the last server
.dc .disconnect   disconnect from the server
.sc .stopconnecting   stop to try to connect a server

6.3 list commands:

short long parameter What it will do...
.alf .autolistfrags [on/off] if enabled (default) after the fraglimit is reached or the timelimit the fraglog will be printed to the console.
.cpf .centerprintfrags [on/off] shows the fraglog centerprinted (nice for speccing a game!)
.la .listarmor   list all armors in the actual map
.lal .listarmorlong   list all armors in the actual map with place (you need a loc file!)
.lp .listpowerups   list all powerups in the actual map
.lpl .listpowerupslong   list all powerups in the actual map with place (you need a loc file!)
.lf .listfrags   list all active players and there current frag status. when connecting to a server and on mapchange the fraglog is reseted.the meaning of the listed fields are eqal to the meaning of the status screen!
.rf .resetfrags   resets the fraglog
.w .who   list all players with name, team, skin and rank

6.4 powerup timer commands:

short long parameter What it will do...
.pt .poweruptimer [on/off] activate/deactivate the PowerupTimers
.cpt .centerpt [on/off] if centerpt is enabled the powerup timers will be printed centered (left parameter of .sptl is ignored!)
.pptl .printptlong [on/off] if you enable this feature all powerup counters will be diplayed with the name of their location (only if you use a loc file!)
.sptl .setptlayout [down left length] sets the layout for the powerup timers. this command is very powerfull, you can totally design how the powerup timers will appear.
down - move the powerup timers down lines down
- (for a resulution of 320*200 i prefer 14)
- (for a resulution of 512*384 i prefer 35)
- (for a resulution of 640*480 and 800*600 i prefer 46)
left - move the powerup timers left characters from the left
length- sets the maximum length of one powerup line
the default is set for a resolution of 320*200:
down=14 left=0 length=32
to move the powerup timers in 320*200 to the left screen side in hub stile use
down=0 left=0 length=8
to move the powerup timers in 320*200 to the right screen side in hub stile use
down=0 left=34 length=6
.it .inittimer [time] this will add a user defined timer to the timers list. you can define up to 10 different timers.
[time] is the start time in seconds, the timer will count down from it. so if you use the comand .it 60 the timer will be added and count down from 60 to 0.
you can for example bind a command like "say .it 60" (for Quad) or "say .it 300" (for Pent/Ring) to a key to time powerup events!
.ct .cleartimer   clears up all timers started with .inittimer
.cl .clock [number] you can enable a clock which shows your system time! there are three different modes for the clock:

0 - off
1 - always
2 - only when Powerup Timers are disabled

the clock can be positioned using the poweruptimer layout commands .sptl and .cpt!

6.5 teamplay commands:

short long parameter What it will do...
.ar .autoreport [on/off] activate/deactivate the AutoReport of taken Powerups
NF]Proxy defines on connecting automatically the f_team / f_enemy aliases, have a look at the
alias section in this document for further infos on this.
.aar .alwaysautoreport [on/off] force AutoReport to report Powerups even when all teammates are using [NF]Proxy! this feature is by default enabled!
.es .enemyskin [skin/off] set a enemy skin or disable enemyskin
.ts .teamskin [skin/off] set a team skin or disable teamskin
.ic .intellicom [on/off] activate/deactivate the intelligent autocommunication, by deactivating it you can't use %s %S and your proxy will not answere to %s %S commands.
.ir .intellireporting [on/off] this enables (default) or disables the intelligent reporting. The intelligent
reporting feature tells you who takes an powerup, if it's a teammember the name will be printed. it will tell you when the player with the powerup dies, or if
someone takes an dropped powerup...
.st .soundtrigger [char/off] this controlls the soundtrigger function. a soundtrigger lets you play sounds remote on the computers of your teammates. its very usefull to add sounds to importend messages, so they won't get lost in trouble.
the soundtrigger sound will played instead of the message ping!
you can use own sounds (just copy them to the id1/sound directory) or, if you are lazy, you can use original quake sounds. its not very usefull if you use sounds which are normally be used in quakeworld, i recommend you to use quake sounds from monsters for example, because anyone has them and they are not used in quakeworld at all! you can find them in the included sndlist.txt file in your nfproxy directory.
ok, back to topic: to enable the soundtrigger, you have to specify the charakter to be used for soundtriggers. use a charakter thats not used very often in quake chats!

the rules:

- the proxy checks the charakters after the soundtrigger charakter and will only interpret it as a soundtrigger if the following charakter is not equal space (' ') or end of text.
- the sound to trigger must end with '.wav' when send with a chat message (example 1&2)! when just sending a soundtrigger '.wav' is not needed !
- all players in a team must use the same soundtrigger charakter, or some people wont hear anything!
- the proxy just checks the first soundtrigger character it will find in chats, so if you use '!' for soundtriggering be sure to use it correct (have a look at example 1 & 2)!
- if just a soundtrigger will be send without a message no message will be printed, just the sound will be played!
- to disable the soundtrigger use the parameter off
- the soundtrigger is disabled by default!

the following examples are using the character '!' for soundtriggering (.st !)
example1:
you say: Attack RA !boss2/pop2.wav
this will print 'Attack RA' on screen and play boss2/pop2.wav

example2:
you say: !boss2/pop2.wav Attack RA !!!
this will print 'Attack RA !!!' on screen and play boss2/pop2.wav

example3:
you say: !boss2/pop2
and you say: Attack RA!!!
this will print 'Attack RA!!!' on screen and play boss2/pop2.wav
but the second message will play a message ping that will disturb the playing
of boss2/pop2.wav !

.dmf .deathmsgfilter [number] this will filter the death messages received from the server, there are 3 modes:
number who's death messages will be filtered
0 - none
1 - others
2 - all
.odm .owndeathmsgs [on/off] if enabled just deathmessages from teammembers will be displayed. if the teammember is in your vicinity when dying the message will be displayed in red else in white.
use this command in combination with the deathmessagefilter!
.dt .deathtrigger [on/off] when enabled and you are using a loc file, this will automatically call the f_death alias when you die.
[NF]Proxy defines on connecting automatically the f_death alias, have a look at the
alias section in this document for further infos on this.
.rt .respawntrigger [on/off] when enabled and you are using a loc file, this will automatically call the f_respawn alias when respawning.
[NF]Proxy defines on connecting automatically the f_respawn alias, have a look at the
alias section in this document for further infos on this.
.tt .tooktrigger [a w m p h] controlls which objects will be automatically reported when you take them by calling the f_took alias!
[NF]Proxy defines on connecting automatically the f_took alias, have a look at the
alias section in this document for further infos on this.
you can set armors weapons mun packs and health

the value for armor can be between 0 and 3
0 : disables the funktion
1 : ga ya ra
2 : ya ra
3 : ra

which weapons will be reported depends on your weapon priority set with .setweaponpriority
if you set the weapon value to 1 it means that only the weapon with the highest priority will be reported, if you set it to 2 the first two weapon with the highest priority will be reported.
IMPORTEND: weapons will just be reported in dmm1!!!

the mun value meaning is listed below
Value reported ammunition
0 : nothing
1 : Rockets Cells
2 : Rockets
3 : Cells

the next one activates/deactivates the pack reporting a value of 0 disables it any other will enable it!
and the last one activates/deactivates the reporting of taken 100health!
its working like the pack value, if set to 0 it's disabled else it's enabled!

ok i know it's hard stuff, but this is the easiest way for me :-)
so here are some examples:
.tooktrigger 3 2 2 1 1 report took of RA, the 2 importend weapons, Rockets,100 Health and Backpacks!
.tooktrigger 3 0 0 0 0 just reports taken RA

oh, by the way - if you have cl_nodelta set to 1 the proxy just can report taken armors!
there is no reasen to set cl_nodelta to a value of 1, it's causing very much lageffects!
if you know a reason mail me, than i will suport cl_nodelta 1!!

.sn .setneed [h a c r n s] this command controlls the need messagecommand (%z).
.setneed sets the limits for the things to be reported!
it sets the limit of health armor cells rockets nails and shells the standard setting is

.setneed 50 30 10 5 25 10
this sets health to 50 armor to 30 cells to 10 rockets to 5 nails to 25 and shells to 10!

you can disable the need report for items by setting them to 0,
for example if you don't want health to be reported set the limit for health to 0:
.setneed 0 30 10 5 25 10

.tc .teamcolor [TC BT/off] this forces the TopColor and the BottomColor for all teammates to TC BT!
TC and BT are numerical values between 0 and 15!
this feature is disabled when using .colorsetskin!
the Parameter off disables it!
.ec .enemycolor [TC BT/off] like .tc but for enemyskins!
.css .colorsetskin [on/off] this forces the proxy to set the enemy/teamskins depending on your bottomcolor
its usefull for teamfortress and maybe in clanarena!
this is the only mode in teamfortress, you don't have to set it, it's turned on automatically when connecting the teamfortress server!

6.6 naming commands:

for all names you can use the EasyFont Commands that are described in the Easyfont section!

short long parameter What it will do...
.sqn .setquadname [name/off] sets the name for the quad symbol for proxy reportings like autoreport and %X %T %g %G %p %q ...
the parameter off will clear the name!
.spn .setpentname [name/off] like .setquadname just for pent
.srn .setringname [name/off] like .setquadname just for ring
.sbpn .setbackpackname [name/off] like .setquadname just for backpacks
.shn .set100hname [name/off] like .setquadname just for 100health
.snn .setnonename [name/off] like .setquadname, its used when no powerup has to be reported!
.sran .setraname [name/off] sets the name for the red armor used for proxy reportings like tooktrigger and %T, %X
the parameter off will clear the name!
.syan .setyaname [name/off] like .setraname just for yellow armor
.sgan .setganame [name/off] like .setraname just for green armor
.sgkn .setsilverkeyname [name/off] sets the name for the silver key used by %X and %T - off clears the name!
.sskn .setgoldkeyname [name/off] sets the name for the gold key used by %X and %T - off clears the name!
.sfn .setflagname [name/off] sets the name for the flag in team fortress mode used by %q %p - off clears the name!

6.7 misc commands:

short long parameter What it will do...
.cdt .cdtracks [on/off] suppress CD Track change on map change.
.cf .chatflash [on/off] when somebody in your vicinity is talking he will flash for a short time!
.e .echo [on/off] when disabled (.echo off) no standard message when setting parameters are printed
to console (good for nfproxy.cfg file!)
.fp .floodprotect [on/off] floodprotection protects you from getting the 10 seconds flooding protection penalty time when sending more than 4 messages in 4 seconds!
.s .status   displays the status (not up to date, yet!)
.mf .muzzleflash [on/off] enables/disables the light effect when other players are shooting.
.rl .reportlevel [i k r p] with reportlevel you choose what %T %X %Y and %t %x %y will report i=items k=keys r=runes p=players

the parameter items can be one of the following:
0 : Powerups, Armors and Backpacks
1 : Powerups, Armors, Backpacks and Rocketpacks
2 : Powerups, Armors, Backpacks, Rocketpacks and Cellpacks
3 : Powerups, Armors, Backpacks, Rocketpacks, Cellpacks and Healthpacks
4 : ALL! (but no dead people or parts of them :-))

the parameter keys controlls if keys are reported if set to 0 no keys will reported else
the gold and the silver key will be reported ...
you can change the names of the keys using .sskn and .sgkn!

the next parameter runes controlls if runes are reported if set to 0 no runess will reported
else the 4 runes will be reported! the rune names are taken from the orange mod where you have a resistance a strength a haste and a regeneration rune!!

the last parameter turns player pointing on (only for %x %y %t!)
if set to a value greater than 0 you can point at players and the proxy will report the name
(if it's a teammember) or Enemy and the powerups/flags the player has!

example: .reportlevel 1 1 1 1 this will report Powerups, Armors, Backpacks, Rocketpacks, Keys, Runes and Players!

.npb .nopolyblend [number] disactivates the polyblend from powerups. In the moment it will not work under water or in lava (and i dont know if its possible!)
number who's powerup will not blend you!
0 : OFF
1 : YOU
2 : OTHER (you will not see if anyone has quad, remember this!)
3 : ALL (you will not see if anyone has quad, remember this!)
.bw .bestweapon [s. i. w1 /off] this command gives you the possibilty to let the Proxy automatically choose
the best weapon for you! you can use up to 5 different best weapon slots, each slot is enabled by using a impulse, which you have to assign to a slot first.
when using the impulse of a slot the proxy tests the weapons assigned to the slot till it finds a weapon with enought ammo and activates it!
to disable a weapon slot assign impulse 0 to it!
to disable the whole best weapon feature use parameter off!
be sure to use impulses that are not used in the mod you are playing!!!

you can assign normal weapon impulses to slots, so there is no danger of conflicts with other impulses
[w1 ...] are the weapons, they will be used in this order!
they can have values between 1 (axe) and 8 (lightning bold)

for example: .bw 1 7 7 5 4 3 2 1 this will assign slot 1 to impulse 7
and the weapons : rocketlauncher supernailgun nailgun supershotgun shotgun and axe
when using impulse 7 the proxy will test what weapon is available and switch to it!

to disable best weapon use:
.bw off

my preferred settings are:
.bw 1 6 6 5 4 3 2 1
.bw 2 7 7 5 4 3 2 1
.bw 3 8 8 3 2 1
(i use 3 keys for attacking)

.swp .setweaponpriority [w1 w2 ...] sets the weapon priority for the %b and %S message commands, which are reporting the best weapon you have
the default value is
.swp 7 8 6 5 4 3 2 1
this will report Rocket before Shaft!

if you like to report Shaft before Rocket use:
.swp 8 7 6 5 4 3 2 1

.er .easyrecord   this function creates automatically a name for your demo and starts to record it!
if you have set your quake directory using the commandline parameter -b
if the quake directory is not set (because the proxy runs on another computer or ...) number will be the current date and time in day_month_hour_minute style!
if you are playing on a none teamplay server the name looks like ffa_map_number.qwd - for example: ffa_dm2_0.qwd
if teamplay is enabled the name looks like: yourteam_vs_enemyteam_map_number - for example: nf_vs_sk_dm3_0.qwd :-))
the proxy checks if the demo name exists, if yes it increases number and checks again, so it don't overwrites older demos from you!
the proxy just checks the first enemy in the user list for the enemyteam name, so be sure that all players have the right team set, or just use it when in kombat teams the countdown has begun!
to stop demorecording just type stop, easyrecord only starts the recording!
.fr .fastrespawn [sec./off] activates the fast respawn function. if enabled you will respawn as fast as possible or after the given amount of time. the respawn is done using a jump not a shoot!
sec. are the seconds after which you wish to respawn, a value of 0 will let you respawn as fast as possible a value of 10 after 10 seconds...
to disable it use off.
.omp .ownmessageping [on/off] if set to off this will kill the message ping from own messages!
.om .ownmessage [on/off] if set to off this will completely remove own message, so only the other will see them! this is just for people who know what they are doing! :-))
.ld .logdeath [file/off] see .logchat!
.lc .logchat [file/off] this will log all death/chat messages to the given filename, this is usefull for people who want to use the .deathmessagefilter and Gibstats together! or if you want to log just the chats to a file!

if you want to log both to the same file just use both commands with the same filename!

if the file for logging already exists the new chat/death log will be appended. the logfiles will be created in the proxy directory!
the parameter off disables the funktions!

.fs .filterswitches [on/off] if enabled the proxy filters the info variables w_switch and b_switch,
if you get sometimes the message infostring length exceeds or if you get kicked by TeamFortress for skin change (without changing the skin) try this one!

if you are using my bestweapon feature you don't need them and i don't think that TeamFortress uses them!
the problem is that qw just accepts userinfo strings less than 64 bytes.
some mods are using userinfo strings to store their infos there and so the proxy does, this way 64 bytes are quickly overrun!

6.8 fps saving commands:

short long parameter What it will do...
.r2g .rocket2grenade [on/off] this will change the Rocket Model to the Grenade Model
.dbf deadbodyfilter [on/off] use this to increase your frames per second, it filters all dead bodies and body parts out!
if its enabled and you see a head or a dead body - its a dead player who has not respawned yet!
.se .setexplosion [number] sets the style of rockets/grenades explosions.
the parameter number can be one of the following:
0 : NORMAL
1 : NAIL'S HIT
2 : TARBABY
3 : WIZARD'S HIT
4 : KNIGHT'S HIT
5 : LAVASPLASH
6 : TELEPORT
7 : BIG BLOOD (have a look at .setbloodlevel !!!)
8 : BLOOD (the good old one!)
.sbl .setbloodlevel [number] sets the amount of bloodparticles spawned when using blood for explosions!
number can have a value between 0 and 255, just try it yourself!
.df .damagefilter [on/off] filters the red flash when getting hit when enabled!
.bf .blendfilter [on/off] filters the iteam pickup blend when enabled!
.dcp .dropclientpackets [number] this feature lets you drop less important client packets.
qwcl sends an info packet every frame to the server, so if you use the command cl_maxfps 72 the client tries to send 72 packets per second to the server, which tries to answere every client packet (this depends on the rate you are using!)! so a cl_maxfps of 72 causes much network traffic. this no problem when you are playing in a lan or have an internet connection greater than 128kbit/sec.

CAUTION: using this function produces fake lag and fake pings!

number tells the proxy which packets to drop:

0 or 1 disable this funktion (default!)-> 0% fake lag
2 drop every 2. client packet -> 50% fake lag
3 drop every 3. client packet -> 33% fake lag
4 drop every 4. client packet -> 25% fake lag
. . .
. . .
255 drop every 255. client packet -> 0.3% fake lag

because it's not easy to find the correct settings i have added the showpackets command, which will show you the network status and gives you the possibility to find out what commands like rate and cl_maxfps really do!

.sp .showpackets [on/off] when enabled this displays the actual network status in centerprinted form it shows you how many client packes per second and how many server packets per second are transmitted and when using .dropclientpackets how many packets are dropped by the proxy!
this funktion is very usefull for adjusting your rate, cl_maxfps and to configure the .dropclientpackets feature!

6.9 marking commands:

NOTE: all manipulations of marks will be saved automatically to the active locations file!

short long parameter What it will do...
.m .mark [name] marks an location, if no locations file exists it will create on called bspname.loc (example: dm6.loc). if called without a parameter it will show how many marks are set and the curren loc filename!
you can use the fontcommands described in the Easyfont section!
.sm .showmark   spawns a tarbaby at the nearest mark
.dm .delmark   delete the nearest mark
.udm .undodelmark   undo delmark, if you have deleted an mark by accident you can get
it back by using this funktion!
.rm .renamemark [name] give the nearest mark a new name
.ll .loadloc [filename] load a locations file (no suffix will be added!)
all following mark operations will be done to this file!

You can use the short form of the commands or the long one, there is no difference. Every Command starts with an '.' ! Commands with Parameters will report their Status when called without a Parameter.

7. The Messagecommands

%a Reports your current Armorvalue
%A Reports your current Armortype
%b Reports the Best Weapon you have depending on the Weapon Priority set with .swp in Weapon:Ammo style for example RL:10
%c Reports the number of cells you have
%d Reports your last dying Position, it remembers your last dying position without a time limit (requires a loc file - look at %l)
%e Reports number of enemies in your vicinity
%E Reports number of Enemies in your vicinity when you last died it remembers the number of Enemies members for 5 sec. if time is up it reports your current count of team members (like %e)
%f Reports the Location you are looking at, using this feature you can create messages like Attacking RA from GL. The location names and their locations are taken from the loc files so the result of this feature is mostly depending on your own created loc file ... just try it!
%g Reports the next respawning Powerups (15sec. bevor the Respawn and 3sec. after)
If no Powerup is Respawning or Powerup Report is blocked by fpd, it will
report 'Powerup'
%G Reports like %g but adds the location of the powerups
%h Reports your current Health
%i Reports the last took Item
%I Reports the last item that triggered the f_took alias!
%l Reports your current Location. You will need a 'mapname.loc' file in the directory of the proxy. (needs a loc file - look at %l, use .mark to generate loc files!)
%L Reports your last dying Position (for position lost messages ...), it remembers your last dying position for 5 sec. if time is up it reports your current location... (needs a loc file - look at %l)
%o Reports number of Team members in your vicinity
%O Reports number of Team members in your vicinity when you last died it remembers the number of Team members for 5 sec. if time is up it reports your current count of team members (like %o)
%p Reports the Powerup you or your Team members have. When u dont have a Powerupor u havent seen a Team Member with an Powerup it will report 'Quad/Ring?'
%q Reports the Powerup of the last seen Enemy/Enemies when no Enemy was seen having a Powerup it will report 'Powerup'
%r Reports the Rockets you have
%s Yeah this is a real highlight! It will automatically Report the current Position of all Team members which are using [NF]Proxy. The positions will just displayed on your screen, no other teammember will see it - very usefull in Teamplay
for further info on this message command have a look at the
.intellicom command.
%S is like %s but instead of the position of all teammates it displays their armor/health/bestweapon (best weapon depends on the weapon priority set by the player who reports it) of all teammates in your vicinity!
for further info on this message command have a look at the
.intellicom command.
%t combines %x and %y to 'Item/Player at Place'
%T combines %X and %Y to 'Item at Place'
%u this commands force a new textline in your chat message, the proxy will print your name at the beginning of the new line and prints the rest of the text, until it ends or the next %u/%U is found.
this way you are able to create easily messages going over up to 4 lines printed with one message!
because its treated as one line there is no problem with the nasty flood protection check!
%U this message command works like %u but it don't print your name at the beginning of a new line!
%v this will report the name of the player you are pointing at when you are not pointing at anyone it will report the nearest player to you if you are not pointing at anyone it will report the name of the nearest player (only teammate)!this funktion is disabled when pointing is disabled!
%w Reports the current Weapon
%W Reports the ammo of your current Weapon
%x Reports the Item you are pointing to or the nearest Objekt if none is pointed!
If Pointing is disabled on the server %x %y and %t are automatically switched to %X %Y %T
Red/Yellow/Green Armor, Quad, Pent, Ring, 100H, Pack and Players!
Players are reported with Powerups/Flags!!!
have a look at .reportlevel for (player)pointing configuration!
in deathmatchmode 1 it also reports weapons!
%X Reports the nearest Item to you : Red/Yellow/Green Armor, Quad, Pent, Ring, 100H, Pack
in deathmatchmode 1 it also reports weapons!
%y like %x but reports the Place of the Item/Player. If no Item is found it reports your position!  
%Y like %X but reports the Place of the Item. If no Item is found it reports your position!
%z reports what you currently need!
it checks your health, your armor, your best weapon (when its not available in the current map, the proxy checks for the next available best weapon). if you have your best weapon it checks how much ammo you have for it if its below the limit it will be reported! if you dont have your best weapon but its available in the current map it will report it!
if you need more than 2 things, it will report All!
if you dont need anything, it will report Nothing!
you can control this messagecommand using
.setneed
 

Examples of Message Commands:

say_team %h/%a%A/%b reports health/armorvalue+type/rockets to your team members
say_team %d lost reports last_dying_position lost example: RA lost
say_team %l secured reports actual_position secured example: RA secured
say_team Team %p reports Team actuel_powerup_of_team example: Team Quad/Ring
say_team Get %T reports Get Item at Place example: Get RA at RA/RL
say_team %s reports Reports the current positions of all [NF]Proxy using Team Members (they must have .intellicom enabled!)
say_team Need %z reports all you currently need : example: Need Armor/RL

Appendix

A.1 Aliases defined and used by [NF]Proxy

here is a list of all aliases used and called by [NF]Proxy:

alias f_team "say_team Team %p" //called from autoreport
alias f_enemy "say_team Enemy %q" //called from autoreport
alias f_death "say_team Died at %d E:%E T:%O" //called from deathtrigger
alias f_respawn "say_team Respawned at %l" //called from respawntrigger
alias f_took "say_team Took %i at %l" //called from tooktrigger

if you want to use own aliases, you can define them in the NFProxy.cfg file in your quake\id1
directory!

All Aliases will only be called in TeamPlay Modes > 0 and if a Teammember is in the game!!! so they only get called when needed!

A.2 f_queries supported by [NF]Proxy

if you type this in your console in messagemode 1 (normal chat) all connected [NF]Proxy will answere!

f_version : Version of the Proxy + Powerup Timer status
f_lagreport : How much lag is produced by the Proxy

A.3 fpd handling

With the servervariable fpd you will be able to prevent [NF]Proxy from using Features

2 : block powerup timers
4 : block soundtrigger messages
8 : report changes in lag settings (.dcp)
16 : block lag settings (.dcp)
32 : silence %e reportings
128 : turn real pointing into nearest object pointing ...
512 : disable color forcing features
1024 : block intelligent reporting funktions

Example: a fpd 1726 will block all functions!

Troubleshooting

Easy GameSpy Starter:

- be sure to use the ':' after your command line even when you don't pass parameters to (gl)qwcl
for example : NFProxy.exe -gqwcl.exe -bf:\quake -x -q :
- check that the gamespy.cfg and frontend.cfg in the quake/id1 dir are not writeprotected!
- don't use a batch file (expecially when using the -x commandline parameter!), you can write all parameters after the ':' or put them in the autoexec.cfg in your quake/id1 dir
- be sure to add .exe after the -g switch parameter so the exefile will be started and not a batch file with the same name!
for example : -gqwcl.exe or -gglqwcl.exe

GL Users:

- if you get a black screen on connecting [NF]Proxy from glqwcl.exe be sure to use the -q commandline parameter!

Linux Users:

- if you start [NF]Proxy using a telnet client and get a segmentation fault use the commandline parameter -q (i get this prob when i'm using the standart telnet from windows...)
i don't know why this happens, i'm using the standart curses lib! if anyone knows tell me please ...

Powerup Timers/Clock:

- if you can't see the poweruptimers or the clock try to position them using .sptl 14 0 32 this will set them to a 320*200 resolution position!
- if you can't see them using .sptl 14 0 32 check the scr_centertime setting, if it's set to 0 you can't see any centerprinted messages so set it to a value greater than 0, i prefer 3!

TeamFortress:

- if you get kicked for changing your skin when changing the class it's because the user infostring gets too long.
this happens when all userinfo variables of the client together exceeds 64 bytes! this could happen for example if you set the TeamFortress serverinfo variables EXEC_CLASS and CLASSHELP !!!
to avoid this you can let [NF]Proxy filter the w_switch and the b_switch variables with the command .filterswitches on i don't think they will be used in TeamFortress!

Misc:

- if you get the message "Outgoing message overflow" your config files are too big! you can avoid this by placing the command wait in the config files! if qw finds an wait command it sends the message packet and creates a new one with the following commands - so no overflow will hapen ...
- if you are jumping around disable the .fastrespawn feature, some mods put you in status dead even when you are not dead like TeamFortress when reloading a weapon, or Rocket Arena!

Disclaimer

I assume no responsibility for anything of any sort in any way, shape, or form, now, then, henceforeward, in this life (or the next several) for any screw-ups or even minor inconveniences this Proxy causes you, your family, your relatives, friends, ancestors, associates, employers, pets, neighbors, lovers, deities (major AND minor), nor any other person living, dead, or undead - that you have or will ever have any contact with in even the slightest form. This Proxy has been tested and tested ad infinitum, so it shouldn't mess with your computer or anything else remotely associated with it. But if it DOES, then too damn bad. Don't come cryin' to me. It must be something YOU did!

Copyright / Permissions / Contact

[NF]Proxy is Copyright 1998 Ralf Niebecker.
You MAY distribute [NF]Proxy, provided you include this file, with no modifications, in the internet without charging money for it.
If you wish to publish it you have to aks me first!

For contact write to:

Ralf Niebecker
Duemperstr. 16
44229 Dortmund
Germany

email: RALFN@ROCKETMAIL.COM
ICQ : 25115019

Quakeİ and QuakeWorldİ are registered trademarks of Id Software, Inc.