XML Logging Seems Broken

Forrest Thiessen thiessen at alum.mit.edu
Fri Aug 1 00:52:37 EDT 2003


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"
name="player_location">1679.38/19.7/2117.92</bf:param>
    <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:event>
    <bf:param type="int" name="player_id">255</bf:param>
    <bf:param type="vec3"
name="player_location">2146/39.8499/2709.49</bf:param>
    <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>
</bf:event>

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"
name="player_location">2074.99/34.0194/1307.18</bf:param>
    <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>
</bf:event>
</bf:event>

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,
too).

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?

Thanks,

--Forrest Thiessen
  thiessen at cyberscapearena.com





More information about the Bf1942 mailing list