From QWiki

QuakeWorld proxy originally made by Id Software, adjusted by qqshka.

Current recommended proxy for finding lower ping connection to QuakeWorld servers. It is designed to be fully automatic, if properly used.

Using QWfwd

When using ezQuake client, here's what you'll have to do (taken from ezQuake page):

  1. Refresh the server browser. Either go to "Servers" tab and press [Space] or write sb_refresh into the console
  2. Four phases will commence: updating sources, pinging servers, getting infos and building ping tree
  3. After the last phase is done, "Ping tree has been created" will be printed in the console. You're ready to connect using proxies.
  4. To connect to given server using the best possible route open its info window (press Enter) and then press [x] key. To check what route will be used press [i] key - route will get printed into the console.
  5. Alternatively you can use the /connectbr command instead of /connect to always use the best available route while connecting.

Read more on ezQuake homepage.

Running QWfwd (server)

Any machine can run QWFwd. You can even run it on your machine, or your Raspberry Pi. It will only be used if it is placed on a low latency network, otherwise it won't be used at all. IF it is used, it will use only around 5kb/s of bandwidth per player and very little memory.
It is already included in nQuakesv.

If you want to run it, here are the instructions. Get the source code here and compile it.
After compiling, create a file with the name qwfwd.cfg and paste the following (you'll only have to change the hostname):

set hostname "---change_me---"         // specify a hostname
set net_port 30000                              // specify UDP listening port (default: 30000)
// set net_ip                                   // specify IP-address listen to (default: all IPs)
set sys_readstdin 0                             // allows qwfwd to run in background
// set developer                                // enabled developer (0=off, 1=enabled)
set masters master.quakeservers.net:27000 qwmaster.ocrana.de:27000 master.quakeworld.nu:27000 qwmaster.fodquake.net:27000            // specify a list of master servers
set masters_heartbeat 1                         // allow sending heartbeats to masters (0=off, 1=enabled)
set masters_query 1                             // query the master server list (0=off, 1=enabled)

Save it the file. Test it by executing qwfwd.bin , if everything looks ok, now you'll have to run QWfwd and keep it running. One option is to run it under screen:

screen -dmS qwfwd ./qwfwd.bin 

And it's done!