/----------------------------------------------------------------------------\ | | | MeTAproxy v0.2 by Sbj (sbj@mit.edu: James W. Clark) 5/23/97 | | | | Miscellaneous linux quake proxy | | | | | | THIS IS A PRELIMINARY RELEASE, THERE ARE SOME BUGS IN IT | | also: the source is not freely available | | | \----------------------------------------------------------------------------/ This was mainly an experiment in UDP proxying, and turned out to be somewhat neat. It's a proxy that has the following features: * Multiple quake clients can watch a single player in any net game. * Player can see tracking information as he aims, which tells him where the nearest enemy (or the enemy flag carrier) is. Tracking can also be done aurally, with little pings that get faster as you get neare the prey. * Two clients can control seperate aspects of the player's gameplay: - motion control: client affects the players movement and jumping - attack control: client affects the players aim, firing, and impulses -------------- COMMAND LINE ARGUMENTS The executable is called quux. Why not. So you do quux -blah, where blah is one of: -port This tells the MeTAproxy to wait on the specified port INSTEAD of 26000. -one This sets the proxy in a special mode -- a good mode for people who aren't really running the proxy for the motion/attack control aspects and whatnot. Here's how it works: the first client to connect is the assumed master. Proxy changes its name to that guy, and only he can issue most proxy commands. Control is given to him and cannot be released. Other clients can connect and observe, but they cannot take control. Its good for when you want to just use the tracking feature. -ctf This causes the proxy to watch for server messages like "Foo GOT the BLUE flag!\n" and stuff. It keeps track of who is in possession of the flags, and you can then track the enemy flag carrier. Really handy for when he/she is hiding somewhere. -debug -status -dump -parse The other arguments are just for debugging so they're probably not too useful unless you're me. ------------- IN THE GAME Here are the impulses that bring up the menu. Impulses: 128 - left 129 - up 130 - down 131 - right There are three display modes. (A) Tracking/Nothing (B) Control menu (C) Client list It's not to hard to figure out when you're there. -------------- MOTION CONTROL If you have motion control and you choose it, it releases motion control. If no one has motion control, the bot moves in circles. You cannot take motion control unless no one currently has it. -------------- ATTACK CONTROL works the same as motion control If you don't have attack control, then the weapon model is not drawn (of course if you're not in fov 90 then it isn't drawn anyway) -------------- TRACKING tracks either: * Nobody - if tracking is off, no tracking info is displayed * Nearest player - self-explanatory * Nearest enemy - by pants color * Specific players - selectable by hitting left/right on the Tracking: part of the menu You must be in the normal (menu-less) display mode to see the tracking information. It looks like: foo 4 <<--(34) up (3) Where foo is the player's name, 4 is the distance, 34 is the angle to the left which you must turn to center yourself on him, and 3 is the angle upwards. -------------- PROXY COMMANDS You can send the proxy some limited commands by saying "!command" For instance: ]say !disconnect - causes the proxy to disconnect from the server ]say !color 12 13 - changes the proxy player's color ]say !name foo - changes the proxy's name to MeTA(foo) ]say !connect - when not connected, connects to a server ]say !shutdown - disconnects, closes all client connections, and quits the proxy. Same as pressing ^C at the proxy's terminal. ps: This program is the intellectual property of James W. Clark It may be distributed only unmodified and only if this README file is included.