Setting up a Proxy (QIZMO)

1. Proxies?
2. Qizmo Proxy and its features
3. Setting up a Qizmo
4. Nice files for Qizmo
5. How to work with Qizmo
6. Teamplay messages

 

1. Proxies?

Many Americans still consider the use of proxies as cheating whereas we, the Europeas, consider it cheating to not use a proxy because quake can be modified easily which gives a great advantage over the fair players. By using a proxy it can be checked if someone's cheating or if (s)he's not. Proxies give you a great advantage in teamplay for example because of their teamplay features they have. There are 3 different proxies i know of (probably there are more) as there is
Qizmo, Cheapo and NF/Nitro/Nitro2. I can't say which one is best, everyone has to decide that for himself, but i strongly recommend to use Qizmo. Cheapo's source code was released about 2 months ago so it opens new ways of cheating and Nitro also has some features which can be considered as cheating. For example, Nitro can automatically report what item you've picked up or in some version it even can time powerups for you and you see how many minutes/seconds you've to wait until Pent/Ring/Quad spawn again. All proxies have a "cheat" check. When this command is typed (f_modified) the proxies check the models of the player and look if they're changed. If so, it will report to the whole server that there's a cheating dude around :) If the proxy reports "ALL OK" or "Nothing" you've successfully passed the test and you're obviously no cheater. Not all proxies test the same models though. For example, Nitro2 doesn't check some meshes which still can be changed and no one would notice. Qizmo simply checks all models (i guess :). Even when you use idgamma, Qizmo reports that you've a changed palette. You can easily bright up your QuakeWorld without using idgamma, when you use Qizmo. I'll come back to this later. First i hope, you're interested in using Qizmo now and not some other kind of cheating proxy or just play on with no proxy =) If so, read on...


2. Qizmo Proxy and its features

Qizmo has so many features that it's nearly impossible to mention them all (sounds like a TV commercial huh?). By far the most important IMHO is, that Qizmo makes your teamplay a lot easier and you save a lot of keys for bindings you needed before for locations. I've seen .cfgs that were about 10KB just for the teamessages. With Qizmo you can directly say what you need or where you are. You just need one bind to say "bla safe" and Qizmo directly inserts the "bla" by itself :)

Qizmo also has FPS settings in which you can let Qizmo change the rocket model into a grenade model or change the look of explosions. You don't need to change any models in Quake and it's no cheating in that way.

Some other nice features are for example that you can make a Qizmo public and use its compression feature, can use it as a specproxy or its server browser is also a class of its own. For example, you can connect to a Qizmo in your town which is connected with a ph4t T3 line and from there you can connect on to the actual server. That gives you a better routing and you can also use Qizmo's compression. You can use higher rates than usual and it often decreased your ping/lag. If some other players are on the public Qizmo you can also observe them if you want. And that's soooo damn nice. Theoretically, an endless amount of players could spec one game. On Rapture 99 for example, i connected to an Public Qizmo and observed a spectator in that game. If i made my Qizmo also public even more players could have observed the game via me. And so on...

You see, Qizmo gives you lotsa possibilites for just getting more out of your QW client not only teamplay stuff like the other proxies do. I'll go in more detail for most of these possibilities later, but first let's set up a Qizmo for you.



3. Setting up a Qizmo

That's really not the hardest part =) First, you need to download Qizmo of course. Grab the latest version for Win9x/NT
here. If you need a 'special' version (Linux or some other OS..) go to the Qizmo site and try if you find a version for that. After you've downloaded Qizmo unzip it to \quake\qizmo. Now search for the file "menu.cfg" in your Qizmo folder and copy it to your \quake\qw folder so it can be executed and you can browse through Qizmo's menus.

Now let's just test Qizmo if it works (it should :). You need
QuakeWorld 2.3 or 2.33 (i prefer 2.30) to run it properly. To run Qizmo go to your Windows commandline and start Qizmo that way:
Folderofqizmo\qizmo.exe folderofqw\glqwcl.exe
Example:
c:\games\quake\qizmo\qizmo.exe c:\games\quake\glqwcl.exe

