Alternative flat file package 'installers' for original Cavedog stuff
The file packages below contain the unit respectively map data stripped off of their
installer programs. Dumping those files into the TA root folder works much faster than
running the installer program for each unit and map. A manual 'installation' of this data is
also the only way to overcome the problem some of the installers
have with x64 based Windows operating systems.
If you are not familiar with the concept of Windows file folders and extracting files
from Zip archives then you should stick to the
installer programs though.
Units not included in any patch or expansion
The following units never made it into any TA patch or expansion. To get a complete
set of all official TA units you have to install these six units besides the
TA:CC expansion.
You 'install' the units by simply unpacking the Zip archive straight into the root
folder of your TA installation on the hard disk.
Additonal maps released by Cavedog
A majority of the maps in the package below never made it into one of the expansion sets of the game
although they were available for download on the official Cavedog web site.
You 'install' the maps by simply unpacking the Zip archive straight into the root folder of your TA
installation on the hard disk.
Note
Some of the maps in the package won't work if you don't have the Core Contingency
expansion installed
|
TA Demo Recoder
Although refered as recorder only this third party tool allows you to record
and to replay TA games you either recorded yourself on your computer or
anyone else on theirs.
Principle the recorder is implemented by putting a new Direct Play DLL
into your TA directory. Since the original Direct Play DLL as shipped with the
operating system is left untouched other games besides TA will still use the
original DLL in the system folder thus avoiding conflicts. Now, the modified DLL
hooks into any Direct Play function the Totala.exe may call during a online game
thus allowing to log the whole network traffic between the computer of the
recording player and the other players computers into a file. It's sufficient to
record a multiplayer game at one end to get all data needed to reconstruct the
complete game later on from the log file since TA is using a peer to peer
communication approach to exchange the game data. That means every computer is
transfering its game data to each other computer all time. In fact a game with for
example three players is processed three times at once - one time on each players
computer.
Keep in mind a recording of the same multiplayer TA game done by two different
players will differ. How much they differ depends from the
quality of the network connection between the players and the speed of their
computers.
The replayer (which is part of the recorder) is used to replay any
previously loggd game data. It opens the game log and feeds the data right
into a launched TA setup for a multiplayer game. All this is done automatically
for you and you don't need to connect to the Internet to replay a TA recording
either.
The recorder is only able to record multiplayer games. You can't use it
to record singleuser games like missions or skirmish games.
The current recorder version is 0.99b2 and besides the features
described above it includes way more usefull integrated tools than I mentioned. I
also included the previous version 0.97b since some people claim to get a
worse game performance with the latest version.
The recorder comes with a self installer and a very good HTML documentation. I
recommend you read this manual before you start to bother other TA players with
questions already answered in the manual.
Finally I should mention the people who made this (in my opinion) most important
addon for TA - the
Swedish Yankspankers. I belive the recorder is even more important
than the official TA expansion TA:CC which just introduced some new units
while the recorder helped hundreds of TA players (including me) to learn how to
play this game. And it's still the one and only tool allowing to detect at least
some of the cheating programs available for TA.
NOTE
If you have a slow system, like an Pentium II 233 MHz you should not install the
recorder. At least switch the option that allows to record every game on default
off. The recorder consumes additional CPU time to process the data and that will
noticably slow down the game for all players in the game.
|
TA Recorder commands working on computers without the recorder
Playing people with the TA Recorder installed while you don't use it can be a
real disadvantage. For example, the key macro support (also referred as
tahook) allows you to queue long build orders for construction units in
no time. No more time wasting with the queue key SHIFT which consumes
quite some time when micromanaged. Other features like the idle construction unit
finder, the shared Line Of Sight, the 100 units at once queue change for factories
and last not least the map drawing and marker functions clearly will give the
Recorder users an advantage over someone without it. But all of these functions can
be switched off by using the following commands in the battle room chat line.
These commands will affect any computer with the TA recorder installed and
invovled into the game, no matter if the computer where you issue them runs the
TA Recorder or not. All TA recorder commands begin with a dot character
in order to tell them apart from the original game commands starting with the
plus sign
Note: The best solution to overcome the disadvantages above is still
to install the TA Recorder rather than switching these features off. There is
really no reason for not installing the recorder, except for users of
old and slow computer systems.
|
Command
|
Supported in Version
|
Effect
|
|
.report
|
0.97b and higher
|
Shows everyone who has the recorder installed and if the
recording function is switched on. If you see the letter
T at the first position of the status
flag tripple recording is switched on otherwise not. For
example [T--] tells you the game will
be recorded by this particular player,
[---] shows the recording function
being turned off at that computer.
|
|
.tahookoff
|
0.98b5 or higher, 0.97b with tahook option installed
|
Turns the key macro feature off as well as the idle
construction unit finder and resets the number of units
queued at once in a factory when using the
SHIFT key from 100 back to 10.
|
|
.ehaoff
|
0.98b5 or higher
|
Disables Line Of Sight Sharing between allies, map draw
and map marker option as well as 100 unit change for
factory queuing and idle construction unit finder.
Principle this switches off all the new features introduced
with version 0.98b5 and runs it in 0.97b mode.
|
The TA Recorder files
|
tademo99b2.exe
|
(1.38 MB)
|
Latest version of the TA Recorder.
|
tademo97.exe
|
(0.53 MB)
|
Previous version of the TA Recorder. Use on slow machines or if
you encounter problems with screwed TA in game graphics when using
the more recent version above.
|
Note that the Swedish Yankspankers have relased the source code for the
TA recorder so you might run into 'inofficial' versions elsewhere on the Internet.
Third party maps
Although I'm not interested in third party units and maps I linked a few maps
in here because they are picked for online games quite often or they are needed
for watching some of the recordings I put on this site.
You also may want to check the section containing
additional Maps created by CD
TATunnel
TATunnel allows to tunnel the traffic between a single ta client instance
located in a restricted network and other ta instances on the Internet thru multiple
TCP lanes established between a tunnel server endpoint located on the Internet and a
tunnel client end point located in the same restricted network as said ta
client.
The two tunnel endpoints are implemented as two separate programs,
TATunnelServer.exe and TATunnelClient.exe. The latest
distribution packet can be obtained from the
version overview section.
.
You can verify the origin of the two programs by calculating their MD5 fingerprint with a
MD5 calculator. If the checksums differ from
those documented in the manifest.txt file shipped with each program files Zip archiv
then the programs have not been compiled by me but someone else and may contain changes which
are not documented in the sources to be found on this site.
If you think that the MD5 program above may already contain backdoor hacks itself then get
the MD5 sources and compile the executable
yourself.
Alternatively you can use the PGP signature files referred in the
version overview section to verify the origin of
the respective Zip Archiv containing the executable or source files for a particular
distribution.
Anyone who either wants to compile the programs himself in order to make absolutely sure that
they contain no backdoors and hacks or who is just curious to learn how TATunnel works will
need the source code which can be obtained from the
version overview section as well.
The program has been developed using Microsoft's Visual C++ 6.0 IDE so don't expect to find
any makefiles among the sources. All I can offer are the project files for the IDE mentioned
above. To create your own set of executables with another compiler/linker in a different
development environment you'll have to create your own set of makefiles/project files
suiting the environment you prefer.
If you plan to take a serious look at the program code then you should start with section
V. Code documentation in the project's
documentation
before you take a look at the comments within the source files. The information to be
found in the documentation will hopefully give you an idea about the 'big picture' behind
the the tunnel program.
TATunnel call syntax
The command line parameters for both tunnel end point programs are described in the
the project's
documentation
TATunnel exit codes
Right now there is no external control interface for TATunnelServer.exe that
would allow to shut down the program in a gracefull way. So the server side tunnel end
will just run in an endless loop until a severe error occures in the tunnel link thread
(which is the application's main thread) or one of the instantiated game manger
threads.
Errors occuring in any of the game manager instances' bridge child threads will only lead to
the termination of the game manager instance and its associated bridge threads but not the
tunnel link thread itself.
In case the tunnel link thread or one of its child game manger instance threads gets
interrupted by an exception the program breaks out of the tunnel link thread's
execution loop and termiantes with an exit code set to the TATunnel internal id of the
exception thrown in response to the error condition.
TATunnelClient.exe will terminate with an exit code of zero except a severe
error occured during code execution of its game manager thread (which is the application's
main thread).
If the game manager thread itself gets interrupted by an exception then the program will
terminate with an exit code set to the TATunnel internal id of the exception thrown in
response to the error condition.
A documentation of all TATunnel internal exception ids can be found in the files
TATunnelServer_exception_codes.txt, TATunnelClient_exception_codes.txt
and shared_exception_codes.txt shipped with the
source file Zip Archiv of the respective
TATunnel distribution.
TATunnel versions
| Build Date |
Distribution |
Downloads |
|
2006/02/04
|
4
|
-
Starting with this distribution package a 64bit (x64) version of all TATunnel programs
is shipped together with the 32bit (x86) version. By the term x64 I'm referring to
CPUs either supporting the AMD64 or the EM64T standard. Note though
that the compiler used to assemble the x64 version was optimized for the AMD64 standard so
performance might not be optimal when running the x64 programs on a Intel CPU with
EM64T.
It's also possible to setup a tunnel environment using a mix of x64 and and x86 TATunnel
endpoint programs but you can certainly still setup a pure x64 or x86 tunnel as well.
Important
In contrast to mixing the x64 and x86 endpoints originating from the same
distribution package mixing endpoint programs from different distributions is not
recommended. Although this might work at times (depending on the changes
applied between the involved distributions) you may also end up with running into some
weird errors or a really strange program behavior.
-
Details on how the x64 versions of the tunnel endpoint programs have been created can be
found in section V., chapter 4. of the
documentation
.
-
Please note that starting with this distribution the PGP signing key has changed.
The PGP key page
lists all public keys I have used on this web site so far. Files on this site are signed
with the Diffie-Hellman/DSS version of the key.
|
|
Program files
|
Zip Archiv
|
PGP signature
|
|
Source files
|
Zip Archiv
|
PGP signature
|
|
Revision documentation
|
Text file
|
PGP signature
|
|
2005/08/14
|
3
|
Program files
|
Zip Archiv
|
PGP signature
|
|
Source files
|
Zip Archiv
|
PGP signature
|
|
Revision documentation
|
Text file
|
PGP signature
|
|
2005/06/01
|
2
|
Program files
|
No longer available.
|
No longer available.
|
|
Source files
|
No longer available.
|
No longer available.
|
|
Revision documentation
|
Text file
|
PGP signature
|
|
2005/05/16
|
1
|
Program files
|
No longer available.
|
PGP signature
|
DirectPlay registry patcher
Written to fix problems caused by missing or wrong DirectPlay Windows Registry
entries for multiplayer TA. Check the
installation documentation
to learn what steps are required before you can run the program on your computer. The installation primer
does also explain how to run the tool in its simplest mode without any call arguments. If you want to take
more control over the program's actions you should read on here once you have completed the installation
process in order to learn more about the program's command line parameters.
For people who want to make sure they got the orignal taregfix2.exe program:
You can check the
list with the version/MD5 information
at the end of this section. You can download
md5.exe if you need a program to check
MD5 fingerprints. The
MD5 sources are also
available.
The pranoids amongst us may prefer to compile
taregfix2.exe's source code themselves after making sure it contains no
hacks or backdoors. The source is suited for use with Microsoft's Visual C++ 6.0 or
higher.
Registry patcher call syntax
|
taregfix2
|
[-c] [-a] [-n] [-d <absolute TA path>]
|
|
|
[-b <binary>] [-l <command line>]
[-f <front end>]
|
|
|
[-i <IP address> -p <TCP port>]
|
All parameters are otional and the simplest call format is without any parameter
given. This format addresses people who don't want to fiddle around with the
command line parameters. For example, if you have only one TA installation on your
drive and want a quick Registry fix for it than just call taregfix2 without any
switch or parameter. It will automatically locate your TA directory and update the
Registry without any further user interaction if the following conditions to be
true:
-
The switch -a (description see below) was omitted
-
Only one TA directory was found on the fixed disk drives (the expansion
installation backup folders are excluded from the search by default)
-
The totala.exe file in that particular directory could be identified by
a well known MD5 fingerprint
Otherwise taregfix2 will come up with a list of TA directories to pick one from
for further processing.
To avoid the interactive mode the program would enter once it found more than
one directory with a totala.exe file use the switch -d. Check and update
operations against the registry will then be done without any acknowledgement
requests even if the TA version found in <absolute TA path> couldn't
be identified by a valid MD5 fingerprint.
-c will cause the explicitly given, implicitly selected or interactively
picked TA directory to be checked against the current Registry settings
rather than updating the Registry data.
-a is only of interest when <absolute TA path> is omitted.
When set directories with the same folder name as the standard backup folders
created by the TA expansions installers are not ignored when searching for
TA installations. The only two values on the ignore list are currently
backup (created by TA:CC) and btbackup(created by TA:BT). So if
you have a TA installation residing in a folder named C:\STRANGE\BACKUP
you need to use this flag otherwise the search algorithm will ignore a totala.exe
file found there. On the other hand sub folders of ignored folders are not excluded
from the search. If a TA installation resides in C:\STRANGE\BACKUP\MYTA
then the folder is recognized as a valid TA directory even without using the
-a switch.
-n avoids the 10 second delay before exiting the program. The dealy is
active by default in order to give the user enough time to read error or success
messages.
-b will put the value <binary> rather totala.exe in
the registry field 'File'. If you omitt this switch then taregfix2 will put
the default value totala.exe in the registry. A prerequisite is that
<binary> resides in the same directory as indicated by the -d switch
respective as picked from the TA directory list in interactive mode. A TA game
service client program will then run <binary> instead of totala.exe
when a game session is launched.
Although you can theoretically configure whatever executable file you want for the
'File' registy entry you have to keep in mind that the binary has to be a
Lobby-Aware Application thus it must call
IDirectPlayLobby3::GetConnectionSettings at program startup and has to
establish communication with the game service client via the DirectPlay7
Lobby Interface once it became aware of a lobby launch.
You may want to use this function if you have at least two different versions of
totala.exe in the same TA directory under different names and want to
switch between them before playing a game service game. For instance if there
is a hacked totala_hacked.exe and an original totala.exe in the
TA directory d:\games\ta and you want the game service lobby launcher to
use totala_hacked.exe rather than totala.exe then call
taregfix2 as follows:
taregfix2 -d d:\games\ta -b totala_hacked.exe
-l will put he value <command line> rather than the
targefix2 default -c into the registry field 'CommandLine'. The
command line value -c will skip the intro movie when TA is launched.
Basically the -l switch allows to configure any command line for
<binary> you want.
-f will create a registry entry for Ripple DirectPlay7 Lobby
launching. <front end> refers to a program residing in the same
directory as indicated by the switch -d respective as picked in
interactive mode from the TA directory list. Once the value is set in the registry
the game service client program won't launch <binary> (or totala.exe)
but <front end>. The difference is that <front end> doesn't
need to be a Lobby-Aware Application, it can be any simple executable
file excuting whatever operations you want. As soon as <front end> is done
with its prae launch operations it has to call the actual application, which would
usally be totala.exe. For launching the actual application
<front end> can use a simple CreateProcess() API call thus it
doesn't need to setup any DirectPlay7 communication link between the game service
program which started it and the actual application to start. The only prerequisite
is that <front end> passes all command line parameters it was
launched with to the actual application to be launched except the first one
which is its own program name. Passing those parameters is so important because
one of them is a special value that will allow the Lobby-Aware Application
to establish a direct link to the game service client program thus bypassing
<front end> completely. Once the actual application runs it's save to
terminate <front end>.
For example I use the Ripple Launching on my dual CPU computer for
runnign a <front end> that starts totala.exe pinned to one
CPU.
-i and -p allow to send the output the program
generates to an echo server that runs on another computer via a TCP/IP
connection. This is intended to be used for remote support. It's a one way street
(as you will see when you study the source files), there is no way for the echo server
to send any data into the other direction. I added this option because I learned
that some people have problems to interpret the program output and need to be
talked thru the process of fixing the registry, especially if more than one TA
installation was found and they get stuck at the selection screen.
To display the echo output on the other computer you need to launch an echo
server program that can handle the echoed output taregfix2 streams to that IP and
TCP port number. I provided a very simple
EchoStream server which should be sufficient
for use with taregfix2.
Since activating the echo interface requires to launch taregfix2.exe with
command line switches I also decided to add the option to put the IP echo server address
and the TCP/IP port number in a simple textfile named taregfix2.cfg. The
first line has to contain the IP address, the second line the TCP/IP port number. The
file must be placed in the same folder where taregfix2.exe resides in order
to be reconized by taregfix2.exe. Do not add the switches -i
and -p to the lines in the configuration file, just put the actual values
in.
The command line parameters -i and -p have a higher priority than the
entries in the configuration file, thus the file is ignored if the programm was called
with these two prameter.
Be aware that game service client programs may override any of the values in the
registry. The
PhoeniX WorkX client for example seems to empty registry entry assocciated
with <command line> every time before it starts a game.
Registry patcher interactive mode commands
In interactive mode a simple command line appears at the end of the list showing
the TA directories found. The following inputs are reconised (you have to finalize
every input by using the Enter key):
| Option |
Key(s) |
Effect |
|
Enter position
|
Two digit wide number
|
Selects one of the directories for further processing. You can use any
number in the range of the whole list size even if it refers to a line
not visible right know.
|
|
f(orward)
|
f
|
Displays the next page of the directory list.
|
|
b(ackwards)
|
b
|
Displays the previous page of the directory list.
|
|
trim l(eft)
|
l
|
Displays the maximum possible part of a path name too long to fit into
a display line beginning at the left end. The left trim truncate
indicator '>>>' will appear at the end of the path to state the fact it
has been cut off for display purpose. The left trim option is the
default truncate policy and you can use this command to restore it.
|
|
trim r(ight)
|
r
|
This is the counter part to the left trim option. Displays the maximum
possible part of a path name too long to fit into a display line
beginning at the position that allows to output the path from there to
its right end. The right trim truncate indicator '<<<' will appear at
the begin of the path to state the the fact it has been cut off for
display purpose.
|
|
a(bort)
|
a
|
Exits taregfix2 without taking any further actions like checking or
updating the DirectPlay registry entries for TA.
|
Registry patcher well known TA versions
For the time being taregfix recognises the well known totala.exe versions listed
below. The MD5 fingerprints have been computed based on the US version of TA,
TA:CC and TA:BT. In case taregfix2.exe can't identify a particular
totala.exe version it may have been modified by another program besides the
TA Demo Recorder 0.98b5 installer or an old Boneyards version of the 3.1 patch is
still installed. In this case the MD5 fingerprint of the unknown version instead
the well known version string will be displayed.
| totala.exe Version |
MD5 fingerprint |
Comment |
| unmodified TA 1.0 |
99b3105c7e7acd3599783a2e0881f741 |
You find this version either in the backup or
BTBackup folder depending on what TA expansion you installed
first.
|
| unmodified TA 3.0 |
c8053ed575cceee39f3f573f7a9e565d |
This version was shipped with the US version of TA:CC I got back
in 1998. It is identical to the TA:CC version I received with the
US Commander Pack one year later.
You will find this version in the BTBackup folder if you
installed everything according the correct order.
|
| unmodified TA 3.0a |
ddb75b6e06292e49c971ce42325bc562 |
This version was shipped with the US version of TA:BT I got with
the US Commander Pack. I haven't bother with checking the version on
the solely sold US TA:BT CD but I guess it will be the same.
|
| unmodified TA 3.1c |
f76d367fbbd43008ae04c0f314a61b13 |
This is the 3.1c patch version. It does differ from
the patches made for Boneyards which are often confused with the 3.1c
patch because the BY versions are showing a '3' for the leading digit
too.
|
| TA Demo Recorder 0.98ß5/0.99ß2 with TA 3.1c |
26bfc1b8a59ef28180f0c71fa9457b5b |
When TA is running under the operating systems Windows9x or WindwosME
the TA Demo Recorder 0.98ß5 installer needs to modify the
totala.exe file in order to make all of the features work.
This is the fingerprint of the TA 3.1c version modified by the installer
of TA Demo Recorder 0.98ß5 or 0.99b2. The installer leaves the
totala.exe file untouched when running WindowsNT 4.0 or
Windows2000 (I guess same is valid for WindowsXP but I haven't tried
that out yet). You should just get the normal 3.1c patch fingerprint
for those operating systems.
|
Registry patcher exit codes
Some of these return codes are used by both manifestations of taregfix2 (the installer
taregfix2_setup.exe and the run time instance taregfix2.exe) some are
only used by one of the two. The 'Used By' column will state which of the manifestations
may return which value. All registry values refered in the table below are located
at the key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectPlay\Applications\Total Annihilation
The documented exit codes are only valid for the latest version. Previous versions
may return different values.
| Value |
Used By |
Meaning |
| 0 |
both |
No error occured.
|
| 1 |
taregfix2_setup.exe |
The operating system call GetWindowsDirectory() failed with an OS error. The program wasn't
able to retrieve the path of the operating system software root directory. Check the OS error
part of the message for more details.
|
| 2 |
taregfix2_setup.exe |
The operating system call CreateFile() failed with an OS error. The program couldn't open
the source file taregfix2_setup.exe when trying to create a copy of that file with
the name taregfix2.exe in the windows operating system root folder. Check the OS
error part of the message for more details.
|
| 3 |
taregfix2_setup.exe |
The operating system call CreateFile() failed with an OS error. The program couldn't open
the destination file taregfix2.exe when trying to create a copy of
taregfix2_setup.exe in the windows operating system root folder. Check the OS
error part of the message for more details.
|
| 4 |
taregfix2_setup.exe |
One of the operating system calla ReadFile() or WriteFile() failed with an OS error.
taregfix2_setup.exe could open the source and destination file but wasn't
able to copy the complete file over to the windows operating system root folder. Check
the OS error part of the message for more details.
|
| 51 |
taregfix2.exe |
An operating system error occured when the program tried to initialise the TCP/IP interface on
the local computer. This error can only occure if the switches -i and -p
have been used in order to attempt to redirect the program output to an remote echo server.
The error indicates a problem with your local operating system network installation
or that taregfix2 requested support for network functions which the socket
interface on the local computer can't provide. Your computer may not support such a high
level of windows socket support (especially on Windows95) and I may have to lower the
minimum version number taregfix2 is requesting. Send me an email to
tcbw@tcbw.net in case the OS error part of the message
points into this direction.
|
| 52 |
taregfix2.exe |
The switch -i was followed by an IP address parameter that dosn't reperesent
a vlid IPv4 internet address in dotted format. Check the command line for typos.
|
| 53 |
taregfix2.exe |
The operating system call socket() failed with an OS error. This can only occure when the
switches -i and -p have been provided to contact a remote echo server.
As with error code 13 above this may indicate a problem with your network installation on
the local computer. Check the OS error part of the message for more details.
|
| 54 |
taregfix2.exe |
The operating system call connect() failed with an OS error. This can only occure when the
switches -i and -p have been provided to contact a remote echo server.
This indicates a problem with the remote host represented by the IP address and TCP port
you used for the two switches. Check the OS error part of the message for hints why the
remote machine could not be connected. If you misstyped the IP address or TCP port at the
command line and try to connect the void (in other words there was no remote server listining
at that IP address and on that TCP port number) you will get an according message after a
little timeout elapsed and the client TCP interface finally gave up on trying to connect
this 'ghost' server.
|
| 55 |
taregfix2.exe |
The operating system call send() failed with an OS error. This can only occure when the
switches -i and -p have been provided to contact a remote echo server.
This error means that a connection was made and even some data could be sent already but
then the connection between the two endpoints suddenly failed. Possible reasons for this
error are:
-
The remote echo server is operating with a restriction for the client IP address
and the IP address of the computer executing taregfix2 differs from the allowed
address. In this scenario the echo server accepted the connection first in order
to retrieve the address of the client and closed the connection immediatly after
recognising that client has no connect right.
The earliest point in time when the client becomes aware of a disconnect on the
server end is with the first send() call.
-
The remote server is no EchoStream server at all but a completely different program
that is listening on that IP address and TCP port number for a diferent
purpose. This sever program will disconnect its end point once it recognised the
data taregfix2 sent so far makes no sense for it at all.
-
The remote echo server was stopped by the user at the other end. Either
the program was terminated by accident or on purpose while the taregfix2 client
was still sending output data.
-
The network route between the client executing taregfix2 and the remote echo
server is broken. This includes failing routers and tansportation problems
via the network route at hardware level as well as a possible disconnect from
your ISP.
|
| 101 |
both |
The operating system call GetModuleFile() failed with an OS error. The program wasn't able
to retrieve the path from where the program was launched. Check the OS error part of the
message for more details.
|
| 102 |
both |
The program was called by using the wrong syntax. The order of the
prameter dosn't matter but certain combinations are not allowed.
|
| 103 |
taregfix2.exe |
An attempt to open the echo server configuration file taregfix2.cfg lead to
an error other than the file not existing. Check the OS error part of the message for
more details.
|
| 104 |
taregfix2.exe |
A read operation on the successfully opened configiration file taregfix2.cfg
failed with an error other than end of file. Check the OS error part of the message for
more details.
|
| 105 |
taregfix2.exe |
Unexpected end of file for the successfully opened configiration file taregfix2.cfg
occured. The file doesn't conatin all necessary entries.
|
| 201 |
taregfix2.exe |
An Operating System error occured when trying to retrieve the
fixed drive list. Check the OS error part of the error message for
possible reasons.
|
| 202 |
taregfix2.exe |
The fixed drive list was too long to fit in the buffer taregfix2
provides. This should not occure since the buffer is big enough to take
up to 27 drive letters.
|
| 203 |
taregfix2.exe |
An Operating System error occured when taregfix2 requested access to
a directory first time. Check the OS error part of the error
message for possible reasons.
|
| 204 |
taregfix2.exe |
An Operating System error occured when taregfix2 requested access to
a single entry of a directory. Check the OS error part of the error
message for possible reasons.
|
| 205 |
taregfix2.exe |
No directory containing a totla.exe file could be found when
searching the fixed drives. This error can only occure when
<absolute TA path> is omitted. Maybe the -a switch
has to be used to make taregfix2 recognise additional directories.
|
| 301 |
taregfix2.exe |
An Operating System error occured when taregfix2 tried to open a
totala.exe file for MD5 fingerprint verification. Using the
<absolute TA path> call syntax with a directory containing
no totala.exe file will cause this error too. Check the OS
error part of the error message for more details.
|
| 401 |
taregfix2.exe |
The program can only maintain up to 99 directories containing a
totala.exe file. This boundary has been crossed.
|
| 402 |
taregfix2.exe |
The program switched to interactive mode because the user had to make
choice between different possible TA directories and the user picked
the abort option.
|
| 501 |
taregfix2.exe |
CreateFile() failed when probing existance of
<absolute TA path>\<binary> Check the OS error part of the message for
more details.
|
| 502 |
taregfix2.exe |
CreateFile() failed when probing existance of
<absolute TA path>\<front end> Check the OS error part of the
message for more details.
|
| 503 |
taregfix2.exe |
An operating system error occured in check mode (switch -c set)
when the program tried to access the registry key object itself
(not one of it's value strings). Check the OS error part of the message for
more details.
|
| 504 |
taregfix2.exe |
An operating system error occured when trying to access one of the registry
values
Guid
File
CommandLine
Path
CurrentDirectory
Launcher
and the program was in check mode. This does not cover non existant
entries, those would report exit code 505 (see below). Check the OS error
part of the message for more details.
|
| 505 |
taregfix2.exe |
A logical error occured when checking the entries with the -c flag.
That means at least one of the entries does not exist, is not of type type
string, contains an unexpected value or, in case of the value 'Launcher'
exists although it shouldn't be there.
|
| 506 |
taregfix2.exe |
An operating system error occured in update mode when the program tried to
create (if it did not exist before) or access the registry
key object itself (not one of it's value strings). Check the OS
error part of the message for more details.
|
| 507 |
taregfix2.exe |
An operating system error occured in update mode when trying to create or
update one of the registry values
Guid
File
CommandLine
Path
CurrentDirectory
Launcher
Check the OS error part of the message for more details.
|
| 508 |
taregfix2.exe |
An operating system error occured in update mode when trying to delete an
existing value entry for
Launcher
The program attempts to remove an existing value entry for 'Launcher' if no
-f switch was given and such an entry already exists. Check the OS
error part of the message for more details.
|
Registry patcher version overview
From version 1.0.2.0 on two manifestations of the same binary file exist:
taregfix2_setup.exe and taregfix2.exe. Since it's the same file just
carrying a different label the MD5 fingerprint for both instances has to be the same.
All registry values refered in the table below are located at the key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectPlay\Applications\Total Annihilation
| Build Date |
File Version |
MD5 fingerprint |
Changes / Bug Fixes |
| 2003/05/11 |
1,0,3,1 |
1ebe33db59c03cb8d7fa3d3d9f5122d7 |
-
Call parameter processing is skipped for the installer front end
manifestation now.
-
Fixed severe bug in EchoStream interface that could cause
the program to hang in cdiag output.
Althought the bug could theoretically affect any application using
the cdiag stream template it seems that certain timing
conditions had to be fulfilled as well to trigger it.
-
Exit codes changed due to revision of shared sources for the
Installer and EchoManager classes.
|
| 2003/05/04 |
1,0,3,0 |
731b80e3ac486ee2f1c19295bd14ca89 |
-
The registry entries File, CommandLine
and Launcher can now be customized too by using
the new switches -b, -l and -f
-
Missing registry values are treated as 'logical' errors now
and won't lead to an exception throw until all entries are
checked.
|
| 2002/06/01 |
1,0,2,1 |
e67612122934de6a6bff60c7c47f4f04 |
-
When running under WindowsME taregfix2_setup.exe reported
'file does not exist' after copying the program into the windows
operating system folder when no previous version was found. It turned
out that WindowsME dosn't reset the GetLastError() state state before
calling ReadFile() while Windows2000 does. This lead to a wrong interpretation
of the current error state after leaving the copy loop. Fixed by using the API
call result values of ReadFile() and WriteFile() rather than relying on
GetLasterror().
|
| 2002/06/01 |
1,0,2,0 |
e5a04e3a4ec787f65c583251cc61c6b0 |
-
Split program into installer and run time manifestation. Actually
it's the same binary file but different program names will make it act
different.
-
-i and -p switches for echo server can be replaced
by entries in the file taregfix2.cfg. The IP address has to
be placed in dotted format in the first line of the text file, the
TCP/IP port number in the second line of the file. The switches
-i and -p must not appear in this file.
|
| 2002/05/31 |
1,0,1,0 |
d2fb3b463e4faedc8fb960227fd6eba5 |
-
Added echo output interface over TCP/IP.
-
Running instance is copying its own binary file into the windows
system folder now if no binary of taregfix2 can be found there.
If such a file exists and if it's regonised as an older version
of taregfix2 it will become woverwritten by the running version.
|
| 2002/01/20 |
1,0,0,3 |
ee95372c0e977e9a8dc96e586b9f8d8d |
-
Replaced for( ... ) loops in md5.c by memcpy() and memset() as
recommended (though calculation speed of md5 fingerprints wasn't
a performance issue even with the loops).
-
Removed superfluous totala.exe string from registry command line
entry. The command line contains only the -c switch
to supress the intro movie when TA is launched by Zone now.
-
Using more accureate term 3.1c in patch identfy string rather
than the fuzzy 3.1 label which is likely to get mixed up with
Boneyards patch versions.
-
Removed last wait counter output from screen before exiting the
program.
|
| 2002/01/09 |
1,0,0,2 |
eb3bd6cea4b53ce23c9ba9e9e19e9d4a |
-
For Windows 2000: Excluding directory System Volume
Information owned by user system from directory
search in order to avoid program abortion due to access
denied error.
|
| 2001/12/11 |
1,0,0,1 |
e1e06b23bec89b62b5f380b40c7f91c7 |
-
File Version info added by providing a resource file
-
Rebuilt binary by using Microsoft Visual C++ 6.0 SP5. Since 6.0
SP5 makes the C++ style stream implementation finally work as
supposed to I got rid of the C style stream read access.
|
| 2001/12/10 |
n/a |
9136ee0b8b2809772d2f46e6df5f1990 |
Initial build
|
TA Consistency Checker
This program searches for TA installation folders and tries to identify the exact
state by comparing the files in the folders against checksums generated from well
defined reference installations.
But in contrast to TARegfix2
which also utilises MD5 checksums to identify TA versions not only the
totala.exe file is checked but a whole set of files in the TA folder. The
main purpose of the program is to check out whether the files currently residing in
a particular TA folder are consistent with a given version. For example, the program
may be helpful to track down the reason why the 3.1c patch refuses to install
properly since you can easily check the state of the folder having problems with the
patch.
For the time being there are only reference sets for the US version of the game and its
expansions available.
TAConsistencyChecker is a Windows GUI application that comes without an
installer. To run the program you need to download the
zip archive containing the executable program and the subfolder with the
reference set definitions. The zip archive is a self extracting one so after having it
downloaded just click on the file to start the unpack process. I recomend to unpack
the files into a dedicated subfolder (the zip archive self extractor sugggests
C:\tatools\TAConsistencyChecker).
Keep in mind that the MODLOCATOR.DLL must reside in the same folder as the
TAConsistencyChecker.exe in order to be able to run the program, except you
decide to extract the files straight into the Windows system folder. Also,
TAConsistencChecker always assumes that the reference set files are to be found
in a subfolder named modinfo.So if you decide to move the files then move the
subfolder to the new location as well.
The list with the version/MD5 information
is located at the end of this section so you can check if you actually got the
original version or a modifed one. If you have no md5 checksum test program yet
you can download
md5.exe. The
MD5 sources are also
available.
The
TAConsistencyChecker source code and the
MODLOCATOR source code is available for download as well. Just in case you enjoy to
follow another programers's mind twisting think patterns. Or maybe you are paranoid and
want to compile this stuff yourself. In any case, the sources and project files are suited
for use with Microsoft's Visual C++ 6.0 or higher.
TA Consistency Checker processing order
The check process is split into three parts:
-
Load the reference set definitions from the modinfo sub folder.
Every time you click on the 'Run Check' button the sets are re-loaded from the
disk which allows to change/add sets between check runs without re-starting
the application.
-
Search for potential TA folders.
A folder is considered a potential TA folder if a file named totala.exe
can be found in it. The backup folders created by the installers of the TA
expansions and folders with the system attribute set are excluded from the search
process.
-
Check the potential TA folders found against the set definitions.
The folders are processed in the order they have been found. The processing
order of the sets is determined by their size: a set with more file fingerprints
is considered to be more precise than one sporting less entries, thus it's
checked against a folder before all sets with less entries.
In normal processing mode a check of a potential TA folder stops as soon as the
first set in the processing order fits the files in the folder completely. See the
options explanation below to learn how to change this behavior. The check of a
folder ends in any case once all available sets have been exhausted.
Once a check for a particular potential TA folder is finished an entry with
the folder name will appear in the 'Installations found' list box. Selecting such
an entry will update the 'Description' and 'Report' windows below, showing the
detailed check results for this folder. You can select entries immediatly after
they appear, the program will continue to check the remaining folders in the
background.
If you enable the option to continue checking against the remaining sets even after
a folder fit the first set in the processing order then multiple entries of the
same folder may appear in the 'Installations found' list box, one for each
alternative set that fit the folder as well. The report for these entries is
shared between them meaning that they will all show the same report that gets
constantly updated with each alternative set that fit the folder too.
TA Consistency Checker interactive options
You can influence the check process by two options:
-
If an installation fit a set then check it against the remaining sets as well
This may help if the check result comes up with an unexpected version. Sets may be
defined ambiguous in way that one set is a super set of another. The program
tries to avoid this kind of ambiguity by processing the larger sets before the
smaller ones though.
So a real ambiguity issue should only exist for the rare case that two set
definitions with the same number of files but different file names fit both the
contents of a single TA folder.
If you enable the option described below this option becomes mandatory and gets
autmatically enabled.
-
File missing in set passes check
This may help if a folder couldn't be identfied at all. In normal check mode any
file of a set that can't be found in a potential TA folder is a reason to consider
the check against this set having failed. With this option enabled a file that is
actually part of a set but was not found in a TA folder is considered existing with
a MD5 checksum fitting the set defintion. The effect of this option is that each
set defintion gets reduced to the files actually exsiting in the folder currently
being checked. Since enabling this option increases the probabilty for ambiguities
between set definitions considerable the option described above gets enabled with it
mandatory.
TA Consistency Checker call syntax
taconsistencychecker
Since the program is supposed to run interactively it doesn't sport any command line
parameters right now.
TA Consistency Checker exit codes
Because the program is an interactive GUI application it doesn't return any meaningfull
exit codes yet.
TA Consistency Checker version overview
| Build Date |
File |
File Version |
MD5 fingerprint |
Changes / Bug Fixes |
| 2004/09/10 |
MODLOCATOR.DLL |
2,0,0,2 |
2dc51f3851ef16d46b70b9d46dfa3137 |
Folders the Windwos account the locator DLL code is executed under has
no access rights to are now silentely skipped when searching for
totala.exe files.
A thank you goes to Abimilech who found this bug and was so
kind to test the updated DLL version also.
|
| 2004/04/16 |
MODLOCATOR.DLL |
2,0,0,0 |
2764f12bbd569ebd0e287dd33fe01dba |
Initial public build
|
| 2004/04/14 |
TAConsistencyChecker.exe |
1,0,0,0 |
4dedb96578d489b077d017ad4ec157f6 |
TA DirectPlay7 port scanner
If you are stuck behind a Netowrk Address Translation
(NAT)device (rotuer, proy etc.) then you may need to figure out the UDP
and TCP network port number a TA instance is listening on when runing on a particular
computer in order to avoid a port forwarding rule setup marathon. his is a problem
with all NAT devices that allow only configuration of port forwarding rules based on
a single network port number rather than by port ranges.
TA picks one UDP port and one TCP port out of the DirectPlay7 pool ranging from
network port numbers 2300-2400. If you don't know which two ports are picked by TA on
particular computer (which seems to depend on the installed operating system and the
installed DirectX version) then you have no other choice than to configure port
forwarding for the full possible range. With one rule per port you would end up
with 101 rules. If the NAT device is offering a distinction for the protocols UDP and
TCP as well then you would even need 202 rules.
Although it's possible to figure out the two ports with the netstat
command which is shipped as part of the Microsoft operating systems I decided to provide
a little program named gettalistenports.exe. The reason for that is that a lot
of people seem to have problems to interpret the netstat output properly.
Important hint regarding UPnP
In case your cable/DSL modem offers a Universal Plug and
Play (UPnP) port mapping option which you decided to switch on
you shouldn't need to fiddle around with manual port forwarding and thus there is
really no point in checking the ports a TA game instance uses on the computer it runs
on. Let alone the fact that the ports gettalistenports returns in such a
scenario are not the ports the TA instance will be visible under for other TA
instances running on the Internet: The UPnP entity will map those computer local TA
listen ports to some arbitrary choosen ports it'll then listen on on behalf of the
TA instance.
So the the only way to figure out the listen ports that are actually of relevance for
other Internet TA instances when the local TA instance runs in a UPnP enabled environment
is to retrieve the information from the UPnP entity. Every UPnP entity should have a status
overview screen in its configuration menu showing the current UPnP port mappings. Be aware
though that the ports a UPnP entity chooses for the listening process on the Internet side
of its network interface may fluctuate from game to game. There is no gurantee that the same
port mappings used during TA game number n and game number n+1 are the same.
Also don't assume that UPnP entities of another brand or even of the same brand but with a
different firmware/software version will use the same mapping schema you have observed in your
particular environment.
|
gettalistenports is an windows console application. Download the program's
installer front end
gettalistenports_setup.exe and run it either from within a Windows command
console window or from the Windows desktop Start->Run menu or by double
clicking on it in the Windows Explorer.
The installer will create a copy of the program in the windows operating system root
folder using its runtime name gettalistenports.exe. If such a file already exists
gettalistenports_setup.exe will overwrite that file only if the existing version
can be identified as an earlier version of gettalistenports.exe. If that MD5
check against the earlier versions fails gettalistenports_setup.exe assumes that
the file in the windows system folder is either no original gettalistenports.exe
program at all or it assumes it's an original gettalistenports.exe file but at
the same or higher version as included in gettalistenports_setup.exe and won't
overwrite it.
After gettalistenports_setup.exe ran once on the computer you can call the run
time program manifestation gettalistenports.exe either directly from the Windows
desktop menu by using Start->Run or from any open Windows command console window.
The list with the version/MD5 information
is located at the end of this section so you can check if you actually got the
original version or a modifed one. If you have no md5 checksum test program yet
you can download
md5.exe. The
MD5 sources are also
available.
The
gettalistenports's source code is available for download as well to allow paranoids
like me to compile their own version of the program after checking it for hacks and backdoors.
The source and project files are suited for use with Microsoft's Visual C++ 6.0
or higher.
TA DirectPlay7 port scanner call syntax
gettalistenports
In the current version the program doesn't require any parameters or switches.
You should make sure that TA is running in host mode already before you launch
gettalistenports though. Host mode means you are at the battle room
screen waiting for someone to join. It's not necessary to get someone
into the game at this point, just being as host in he battleroom will do the job.
TA DirectPlay7 port scanner exit codes
Some of these return codes are used by both manifestations of gettalistenports
(the installer gettalistenports_setup.exe and the run time instance
gettalistenports.exe) some are only used by one of the two. The 'Used By' column
will state which of the manifestations may returns which value.
The documented exit codes are only valid for the latest version. Previous versions
may return different values.
| Value |
Used By |
Meaning |
| 0 |
both |
No error occured.
|
| 1 |
gettalistenports_setup.exe |
The operating system call GetWindowsDirectory() failed with an OS error. The program wasn't
able to retrieve the path of the operating system software root directory. Check the OS error
part of the message for more details.
|
| 2 |
gettalistenports_setup.exe |
The operating system call CreateFile() failed with an OS error. The program couldn't open
the source file gettalistenports_setup.exe when trying to create a copy of that
file with the name gettalistenports.exe in the Windows operating system root
folder. Check the OS error part of the message for more details.
|
| 3 |
gettalistenports_setup.exe |
The operating system call CreateFile() failed with an OS error. The program couldn't open
the destination file gettalistenports.exe when trying to create a copy of
gettalistenports_setup.exe in the windows operating system root folder. Check
the OS error part of the message for more details.
|
| 4 |
gettalistenports_setup.exe |
One of the operating system calls ReadFile() or WriteFile() failed with an OS error.
gettalistenports_setup.exe could open the source and destination file but wasn't
able to copy the complete file over to the windows operating system root folder. Check
the OS error part of the message for more details.
|
| 101 |
both |
The operating system call GetModuleFileName() failed with an OS error. The program wasn't
able to retrieve the location from where it was launched. Check the OS error part of the
message for more details.
|
| 201 |
gettalistenports.exe |
An operating system error occured when gettalistenports prepared itself for
access to the TCP/IP interface on the local computer. The error indicates a problem with
your local operating system network installation or that
gettalistenports requested support for network functions which the socket
interface on the local computer can't provide. Your computer may not support such a high
level of Windows socket support (especially on Windows95) and I may have to lower the
minimum version number gettalistenports requests. Send me an email to
tcbw@tcbw.net in case the OS error part of the message
points into this direction.
|
| 202 |
gettalistenports.exe |
While probing the DirectPlay7 ports the operating system call socket() failed with an OS
error. This may indicate a problem with your network installation on the local computer.
Check the OS error part of the message for more details.
|
| 203 |
gettalistenports.exe |
While probing the DirectPlay7 ports the operating system call bind() failed with an OS
error other than WSAEADDRINUSE. This may indicate a problem with your network installation
on the local computer. Check the OS error part of the message for more details.
|
| 204 |
gettalistenports.exe |
More than one TCP port in the range of 2300-2400 is bound by an application thus it's
not possible to reliably identify the DirectPlay7 TCP port for TA. Make sure no other
application making use of the DirectPlay7 interface is running except TA before launching
gettalistenports.
|
| 205 |
gettalistenports.exe |
More than one UDP port in the range of 2300-2400 is bound by an application thus it's
not possible to reliably identify the DirectPlay7 UDP port for TA. Make sure no other
application making use of the DirectPlay7 interface is running except TA before launching
gettalistenports.
|
| 206 |
gettalistenports.exe |
None or only one UDP/TCP port was bound in the range of 2300-2400. You may have
forgotten to bring TA in host mode before running gettalistenports.
|
TA DirectPlay7 port scanner version overview
| Build Date |
File Version |
MD5 fingerprint |
Changes / Bug Fixes |
| 2003/05/12 |
1,0,0,1 |
f196c43979bd78b6713373e233bece0a |
-
Call parameter processing is skipped for the installer front end
manifestation now (in case parameters are actually needed in
future releases).
-
Fixed severe bug in EchoStream interface that could cause
the program to hang in cdiag output.
Althought the bug could theoretically affect any application using
the cdiag stream template it seems that certain timing
conditions had to be fulfilled as well to trigger it.
-
Exit codes changed due to revision of shared sources for the
Installer and EchoManager classes.
|
| 2003/04/21 |
1,0,0,0 |
eb072710362405de99f0990b35c3e504 |
Initial build
|
TA Reporter DLL resolve IP to hostname fix
TA provides a DLL hook in order to report in game statistics (energy/metal
production, end game results like who won and who lost etc.) to external
applications like the game service clients or servers.
Basically anyone can write such a reporter DLL as long they know the name of the
DLL TA tries to load for reporting purpose and the names of the callback functions
TA uses for reporting. For the time being only the community operated game service
PhoeniX WorkX
seems to make use of this feature.
One problem can arise when playing on PhoeniX WorkX:
At least the current build of the reporter DLL tries to contact the game service
client by using a local network connection. During the connection build up process
the reporter DLL tries to get a hostname resolution for the IP address 127.0.0.1
(which is just the local loop back address normally used for establishing local
network connections on the same machine) by calling a certain Windows API call.
This call will fail with an error if neither the computer's local configuration
nor the network environment (DNS servers) it's integrated into provides such a
resolution.
You can use
represfix.exe
to overcome this problem or just to verify if it exists at all. represfix is a
windows console application. Just download it and start it either from within
a Windows command console window or from Start->Run menu or by double clicking on it in
the Windows Explorer (you can't provide command line switches then though).
As usual, I provided a
list with the version/MD5 information
at the end of this section in order to allow you to check if you actually got the
original version or a modifed one. If you have no md5 checksum test program yet
you can download
md5.exe. The
MD5 sources are also
available.
I made
represfix's source code available for download so paranoids like me can
compile their own version of the program after checking it for hacks and backdoors.
The source and project files are suited for use with Microsoft's Visual C++ 6.0
or higher.
TA Reporter DLL resolve fix call syntax
represfix [-c] [-n]
The -c switch causes represfix just to check if it's possible to resolve
IP 127.0.0.1 to hostname. If the resolution fails no action to fix the problem will
be taken.
Setting the -n switch avoids the 10 second delay before exiting the
program. The dealy is active by default in order to give the user enough time to
read error or success messages.
If the switch -c is omitted represfix will try to solve the problem by
placing an entry for IP 127.0.0.1 in the hosts file on the local computer.
The location of the hosts file depends on the operating system. For the
NT based family (NT, Windows2000, XP) it's
%SystemRoot%\system32\drivers\etc\hosts
and for the legacy branch (Windows95, Windows98, windowsME) it's
%winbootdir%\hosts.
represfix will figure out the operating system version automatically and build
an according file path. If the hosts file dosn't exist yet represfix will
create it and add the required entry. If it already exists the required entry will
just be added at the end of the file. After putting the entry into the
hosts file a second resolve request will be issued in order to check
whether the problem has been fixed or not.
TA Reporter DLL resolve fix exit codes
| Value |
Meaning |
| 0 |
No error occured.
|
| 1 |
The program was called by using a wrong syntax. Switches are only
allowed to occure once.
|
| 2 |
The operating system was not recognised. represfix only supports
WindowsNT, Windows2000, WindowsXP, Windows95, Windows98 and
windowsME.
|
| 3 |
API call GetWindowsSystemDirectory() failed. Check the OS error
part of the error message for possible reasons.
|
| 4 |
API call GetVersionEx() failed. Check the OS error part of the
error message for possible reasons.
|
| 5 |
API call WriteFile() failed. Check the OS error part of the
error message for possible reasons.
|
| 6 |
API call SetFilePointer() failed. Check the OS error part of the
error message for possible reasons.
|
| 7 |
API call CreateFiler() failed. Check the OS error part of the
error message for possible reasons. Note this error may occure with
an already existing hosts file too since represfix uses a
special mode of CreateFile() that will just open the file rather
than creating it if it already exists.
|
| 8 |
Resolution of IP 127.0.0.1 failed with WSANO_DATA even after
successfully adding an entry for IP 127.0.0.1 to the hosts
file. This indicates that the file may been placed into the wrong
directory by represfix. Contact me at
tcbw@tcbw.net for further
investigation.
|
| 9 |
API call gehostbyaddr() failed with an error
unlike WSANO_DATA. This means the table holding
the resolution entries could not be accessed at all rather than
the requested entry just not existing in the table.
|
| 10 |
API call WSAStartup() failed with an error. represfix is requesting
a minimum of windows socket version 2.2 function call support when
initializing the network access. Your computer may not support
such a high version of the winsocket implementation (especially on
windows95) and I may have to lower the minimum version number
represfix is requesting. Send me an email to
tcbw@tcbw.net in case this error
occured and I'll try to provide a solution.
|
TA Reporter DLL resolve fix version overview
| Build Date |
File Version |
MD5 fingerprint |
Changes / Bug Fixes |
| 2002/03/24 |
1,0,0,3 |
9aa2915203d5080194500dbbd6f0d603 |
-
Double use of exit code 2 corrected. The documented exit
code table above is not valid before this version.
|
| 2002/03/23 |
1,0,0,2 |
d78f44e4be9c0277fcf8628410a592eb |
-
Tell WSANO_DATA error apart from other errors when
gethostbyaddr() fails in order to be able to distinguish
between a missing entry in the resolution table and a
severe operating system error.
|
| 2002/03/23 |
1,0,0,1 |
3843119e0c23279fca05f4cbfdfaed71 |
Initial build
|
EchoStream server
EchoServer allows to echo the output of a program runnig on another
computer. The remote program has to povide the TCP/IP interface
to connect the echo server. The input has to be a simple, non wide character byte
stream (in Intel byte order) which is just echoed to the server's console windows as
it is.
This program provides all echo server funtionality needed at the remote end when
running taregfix2 version 1.0.1.0 or higher in echo mode. If you want to use
taregfix2 as a diagnostic tool for verifying TA versions and installations
on remote computers you need this simple echo server to get access to the remote
screen output.
Download the program's installer front end
EchoServer_setup.exe and run it once in order to install the
runtime manifestation EchoServer.exe in the Windows system folder.
You can verify the origin of this program by calculating it's MD5 fingerprint with a
MD5 calculator. Any checksum not appearing
on the list with valid MD5 fingerprints means
the file has not been compiled by me but someone else and may contain changes that are
not documented here. If you think that this MD5 program may already contain backdoor
hacks itself then get the MD5 sources
and compile it yourself.
Since programs providing network connections between two computers always have
the potential to be abused for unwanted remote access and manipulation it's even more
important than for any other type of program to provide the
EchoStream server source code.
Compile your own version of the program after checking it for hacks and backdoors if
you don't trust the compiled versions. The source and project files are suited for use
with Microsoft's Visual C++ 6.0 or higher.
EchoStream server call syntax
EchoServer -p <port number> [-a <peer IP allowed>]
-p is the TCP listen port number the echo server will listen on for
conenction requests of remote output stream sources. Basically you can pick any
<port number> that is not already bound by another apllication running
on the echo server computer. If you pick an already bound port you will get an
according error message when EchoServer fails to bind that port.
-a is an optional parameter that allows to restrict the access to
the echo server to a single peer IP. When set EchoServer checks the IP
address of the remote computer the first time it connects. If the peer IP differs
from <peer IP allowed> then the server closes its end of the
connection immediatly without reading any data from the connection.
Keep in mind that you have to forward connection requests on
<port number> to the computer of the inner network you run
EchoServer on if you are behind a router. You have to open any firewall
between the echo server computer and the remote client for
<port number> as well otherwise no connection will be possible.
You can terminate EchoServer by closing the console window or hitting
the CTRL-C key kombination.
EchoStream server exit codes
Some of these return codes are used by both manifestations of EchoServer
(the installer EchoServer_setup.exe and the run time instance
EchoServer.exe) some are only used by one of the two. The 'Used By' column
states which of the manifestations returns which value.
The documented exit codes are only valid for the latest version. Earlier versions
may have used different exit codes.
| Value |
Used by |
Meaning |
| 0 |
both |
No error occured.
|
| 1 |
EchoServer_setup.exe |
Windows API call GetSystemWindowsDirectory() failed. The program couldn't
identify the Windows operating system root directory. Check the OS error
part of the mesage for more details.
|
| 2 |
EchoServer_setup.exe |
Windows API call CreateFile() failed. The program couldn't open the source
file (EchoServer_setup.exe). Check the OS error part of the message
for more details.
|
| 3 |
EchoServer_setup.exe |
Windows API call CreateFile() failed. The program couldn't create or open
the target file (EchoServer.exe) in the Windows operating system
root folder. Check the OS error part of the message for more details.
|
| 4 |
EchoServer_setup.exe |
Windows API call ReadFile() or WriteFile() failed. The program could open
the source file and could create or open the target file but an error
occured in the middle of the copy process. Check the OS error part of the
message for more details.
|
| 101 |
both |
Windows API call GetModuleFileName() failed. The program could not determine
its launch location. Check the OS error part of the message for more details.
|
| 102 |
EchoServer.exe |
The program was called by using an incorrect syntax.
|
| 201 |
EchoServer.exe |
Startup of TCP/IP network interface failed. The echo server is requesting
a minimum of windows socket version 2.2 function call support when initializing
the network access. Your computer may not support such a high version of the
winsocket implementation with old Microsoft operating systems like Windows95. I
either have to lower the minimum version number which is requested
or the problem is related to a problem with your network
installation on this computer. Send me an email with the exact error message
to tcbw@tcbw.net in case this error occured.
|
| 202 |
EchoServer.exe |
Windows API call inet_addr() failed. The parameter -a was used and
the IP address character string given couldn't be converted into a valid IPv4
address.
|
| 203 |
EchoServer.exe |
Windows API call socket() failed. This is very likely to be caused by a problem
with the state of the network interface on your computer. Check the OS error
part of the mesage for more details.
|
| 204 |
EchoServer.exe |
Windows API call bind() failed. Check the OS error part of the message. You
probably tried to use a <TCP port number> which os already in use
by another program on this computer.
|
| 205 |
EchoServer.exe |
Windows API call listen() failed. Check the OS error part of the message for
possible reasons.
|
| 206 |
EchoServer.exe |
Windows API call accept() failed. Check the OS error part of the message for
possible reasons.
|
| 207 |
EchoServer.exe |
Windows API call asetsockopt() failed. Check the OS error part of the message for
possible reasons.
|
EchoStream server version overview
| Build Date |
File Version |
MD5 fingerprint |
Changes / Bug Fixes |
| 2003/05/11 |
1,0,1,0 |
e9212dfeb0c8385a29527992f9be538f |
-
Fixed severe bug in EchoStream interface that could cause
the program to hang in cdiag output.
Althought the bug could theoretically affect any application using
the cdiag stream template it seems that certain timing
conditions had to be fulfilled as well to trigger it.
-
Disabled delayed TCP ACK since except pure ACK packets no data
will ever be send to the peer. This increases the output
speed on both ends.
-
Installer support added, two mainfestations of the same program
exist from now on: The installer front end
EchoServer_setup.exe and the runtime version
EchoServer.exe
-
Exit codes changed due to revision of shared sources for the
Installer and EchoManager classes.
-
Program now works with 'real' command line parameters rather than
relying on fixed positions for the values.
|
| 2002/05/31 |
1,0,0,0 |
5eb26b89eaff7a7d6d4906c580a50d01 |
Initial build
|
|