[Tinymux] Ontime bug in Win32 TinyMUX
Thanotos
thanotos at gmail.com
Tue Mar 7 22:56:23 EST 2006
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/20060307/a288f0cc/attachment.htm
More information about the Tinymux
mailing list