Now Qizmo should start and also start QW and directly connect to that Qizmo. If Qizmo direct shutdowns again, you don't have the correct Quakeworld version or your standard port (27500) is in use by something else (Qw server maybe?).

If Qizmo+QW started you've successfully set it up, if it doesn't work as it should be, download Quakeworld again and restart your comp and try again....
When you got Qizmo working then, type "exec menu.cfg" at console and browse with the arrow keys through the menu and check what kinda stuff you can do.

Check the server browser, the FPS stuff and connect to a server. Type "f_modified" at console and your Qizmo should respond with "Nothing blabla" if you're no cheater :)
Then quit Qizmo+QW and read on, because there's lots of stuff to do if you want to use Qizmo for teamplay things and other stuff. It might be a nice time to read the manual too btw, most things are explained pretty well :)


4. Nice files for Qizmo

Here i have listed some nice files (which i like to use) with Qizmo and improve the game and also make QW more fun. Some might say the use of these files are cheating but everyone should decide for himself.

gfx.wad
"special skin"
fullbright skins
locs

I'm sure you might want to know what these files do and how to use them ;)

The gfx.wad has to be put into the Quake and quake\qw folder (one is surely enough, but i don't know which one so put it in both :). It gives you an alternative crosshair (crosshair 1) and adds very nice LEDs to your gfx. These leds are very useful in teamplay, like a green led makes clear that something is safe while a red led reports danger or a lost location. Example:



You also can use blue and yellow leds but you can imagine what they look like so i won't show them :) I highly recommend the LEDs for the use in teamplay because they make messages a lot easier to read/understand.


The so called "special skin" is really a nice thing. Put it into the quake\qw\skins folder. In Qizmo you use skin override to its filename and you can also select its color. The cool thing about that skin is that the color becomes full bright. You can do fullbright skins in any color you want. Just try around with them.

I use the fullbright skins though. A Red skin for enemy and a white skin for teammates. These skins make it so much easier to see players on dark maps like dm2 or just make it easy to see if its a teammember or an enemy. If you play software (mipcap 3...) there's actually no way around fullbright skins if you want to see something :)

The locs. Well, you definately need locs. They tell Qizmo what a location is called. Without locs, Qizmo's teamplay features become useless. So why not use mine ? :) You can change them anyway but for first they should be enough. Download them and extrat them into your qizmo folder. Start Qizmo, exec the menu.cfg and browse through the "misc" and "admin menu" and tell qizmo the loc files directory. The save the admin file and quit Qizmo again.


5. How to work with Qizmo

I can't really make you do things with Qizmo because you should do it your own way, in which you like it best. I'd start by opening the "menu.cfg" and cut out all things and paste it into your .cfgs. Change the keys to keys you'd like to browse Qizmo with. When you start Qizmo you can exec your real .cfg and still can browse through the menus. So do it! :)

Now you should make your own Qizmo settings and save them. You want to use fb skins or colorforce ? OK, browse to "teamplay options" and do what you like. When you want a skinoverride you've to enter the skins' name and when you want colorforce you've to enter the number (4/2 for example). Or just do a star (*) if you want nothing. You can use skin and colorforce, but you won't notice the color usually. You just see the players' colors in the scoreboard but in game they still wear your selected skin. The color only affects the skin when you use the special skin i've mentioned above.

Other nice things are the fps settings. Go there dammit :) And select what style of explosion etc you'd like to have. It's all pretty self-explanary so just test around and see what you like best. If you've done all your Qizmo settings go to config manager and save the file. Note: It saves the file with your player's name ! When you play with another name it won't be able to load this file.

Now go 'n get a server and play...Go to "server browser" and go to the sources list. Then select some master servers or add your own favourites and update them. Ping them, browse left to the server list and join a server. It's really easy and the pings are more serious than Gamespy's are.

