Logfiles - HWRM/KarosGraveyard GitHub Wiki

Explanation of the .CSV logfiles in "Homeworld2\Bin\Logfiles" by Mikali.

Introduction

Logfiles contain information regarding the number and type of squadron each player builds during the course of a game, as well as information regarding any research/upgrades completed. You're also told the RU value of each squadron, the number of individual ships that make up a squadron of that type, and the status of the squadron at the end of the game.

The file extension, ".csv", denotes that the file is a Comma-Separated list of Values. What this means is that each value is separated by a comma and nothing else. CSV files should be openable in most spreadsheet programs. Otherwise, use a text editor to edit/view the files.

To enable the generation of these logfiles, you must add the "-dumpPlayBalanceStats" command-line switch at the end of your Homeworld 2 shortcut.

Unfortunately, the information contained in the logfiles is not as detailed as it might have been--e.g., you're not told the time of construction, death, or completion of research. Fortunately, in addition to the aforementioned logfiles, there are a set of stat files that you can find in your "Homeworld2\Bin\Profiles\Profile<n>\Stats" folder. These stat files tell you the same information that appears in the "Game Statistics" screen at the end of each multiplayer/skirmish game, and are generated automatically at the end of a game (e.g., you don't need a special command-line switch to generate these files).

Logfile File-names

Logfile file-names consist of the word "univstats", followed by the campaign name and a time-stamp marking the time when the game ended (i.e., when the file was written). The meanings of the different parts of a filename are as follows:

univstats-(<CampaignName>).<Year>.<Month>.<Day>.<Hour>-<Minute>-<Second>.csv

Logfile Contents & Syntax

The logfile contents are sorted first by player, then by whether the entry refers to a squadron or an upgrade (subsystems aren't listed, unfortunately). These sections are then further sorted alphabetically, in the case of ships, or alphabetically and by tech level, in the case of upgrades.

Game Length
The very first line is unique, in that it consists only of a single keyword, combatDuration, followed by a number. The number after the keyword tells you the amount of time it took for the game to come to completion, in seconds.

Squadrons
Following the combatDuration keyword are the squadron stats. The lines in the squadron section all follow the same general pattern:

<bSquadronStatus>,<iPlayerID>,<sSquadronName>,<iCostPerAliveShip>,<iCostPerShip>,<iNumberShipsInSquadron>

<bSquadronStatus> refers to whether the ship was alive at the end of the game or not.
<iPlayerID> is the unique identifier of the player used in game scripting.
<sSquadronName> is the name of the ship as it appears in the data files.
<iCostPerAliveShip> is the cost or value of each ship if it was still alive at the end of the game (this way, all you have to do is add all the values in the column in order to determine the value of the surviving fleet).
<iCostPerShip> is the cost of a ship, regardless of whether it survived.
<iNumberShipsInSquadron> is the number of ships that are in a squadron (for example, three Hiigaran Scouts make up one squadron).

Upgrades
The upgrades section only contains three values per line: the word "upgrade" (signifying that it is an upgrade and not a squadron), the player's ID, and the name of the upgrade. For example:

upgrade,5,FrigateInfiltrationTech

If an upgrade appears in the list, it means that the payer completed research of that item. If the upgrade does not appear in the list, then the upgrade was never completed by the player.

Comments

Page Status

Updated Formatting? Initial
Updated for HWRM? Initial

⚠️ **GitHub.com Fallback** ⚠️