Code: Select all
*****************************************************************
** JEDI KNIGHT: Jedi Outcast && Jedi Academy **
*****************************************************************
#-----------------------------------------------------------#
# TITLE : q3server Port Scanner #
# TYPE : Server Utility #
# VERSION : 0.1 #
# AUTHOR : Gamall Wednesday Ida #
# E-MAIL : gamall.ida@gmail.com #
# WEBSITE : http://gamall-ida.com #
# #
# FILENAME : q3PortScanner.exe #
# FILESIZE : < 400 Ko #
# RELEASE DATE : June 2007 #
#-----------------------------------------------------------#
+ DESCRIPTION
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o +
This simple command-line program scans ports or ranges of ports
of a physical server and detects JK3 or JK2 servers running on
it (in fact any server based on a quake3 engine) even if they
are not listed by the master servers. It generates a text file
with the complete status response of each detected server, and
a little summary with the total capacity of all servers, and
the total number of players connected to the server at the time
of the scan.
This tool can be useful to people hosting several JK servers on
the same dedicated server (which I do): It can be used to get a
quick overview of the load on the dedicated server, debunk
ghost servers (when you try to host several servers on the same
port N and, instead of throwing an exception like any decent
program would, they just sit silently on port N+1...)
Since it doesn't need any kind of administrator access to the
target server, it can also be used by clients of hosting
companies specialized in JK, to monitor the load of the server
they are on. Etc.
+ HOW DO I USE THAT THING ?
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o +
First-off, this is a command-line utility, so either use it
from the DOS prompt, through a shortcut, or, better still, in a
batch... You know the drill. If you don't, the time is ripe to
Gooooogle ;-)
Now, let us see the syntax:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
q3scan ip <X.X.X.X> +p <ports to scan>
[-p <ports to avoid>]
[+app]
[-popup]
[+terminate]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The ports to scan or avoid are of the form X,Y,Z-T,V-W... ,
which means ports X and Y and all ports between Z and T and all
ports between V and W. +app causes the report to be added at
the end of the report file instead of replacing all previous
contents of the file. -popup prevents the report from being
displayed when the program terminates. +terminate deters the
program from waiting for the user to press a key before
exiting. Here are some real examples:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
q3PortScanner.exe ip 213.251.186.99
+p 29060, 29070, 29080, 29090
q3PortScanner.exe ip 213.251.186.99
+p 29060-29090
-p 29061-29069,29071-29079
+app
+terminate
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ LIMITATIONS
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o +
Scanning ports takes time: About one second per port, even
(chiefly) if there isn't anything interesting running on them.
That is because I need to give the server a reasonable time to
answer any query. For that reason, scanning all the 65536 ports
of a server would be way too long. So you better cut the fat
off the target port ranges.
Tip: The report of any scan lists the valid scanned ports. You
can just copy-paste that and use it as +p argument in
subsequent runs ;-)
Note that this tool won't detect non-q3based servers. So it is
useless as a load estimator if your host runs mixed servers on
a physical box.
+ LEGAL STUFF
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o +
THIS MODIFICATION IS NOT MADE, DISTRIBUTED, OR SUPPORTED BY
ACTIVISION, RAVEN, OR LUCASARTS ENTERTAINMENT COMPANY LLC.
ELEMENTS TM & © LUCASARTS ENTERTAINMENT COMPANY LLC AND/OR ITS
LICENSORS.
+-----------------------------+
| File generated with 'GaTeX',|
| an ASCII typesetting system |
| by Gamall Wednesday Ida. |
| http://gamall-ida.com |
+-----------------------------+
Build: Sat Jun 16 00:36:53 2007
File : q3PortScannerReadme.gat