Last thing i'll explain will be compression. With Qizmo you can connect to another Qizmo, higher your rate to 9999 and compress the in and outgoing packets. That can prevent you from getting Packet Loss, can lower your ping, or just makes you able to use a higher rate. You first need to know an IP of a public Server which is situated close to you or close to the server. (John set up a Qizmo dude :). I could only give you German or UK Qizmos but that won't improve your ping :) type ".connect 195.185.185.57" (note the DOT). You can also go to server browser and connect from there. You should connect to another Qizmo then (a German one). Higher your rate to 9999 and go to "data compression" and do that:



Then you browse back to your own proxy by leaving these compression options and selecting "previous Qizmo". Then you're on your own Qizmo again. You go to data compression again and select that:



Now your data is being compressed heh. Now connect to a server. Important: Of course you've to connect from the outside Qizmo, so click on "next qizmo" and go to its server browser and connect somewhere.

It's very important that you get a very good connection to the Qizmo that you connect to. Example: When you're on modem and your ISP has set up a Qizmo and they 0wn a fat T3 line with a superb connection to everywhere you'll get a nice ping. Let's say you get ping 100 to your ISP and the ISP gets ping 20 from L.A. to N.Y. (or something) then you'll have ping 120 although you're playing on a server on the other coast. If you own a fat line (cable, ADSL or other crap) yourself then you first should connect to the server yourself and check the ping. It sometimes can get better just because the routing is a lot better with the Qizmo.
A tip for pl having cable users: Send each packet twice or even three times ! You got the bandwidth for doing that and it will definately lower your PL. This option shouldn't be used by poor modem/isdn guys because our bandwidth is not enough :(
Try to find a good public Qizmo and test around :)

 

6. Teamplay messages

That's one of the best things that Qizmo can do and it's the most helpful in teamplay. Once played with teammessages by a proxy you will never want to play a teamgame without them again, believe me :) Actually they're  easy to do. There are commands that the proxy converts into something senseful. When you play with Qizmo and just type
%l you won't say %l but your location you're standing at the moment. Put it in messagemode2 and you can always report what location you're at. Got it ? Not that hard :) Now add a "safe" after the %l and you can report if something is safe. It'll be even easier when i show you my teambinds.

alias f_report "say_team $\sim %a/%h/%b %p @ $[%l$]"
bind "backspace" "f_report"
bind "pgup" "impulse 2"
bind "pgdn" "say_team $\$x87$x87$x87 enemy %q $x87$x87$x87"
bind del "say_team $\sim $x86$x86 safe -$c $[%l$] %b %a/%h %p"
bind enter "say_team $\sim $x89$x89 $[%x$] -$c $[%y$]"
bind end "say_team $\sim $x87$x87 help -$c $[%l$]"
bind home "say_team $\sim $x86$x86 ok - %l"
bind ins "say_team $\sim $x86$x86 negative"
bind f3 "say_team $\sim quad ladder"
bind f4 "say_team $\sim $x88$x88 nmy through tele"
bind f10 "say_team $\sim $x86$x86 quad killed $x86$x86"
bind f11 "say_team $\$x89$x89 get quad $x89$x89"
bind f1 "f_death"
bind [ "say_team $\sim $x89$x89 going for quad from %l $x89$x89"
alias f_death "say_team $\sim $x87$x87 lost $[%d$]"
alias f_team "say_team $\$x86$x86 sim has %p at $[%l$] $x86$x86"
bind ' "say_team $\sim $x88$x88 you take (%l)"
bind ] "say_team $\$x86$x86 check pent/eyes $x86$x86"
bind \ "f_team"
alias f_took "say_team $\sim $x89$x89 took $[%i$]"
bind shift "f_took"


Yeah i know it looks complicated on the first look :) But i'll go step by step and explain what they mean.

alias f_report "say_team $\sim %a/%h/%b %p @ $[%l$]"
bind "backspace" "f_report"
These two lines belong together. The first line is an alias and gives a special name to that line. In the 2nd line it is bound to a key, backspace in my case. This command is to report your status, like best weapon, armor, health and powerups. It looks like this:
quake16.jpg (16633 Byte)

