AminetAminet
Search:
84782 packages online
About
Recent
Browse
Search
Upload
Setup
Services

game/shoot/PAnalyzer.lha

Mirror:Random
Showing: ppc-morphos icongeneric icon
No screenshot available
Short:Ping analyzer for QuakeWorld
Author:SuRgEoN
Uploader:v2615a groenjord dk
Type:game/shoot
Version:0.2
Architecture:m68k-amigaos
Date:2000-08-28
Requires:ixemul.library v47+
Download:game/shoot/PAnalyzer.lha - View contents
Readme:game/shoot/PAnalyzer.readme
Downloads:794

Homepage: SuRgEoN's Quake1 Goodies http://users2.50megs.com/surgeon/quake/quakeworld/


Date: 24-AUG-00

I was missing some kind of ping analyzer to find optimal
pushlatency setting (movement prediction) on quakeworld
servers, so i wrote panalyzer, a small cli tool that can
read up to 60 floats from commandline, seperated by spaces.
The prog then finds the median and stores highest and lowest
value as range. Output: median [low-high]. The accompanying
scripts use qstat to generate pings, stores the values in
env variables and feeds them to panalyzer.

All you have to do is move PAnalyzer dir where you want it
and doubleclick the PAnalyzer icon. You will be prompted
with a string requester asking for the server, followed by
an interval requester (1-3 are suitable values).

The script will update the calculation for every 5 pings.
the median and range becomes reliable after the first 4
updates (panalyzer uses the past 20 pings for calculations).

Pushlatency determines how far ahead in time your quakeworld
client should predict player and object movement. It is
extremely important to set an ideal pushlatency in order to
minimize the effect of delay between you and the server.

Pushlatency should be set to the negative value of a position
somewhere between lower limit and median. If median is close
to lower limit, a suitable value would be the negative value
of the lower limit. If median is close to the center of the
range, it would make sense to choose a value equal to the
negative value of the median. Generally, pushlatency should
not exceed -250, because the quakeworld prediction will have
more errors, the further ahead it has to guess. A wrong guess
manifests as a sudden position-jump. You may miss a shot by
a large margin or run into an obstancle you thought you had
passed, because the server sends an update which differs
significantly from the prediction.

Example1: 44 [36-1044] would translate to a pushlatency of -36.
However such a large range indicates an  unstable connection
and you can expect occasional lockups with delay up to 1 second.

Example2: 92 [65-130]. Ideal connection with narrow range.
Pushlatency shoud be set to -90.

Example3: 166 [110-223]. This is a good connection with a
relatively narrow range. Pushlatency should be set to -160.

Example4: 285 [250-401]. Relatively good reliability.
A reasonable pushlatency value would be 200-250, depending
on your willingness to accept above mentioned position-jumps.

Tips when searching for good servers:

Narrow range, low median: very enjoyable, stable connection

Narrow range, high median: enjoyable, stable connection.

Wide range, median close to lower limit: mostly enjoyable, occasional lag.

Wide range, median close to middle: not enjoyable, unstable connection.


Have fun with this little tool!

-SuRgEoN
  

history:

v0.2:
Rewrote panalyzer to take a parameter -f for float output
and -i for integer output and up to 60 vaues. Now finds
median instead of mean. Data from pinging was generally not
normal-distributed, so mean could be far off, resulting in
too high estimates for pushlatency.

Changed calculation update interval from 1 to 5.

Added the info for using panalyzer as pushlatency guide.

v0.1 First release

future: make panalyser part of GameTracker, so that pushlatency
can be set automatically, ahead of connecting.


Contents of game/shoot/PAnalyzer.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                  679     849  80.0% -lh5- 2f18 Aug 25  2000 PAnalyzer.info
[generic]                  336    2864  11.7% -lh5- e76d Aug 24  2000 PAnalyzer/gendat_loop.rc
[generic]                  134     167  80.2% -lh5- dcc7 Aug 20  2000 PAnalyzer/gendat_pop.rc
[generic]                  257     765  33.6% -lh5- 5630 Aug 20  2000 PAnalyzer/PAnalyzer
[generic]                11568   29756  38.9% -lh5- b2eb Aug 24  2000 PAnalyzer/panalyzer.exe
[generic]                 1566    2476  63.2% -lh5- ecb2 Aug 24  2000 PAnalyzer/panalyzer.exe.info
[generic]                 1640    2748  59.7% -lh5- 0b48 Aug 20  2000 PAnalyzer/PAnalyzer.info
[generic]                 1696    3505  48.4% -lh5- 14a4 Aug 25  2000 PAnalyzer/PAnalyzer.readme
[generic]                 1823    2771  65.8% -lh5- 438c Aug 20  2000 PAnalyzer/PAnalyzer.readme.info
[generic]                29732   56256  52.9% -lh5- 139f Jun  2  2000 PAnalyzer/qstat
[generic]                 1569    2476  63.4% -lh5- 170c Aug 20  2000 PAnalyzer/qstat.info
[generic]                 1981    2840  69.8% -lh5- 9ec3 May 19  1997 PAnalyzer/RequestString
[generic]                 1569    2476  63.4% -lh5- 5285 Aug 20  2000 PAnalyzer/RequestString.info
[generic]                   24      24 100.0% -lh0- 2be0 Aug 20  2000 PAnalyzer/templ/panalyzer
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        14 files   54574  109973  49.6%            Aug 28  2000
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>