Guide

Reading War3Log.txt: what matters and what to ignore

War3Log.txt is the first file people share when a map breaks. Most of it is noise and it never records the crash itself, but a few lines are worth a lot.

What you see

  • War3Log.txt is full of errors, even after a melee game.
  • Lines such as model creation failed, Error loading texture or frame already encountered.
  • Item Inventory Index Out Of Bound - Index: 4294967295.

Why it happens

The game's own interface files and data reference keywords and assets that the current version does not have, so every session logs errors that have nothing to do with your map: lines from UI\FrameDef\UI\, Referencing unknown database field, Perforce paths, Testing Display Mode.

The log does not record the crash itself. Use it for what happened before the crash.

Lines that name your own files matter: war3mapImported\ paths, your model paths, Could not load file. A model creation failed line with an odd path such as .mdl.mdl or an attachment name usually means effect arguments in the wrong order, or an empty model path.

How to fix it

  1. Filter out the stock noise first, or compare with a log from a blank melee map on the same build.
  2. Search the map's script and object data for every path the log names.
  3. Check effect calls: AddSpecialEffectTarget(model, unit, attachment), in that order.
  4. For missing textures, make the import path match what the model references.

How WC3 Map Doctor detects it

Rules that look for this
  • Info
    Matches a known pattern: model creation failed - <path>" and "Error loading texture" - finding the real missing asset
    AUTO-war3log-model-creation-failed-1
  • Info
    Matches a known pattern: FDF errors from map UI - 'frame already encountered', 'cannot find frame to inherit from', 'Expected ",
    AUTO-war3log-fdf-already-encountered-1
  • Info
    Matches a known pattern: Item Inventory Index Out Of Bound - Index: 4294967295, TotalSlots: 6
    AUTO-war3log-item-inventory-index-1
  • Warnings
    war3map.imp lists an import that is not in the archive, or an archived asset is missing from the import table.
    BRK-import-missing-file

The lab version also reads War3Log.txt files directly and filters the known noise. That is not on the public site yet.

Sources

Written in our own words from our lab notes; these are the pages behind them.