The shortname is to show who sent the message. Of course you can use the full name, with clan tag but this will make the message longer and maybe make it take 2 lines. As you see i play Software in 320*200 and messages should be as short as possible to be viewable perfectly. When you make a message put a "$\" into it and it will hide your name. Just add two-four letters of your name so that all teammembers know where the message comes from. For example, when you're clan name is [ABC]·DarthVader make it "say team $\vad" and you only see "Vad" as the name of the dude who messaged.

The next commands are just to show the armor, health and best weapon you have, nothing to say about. %p shows the powerups your currently have, nothing special either. $[%l$] This might look hard/strange but it's actually just the location with brackets around. You can use a namemaker for doing those brackets and other special things.
Note: You need locs for reporting your location. Go to nice files and download them if you didn't do so already.

Ok let's see what's the next teammessage is about:
bind "pgdn" "say_team $\$x87$x87$x87 enemy %q $x87$x87$x87"
It reports the powerup of the enemy you've seen. That's all it does :) Your name is hidden again, because it doesn't matter at all who has seen an enemy with a powerup. The $x87 adds red leds to the message so everyone knows that it's something bad. It will look like this: nmy.jpg (1378 Byte) If you see an enemy with a powerup it adds ring, quad or pent after "enemy".

The leds are important i think and i use them in most of my messages. What command gives what led ? Here you see:
$x86 = gled.jpg (692 Byte)
$x87
= rled.jpg (723 Byte)
$x88 = yled.jpg (719 Byte)
$x89 = bled.jpg (691 Byte)

I think it's best to use red led for reporting lost locations and asking for help. Green is nice for reporting secured locations and blue is fine to report items, like saved packs/weapons/armors.
Note: You need the gfx.wad to see or say the leds ! If you didn't download it already, do it now.

Ok up to the next message.

bind del "say_team $\sim $x86$x86 safe -$c $[%l$] %b %a/%h %p"
It reports the location you are at as being secured. It's also an important message IMHO. It also adds your status after that. Here's what it looks like:
safe.jpg (15667 Byte)

Of course you don't need the brackets around the location, neither you need the arrow, but i just think it makes it easier to read so i use them. The next one.

bind enter "say_team $\sim $x89$x89 $[%x$] -$c $[%y$]"
This reports the item you're pointing at and its location to your teammembers. You can point Weapons, armors, backpacks and ammo.

point.jpg (16624 Byte)

All your teammembers know that RA is available at RA-Top now. STOP, you say? Why does it say XXX at YYY instead of RA at RA-Top then ? It's a kind of cheating protection by Qizmo. Other proxies like Cheapo and Nitro would report RA at RA but you can also point enemies then. You could point enemy behind walls or point pent from RL, which is cheating IMHO. You're the only one who can't see what you're pointing at, all other teammates do see.

The following messages are very easy so i will skip them. The next one i want to explain is
alias f_death "say_team $\sim $x87$x87 lost $[%d$]"
After you died you can press the button you've bound to your f_death key and it will report that your last dieing position is lost.
lost.jpg (1496 Byte)


Now the last teambind i want to explain.
alias f_took "say_team $\sim $x89$x89 took $[%i$]"
bind shift "f_took"
They again belong together and they report your last taken item and the location you've taken it. Look:
took.jpg (12787 Byte)




Of course, there are 1000s of possibilities how to do your teammessages and after you've figured out how to do them, it's quite easy. For the start you could just take mine, change the keys and change your shortcut name but i'm sure you'll change them sooner or later because you've better ideas.

That's it for now,  have fun using Qizmo and if you have any question regarding Qizmo, drop me a and i will try to help you.
-Andy aka Simplybag

Article amendments made 03 sept 2000:

I have been receiving some emails asking different questions about things i forgot to mention last time. I will post the questions i've been asked and the best possible answer i was able to give.

Q: How can i make Qizmo automatically report items/powerups i took?

A: You can't. Qizmo authors considered the tooktrigger and autoreport cheating because it isn't done by the player himself. You need to have a key bound to say what item/powerup you took and press it manually everytime you want your teammates to know what you got.


Q: When doing f_modified my Qizmo answers that i have a changed palette.lmp and a few other .pal models.

