Difference between revisions of "QWfwd"

From QWiki
*>Mushi
m
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
QuakeWorld proxy originally made by Id Software, adjusted by [[qqshka]].
 
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'''. <br /><br />When using [[ezQuake]] client, here's what you'll have to do (taken from ezQuake page):<br />
+
'''This is the recommended proxy for finding lower ping connection to QuakeWorld servers. It is designed to be fully automatic, if properly used'''. <br /><br />
# Refresh the server browser. Either go to "Servers" tab and press [Space] or write sb_refresh into the console
+
See the following image for an explanation how proxies work.<br />
 +
[[File:Qwfwd proxy.drawio.png|frameless]]
 +
<br />
 +
Unlike [[Qizmo]] proxy, you don't directly connect to a qwfwd proxy. You connect to it (automatically) when connecting to a destination (mvdsv) server, by setting the proxy(s) ip:port to <code>/cl_proxyaddr</code> cvar. See below for details.
 +
 
 +
== Using QWfwd ==
 +
<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> 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
 
# 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
# After the last phase is done, "Ping tree has been created" will be printed in the console.
+
# After the last phase is done, "Ping tree has been created" will be printed in the console. You're ready to connect using proxies.
 
# 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 connectbr command instead of connect 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 empty (""). 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.
 +
# Multiple proxies can be chained in <code>/cl_proxyaddr</code>, separated by <code>@</code> character. The server browser sometimes does this, and you can remove one/all of them.
 
<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 ==
+
== Running QWfwd (server) ==
Any machine can run QWFwd. It is already included in [[nQuakesv]]. <br />
+
QWfwd should be installed on machines with good internet connection. That is, stable network and good routing.
 +
{{Quote|text=it's funky like that, might be worth it to set up a different proxy in close proximity just to get on a different internet super highway.|sign=[[Ake_vader]]|source=''discord.quake.world''}}
 +
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. <br />
 +
It is already included in [[nQuakesv]]. <br />
 
<br />
 
<br />
If you want to run it, here are the instructions. Get the source code [https://github.com/jite/qwfwd here] <br /> and compile it.
+
If you want to run it, here are the instructions. Get the source code [https://github.com/jite/qwfwd here] and compile it. <br>
After compiling, rename ''EXAMPLE_qwfwd.cfg '' to ''qwfwd.cfg'' and edit this file. Set the variables to your taste. An example config:
+
After compiling, create a file with the name ''qwfwd.cfg'' and paste the following (you'll only have to change the hostname):
<pre>set hostname "____change_me______"        // specify a hostname
+
<pre>set hostname "---change_me---"        // specify a hostname
 
set net_port 30000                              // specify UDP listening port (default: 30000)
 
set net_port 30000                              // specify UDP listening port (default: 30000)
 
// set net_ip                                  // specify IP-address listen to (default: all IPs)
 
// set net_ip                                  // specify IP-address listen to (default: all IPs)
Line 25: Line 40:
 
set masters_query 1                            // query the master server list (0=off, 1=enabled)</pre>
 
set masters_query 1                            // query the master server list (0=off, 1=enabled)</pre>
  
Note the uncommented "master" lines and the servers in ''set masters''.
+
<br>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'':
<br>Save it and run it.
+
<pre>screen -dmS qwfwd ./qwfwd.bin </pre>  
One option to run it is running under screen:
+
And it's done!
<pre>screen -dmS qwfwd ./qwfwd.bin </pre>
+
 
 
== Links ==
 
== Links ==
 
* [https://mega.co.nz/#!S8RliDga!LTznxkiWja-qOcTfsteagpiK-oA3gsrL7JhJqmtC-hM Raspberry pi binary download]
 
* [https://mega.co.nz/#!S8RliDga!LTznxkiWja-qOcTfsteagpiK-oA3gsrL7JhJqmtC-hM Raspberry pi binary download]
 
* QWfwd proxies in the world: http://www.quakeservers.net/quakeworld/servers/t=proxy/
 
* QWfwd proxies in the world: http://www.quakeservers.net/quakeworld/servers/t=proxy/
 +
* [[Dirtbox]] [http://www.quakeworld.nu/blog/377/how-to-use-qwfwd-to-improve blog entry regarding QWfwd]
 
* Homepage: https://github.com/qwassoc/qwfwd
 
* Homepage: https://github.com/qwassoc/qwfwd
 +
* [https://youtu.be/q7nGO2026wY?si=gar1KLHefC3lDH3P video using qwfwd in ezQuake]
 +
  
 
[[Category: proxies]]
 
[[Category: proxies]]
 +
[[Category:Tools]]

Latest revision as of 14:18, 17 October 2024

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

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

See the following image for an explanation how proxies work.
Qwfwd proxy.drawio.png
Unlike Qizmo proxy, you don't directly connect to a qwfwd proxy. You connect to it (automatically) when connecting to a destination (mvdsv) server, by setting the proxy(s) ip:port to /cl_proxyaddr cvar. See below for details.

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 empty (""). 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.
  8. Multiple proxies can be chained in /cl_proxyaddr, separated by @ character. The server browser sometimes does this, and you can remove one/all of them.


Read more on ezQuake homepage.

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

Running QWfwd (server)

QWfwd should be installed on machines with good internet connection. That is, stable network and good routing.

it's funky like that, might be worth it to set up a different proxy in close proximity just to get on a different internet super highway.

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