Difference between revisions of "QWfwd"

From QWiki
Line 4: Line 4:
 
== Using QWfwd ==
 
== Using QWfwd ==
 
<br />When using [[ezQuake]] client, here's what you'll have to do (taken from ezQuake page):<br />
 
<br />When using [[ezQuake]] client, here's what you'll have to do (taken from ezQuake page):<br />
# Make sure you have <code>sb_findroutes 1</code>. This will find the best route which enables you to get the best ping possible.
+
# Make sure you have <code>sb_findroutes 1</code> and <code>cl_useproxy 1</code> . This will find the best route which enables you to get the best ping possible.
 
# Refresh the server browser. Either go to "Servers" tab and press [Space] or write <code>/sb_refresh</code> into the console
 
# Refresh the server browser. Either go to "Servers" tab and press [Space] or write <code>/sb_refresh</code> into the console
 
# Four phases will commence: updating sources, pinging servers, getting infos and building ping tree
 
# Four phases will commence: updating sources, pinging servers, getting infos and building ping tree
Line 10: Line 10:
 
# 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.
 
# 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.
 
# Alternatively you can use the <code>/connectbr</code> command instead of <code>/connect</code> to always use the best available route while connecting.
 
# Alternatively you can use the <code>/connectbr</code> command instead of <code>/connect</code> to always use the best available route while connecting.
 +
# <code>/cl_proxyaddr</code> is where the selected proxy is set. By default this cvar is empty, but if it contains an address, it will connect to the destination server using the proxy defined here. If you're unwillingly using a proxy, just set this cvar to "". When connected to a server, you can check if you are using a proxy by typing <code>/f_server</code>: if it prints another address, usually using 30000 port, you are connected to a proxy.
 
<br />
 
<br />
 
[http://ezquake.sourceforge.net/docs/?best-ping-route-lookup Read more] on [[ezQuake]] homepage.
 
[http://ezquake.sourceforge.net/docs/?best-ping-route-lookup Read more] on [[ezQuake]] homepage.
 
<br />
 
<br />
 +
<br />
 +
[https://www.quakeworld.nu/blog/377/how-to-use-qwfwd-to-improve Here is a link] to [[Dirtbox]] blog with more information and examples.
  
 
== Running QWfwd (server) ==
 
== Running QWfwd (server) ==

Revision as of 15:35, 16 August 2024

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. Make sure you have sb_findroutes 1 and cl_useproxy 1 . This will find the best route which enables you to get the best ping possible.
  2. Refresh the server browser. Either go to "Servers" tab and press [Space] or write /sb_refresh into the console
  3. Four phases will commence: updating sources, pinging servers, getting infos and building ping tree
  4. After the last phase is done, "Ping tree has been created" will be printed in the console. You're ready to connect using proxies.
  5. 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.
  6. Alternatively you can use the /connectbr command instead of /connect to always use the best available route while connecting.
  7. /cl_proxyaddr is where the selected proxy is set. By default this cvar is empty, but if it contains an address, it will connect to the destination server using the proxy defined here. If you're unwillingly using a proxy, just set this cvar to "". When connected to a server, you can check if you are using a proxy by typing /f_server: if it prints another address, usually using 30000 port, you are connected to a proxy.


Read more on ezQuake homepage.

Here is a link to Dirtbox blog with more information and examples.

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!

Links