A: You probably use idgamma which changes some models. You  can avoid using idgamma by using the "gamma" and ".gamma" command. If you use idgamma, delete/rename its .pak file(s) from your quake\id1 folder and start Qizmo+QW. Probably it will be too dark for playing now, otherwise you wouldn't have used idgamma. If you play GLQW type ".gamma .5" at console. If you play software QW try "gamma .5". QW should be brighter now, if it isn't bright enough decrease the gamme until you find a gamma that you like best.
In software quake it really isn't a problem to make it bright enough but in gl quake the gamma command fails for some players. You can try
Powerstrip, which helps in most cases. 


Q: How can i increase the amount of blood for the explosion style "blood"?

A: You can't. The players you probably have seen in demos who used qizmo and had bigblood explosion style used cheapo/nitro2 and Qizmo together. You can do this as well of course but i remind you that this combination is not allowed when you play smackdown games.


Q: What are .qwz files?

A: .qwz files are compressed demos by qizmo. They're about 3 times smaller than a zipped .qwd demo and about 10 times smaller than the normal .qwd demo. These demos can only be played by qizmo (use qizmo's demo player). Compressing .qwds is very easy as well. Just copy the demos you would like to be compressed into your qizmo folder and start qizmo this way:
qizmo.exe -C *.qwd
Note the capital C :) Then it will start compressing all your .qwd demos in the qizmo folder. Qwz demo have some information cut out, for example it's not possible to change player POV when you watch a qwz demo.
I've heard from some Win2k users that this doesn't work for them. So if this doesn't work its most likely your win2k which doesnt work. Mine doesnt have any problems with compressing demos though.


Q: When i check f_speed on server, i report with a value above 100% but i'm really not cheating. What's the matter with it?


A: This happens due to the so called "uptime bug". When you're computer has been running for a long time (like 2 days) you will be able to move faster and get more frames as well. This feels a lot smoother then :) You can do two things to get your speed below 100% again.

a.) use Quakeworld 2.33
b.) restart your computer

As you might have thought already, this bug only appears in QW 2.30 (and earlier versions but who cares? :).
If you use Qw 2.33 this problem should be solved but it can happen that your value is still a bit over 100%, like 100.01 or 100.02. You can do f_system then, to prove that you use QW 2.33 and this isnt the uptime nor a cheat.



Ok these are the questions i've been asked so far. Now i'll just show some new things i forgot to show you last time.


Watching demos with others

Yes it's possible and it's really easy as well. The one who has the demo starts up his qizmo, goes to the admin menu and chooses "public: yes" as shown on the pic:
public.jpg (20633 Byte)

Now you give your Qizmo ip+port (get your IP from "/dns yourname" on irc for example)  to your friend and let him connect to your own qizmo. When he's connected you simply select the demo from the demo player menu and play it. The demo will appear in the "client list" which your friend has to go to and simply observe the demo which is running.

demo.jpg (17305 Byte)

That's it already. He will join you watching the demo and you can talk to him etc. This option might be interesting for a clan that watches a demo to analyze the teamplay and directly disuss it.


The Server Browser (Thx to Tekai)

Qizmo's Server Browser is a nice and easy to use tool. I guess you found out how to use it with the master servers which came with the program. You can create your own kind of 'masterserver' in which you only put your favourite servers in. That prevents you from checking other master lists which mostly consist of empty or bad servers.

Create a textfile in your qizmo Dir and put there all your ips you'd like to have there. It will look like this then:

130.227.3.115:28202
194.88.93.4:27701
194.88.93.4:27702
194.88.93.8:27541
194.88.93.8:27542
194.88.93.8:27543
194.88.93.8:27544
194.88.93.8:27545
194.88.93.23:27521
194.88.93.23:27522
194.88.93.23:27523
194.109.6.217:27500
194.134.0.61:27500
194.134.0.61:27501
194.134.0.63:27500
194.134.0.63:27777
195.30.185.91:27500
195.147.246.71:27500
195.185.185.57:27500
216.59.40.75:27123
216.59.40.75:27500
216.59.40.75:27888

Then open sources.txt and add this line at the end:
file "how_you_want_your_own_master_to_be_called" filename.bla 3 pass

