[Tinymux] Ontime bug in Win32 TinyMUX
Gary Russinko
russig at rpi.edu
Wed Mar 8 16:18:44 EST 2006
I just wanted to toss in a note saying I'm now noticing this problem on one
of the two games I have running. One game (running 2.3.4.23) has no
troubles, while the newer one (running 2.4.2.27) is presently counting time
backwards - it's showing the current date as Friday, 2/24, and players have
been on for negative 2 hours, etc.
For reference, the machine is an AMD K6-3D, 475MHz, running Win XP Pro SP2.
-Gary
_____
From: tinymux-bounces at tinymux.org [mailto:tinymux-bounces at tinymux.org] On
Behalf Of Thanotos
Sent: Tuesday, March 07, 2006 10:56 PM
To: tinymux at tinymux.org
Subject: Re: [Tinymux] Ontime bug in Win32 TinyMUX
I have to say, I'm really impressed with the speed and comprehensiveness of
your reply, thank you!
Aye, the problem was indeed that I wasn't using a flatfile, following your
instructions I've transfered the database completely, which has, of course,
cleared up the problem for the time being.
If it helps with your work on the time issue, I'm currently running Windows
XP Pro on an Intel Pentium 4 processor. There's actually another level to
the problem, if you're interested: the glitch isn't consistant. I compiled
another game using the Win32 port at one point to see if the problem of the
resetting timer remained, and although I didn't set it up any differently,
in addition to resetting the timer on the second game kept track of time
second by second, instead of minute by minute.
Thanks again for your prompt help, and I'll be sure to try out any upcoming
fixes and provide you with any information I can.
On 3/7/06, Stephen Dennis <brazilofmux at gmail.com> wrote:
I'll explain in detail in detail in a moment.
By moving the Win32 netmux.exe into the cygwin folder, you are just
using Cygwin shell to launch the Win32 executable, but otherwise, it
will do exactly what it did separate from Cygwin.
That your characters, text, and passwords didn't transfer indicates
that either it was using disk-based on one end and memory-based on the
other or you didn't unload to a flatfile.
I'm working through a time bug on the Win32 side on late-model AMD
processors with someone else. After awhile, on their game, they were
able to see time run backwards -- not just jump backwards, but
continuously tick backwards second-by-second. It has to do with
GetPerformanceCounter() and GetSystemTimeAsFileTime(). TinyMUX
develops a linear relationship between the two, and AMD processors as
well as some motherboards with certain South Bridges glitch
GetPerformanceCounter() which can flip or the linear realtionship. The
On For column shows 0:00 because the value is negative.
So, which processor are you using?
I'm working through the GetPerformanceCounter() issue, and at
worst-cast, would provide a configuration option that disables it's
use.
However, to transfer your database, remember that ./Startmux looks
muxconfig.vbs for the following:
gamename = "netmux"
It then forms netmux.conf from this and passes this name to
TinyMUX.exe. Inside netmux.conf, the following lines are important:
output_database data/netmux.db.new
game_dir_file data/netmux.dir
game_pag_file data/netmux.pag
Attribute names, and object anchors are saved in netmux.db.new, and
all your textual information is stored in netmux.pag and netmux.dir.
You need to unload to a single, flat file before transfering the
database elsewhere. From within mux2.4/game/data, do the following:
db_unload netmux netmux.db.new netmux.db.flat
The above command will combine the information from the above three
file into a single file, netmux.db.flat).
On the Cygwin side, what you do depends on whether you compiled the
game as memory-based or disk-based. By default, it builds itself as
disk-based, so with netmux.db.flat, do the following:
./db_load netmux netmux.db.flat netmux.db
That should create netmux.db, netmux.pag, and netmux.dir.
If you compiled the game as memory-based, then copy or rename
netmux.db.flat to netmux.db.
Only copy the database, config files, and text files between Win32 and
Cygwin. Please don't copy random parts from the Win32 side to the
Cygwin side. It will just create problems.
Brazil
_______________________________________________
Tinymux mailing list
Tinymux at tinymux.org
http://www.tinymux.org/mailman/listinfo/tinymux
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.tinymux.org/pipermail/tinymux/attachments/20060308/351d84f6/attachment.htm
More information about the Tinymux
mailing list