[bf1942] XML Logging Seems Broken

Forrest Thiessen thiessen at alum.mit.edu
Fri Aug 1 02:05:23 EDT 2003

I'll try again in the morning (we're GMT-7) with "vanilla" BF and see
what happens; assuming I get the same thing, would it be helpful if I
sent you a .zxml exhibiting the effect directly (not via icculus)?

  thiessen at cyberscapearena.com

-----Original Message-----
From: Andreas Fredriksson [mailto:andreas.fredriksson at dice.se] 
Sent: Thursday, July 31, 2003 11:49 PM
To: 'Forrest Thiessen '; 'bf1942 at icculus.org'
Subject: RE: [bf1942] XML Logging Seems Broken


there can probably be bugs in the XML generation, I wrote it for a
period of
about 12 hours total spread over 10 days :-)

I haven't seen the errors with vanilla BF though, do you get the same
without custom mods? The difference would be template names and to a
degree the event ordering if they have modified the template hierachies
ways I didn't think about.

// Andreas

-----Original Message-----
From: Forrest Thiessen
To: bf1942 at icculus.org
Sent: 8/1/2003 6:52 AM
Subject: [bf1942] XML Logging Seems Broken

Hi!  A colleague and I are working on implementing a stats package for
BF1942 based on the new XML logs.  Unfortunately, when we ran logs
generated from our servers through our first cut at parsing software it
spits out a slew of errors. . . tracking those errors back into the
source XML log files, we do indeed see quite a few errors. . .
generally, missing tags of one sort or another.

For example, here's a snippet of contiguous lines from a raw log file
(from a BF1942 1.4 server running Desert Combat 0.38):

<bf:event name="enterVehicle" timestamp="1023.61">
    <bf:param type="int" name="player_id">230</bf:param>
    <bf:param type="vec3"
    <bf:param type="string" name="vechicle">RHIB_GunnerPCO</bf:param>
    <bf:param type="int" name="pco_id">1</bf:param>
    <bf:param type="int" name="is_default">0</bf:param>
    <bf:param type="int" name="is_fake">0</bf:param>
    <bf:param type="int" name="player_id">255</bf:param>
    <bf:param type="vec3"
    <bf:param type="string" name="vechicle">UH-60</bf:param>
    <bf:param type="int" name="pco_id">0</bf:param>
    <bf:param type="int" name="is_default">0</bf:param>
    <bf:param type="int" name="is_fake">0</bf:param>

As you can see, the first <bf:event> object is fine, but the second one
is missing the leading <bf:event> tag (it's probably another
enterVehicle event).

Here's another raw example:

<bf:event name="enterVehicle" timestamp="3165.84">
    <bf:param type="int" name="player_id">255</bf:param>
    <bf:param type="vec3"
    <bf:param type="string" name="vechicle">Mi24D</bf:param>
    <bf:param type="int" name="pco_id">0</bf:param>
    <bf:param type="int" name="is_default">0</bf:param>
    <bf:param type="int" name="is_fake">0</bf:param>

In this case, none of the <bf:event> object is present, except for the
closing </bf:event> (or, alternately, I suppose you could say the
</bf:event> is spurious, and shouldn't be there, but that's an error,

These are just a couple of examples; the log files are full of these
kinds of errors, and they make it impossible to parse them as XML.  You
could still extract the very basic stats data by ignoring the vast
majority of the log, but that's ugly, and besides, we were hoping to
extract all kinds of interesting statistical information from that data
(for example, percentage of time each player uses various kits, or how
much time they are on foot versus what vehicles they use).

On the off chance the decompression software wasn't working, we've tried
parsing both compressed and uncompressed logs; the same problems occur
both ways.

Has anyone else seen this?  If this is a real bug in the dedicated
server software, Andreas or others at Dice, is there anything we can do
to help get it debugged?


--Forrest Thiessen
  thiessen at cyberscapearena.com

More information about the Bf1942 mailing list