Just change the filename.bla and the name in quotes. Leave the 3 and pass as it is.

When you now start Qizmo, at the end of the sources list your own master should appear. Select it and all these IPs will be checked when you ping this source. 

browser.jpg (21522 Byte)

Weapon scrips (thx to 123)

You can do some interesting best weapon scripts with Qizmo which saved me about 4kb aliasing. You create new aliases which can be used like impulse 1/2/3/4/5/6/7/8 firing the best weapon you have. You can also rebind your impulses as i've done it.

say     ".weapon 8 24358"
say     ".weapon 7 24357"
say     ".weapon 6 24356"


It's quite easy to understand, ".weapon x" is the impulse which you bind it to. I take the standard ones but you can take any impulse numbers between 1 and 255. But be careful, some impulses are bound to something serverwise! If you have bound something to impulse 20, you can't type ready on some servers because impulse 20=ready. Instead of ready'ing up, you will change your weapon.

After the impulse number you set your weapon impulses. The last number is the weapon with the highest priority, it will be chosen when you have this weapon. The first number is the impulse with the lowest priority, this weapon will be chosen if you don't have any other weapon which is set a higher priority to.

Like you see, i didn't change much. Impulse 8 is still the shaft and impulse 7 the RL. I just added the other impulses as well because i select the Supernailgun instead of the Shotgun if i don't have RL (but having the SNG of course :).

Note: You don't have to put all impulses into a rebound impulse. Only impulses that you put in there will be selected.

With these new stuff you can do nice quick weapon binds.

alias +shaft "impulse 8;+attack"
alias -shaft "-attack"
bind mouse3 "+shaft"

This bind works like you are used to with the little difference that it will shoot other weapons if you don't have the shaft. It's more like a "non explosion weapon" script. I think it isn't too hard to understand.

You can also create a boomstickscript with Qizmo weapon  impulses. For those, who don't know what boomstickscrips are, i will explain it quickly. Boomstickscripts are basically weapon scripts that change your weapon back the axe or shotgun everytime you shoot a better weapon (rl, shaft etc). It will prevent the enemy from getting the RL, except in direct fights when the RL is fired. Players with boomstick scripts never run around with the RL so pointing a pack is pointless if you didnt see the player shooting it. A boomstickscript looks like this:

alias +rl "impulse 7;+attack"
alias -rl "-attack;
impulse 2"
bind mouse1 "+rl"


The impulse 2 after the -attack command makes it change back to the shotgun after the RL has been shot. You can rebind the impulse 2 command as well, so it changes back to the axe if you dont have enough shells for selecting the shotgun:
say     ".weapon 2 12"

There's not really a difference between switching back to axe and sg. But when you switch back to axe, it can be seen as it changes your player model. Players like i will call you a fucking axescriptlamer then. Sometimes when pl comes into the game it hits the axe or shoots the shotgun instead of changing back to RL and shoot it (i will laugh at you and your gay boomstick script then).


Personally, i dont use a boomstickscript. In fact, i hate them. I don't want to make you use a boomstickscript, i'd be happy if more didnt use them. I just wanted to inform you about them, in case you didn't know what they are.



Creating own locs

It's easy to do, but can be hard for if you want to "loc" more maps because it really needs some works to do them properly. You not only have to go into every 'room' or 'location' of a map but also loc every corner, so it doesnt report a wrong location during the game.
Start a local QW server and your client (with qizmo of course) and connect to it. Choose the map you would like to create locs for. Go to "teamplay options -> loc" using the menu. Now you can click "mark currect location" at every position you are. It will save its coordinates and names of the location to a loc file using the same name like the map (bsp).
loc1.jpg (20086 Byte)

That's it already. You just go around the map and give every location a name. Remember to give names that are easy to understand. If you give names like RA1, RA2, RL1, RL2 no one who's not in your clan will know what you mean. Make them really easy to understand, even for players in pickup games. And definetaly don't use any names twice :) And there are locations that are hard to mark. If there's a weapon or armor, it's easy. But you have to think about names that make sense to everyone, for locations without any significant sign.