Skip to main content

Trackmania / Maniaplanet — XeNTaX Forum Knowledge

Extracted from XeNTaX forum discussions (2013–2023). Covers the GBX file format, Nadeo's proprietary Pak (NadeoPak) archive format, and community tools/scripts for extracting 3D models and audio from Trackmania, TrackMania 2 and TrackMania Turbo (Maniaplanet).


1. GBX File Format (Trackmania Wiki + forum)​

GBX is the proprietary format used by Nadeo games (Trackmania, Maniaplanet). (Trackmania Wiki; forum threads t=11078, t=24378)

Format characteristics​

  • Binary format; text variants exist in older games (e.g. the TM Nations ESWC game config). (Trackmania Wiki)
  • Content is serialized objects with an additional header describing the main object type. (Trackmania Wiki)
  • The file magic is the ASCII string GBX (3 bytes) at offset 0. (shakotay2's patched Noesis script, t=24378)
  • Extension is sometimes lowercase (.gbx). (Trackmania Wiki)

Double-extension naming​

ExtensionContents
.Map.GbxMap file
.Replay.GbxReplay
.Pack.GbxTitle / content pack (the Pak format)

(Trackmania Wiki)

2. Pak Archives (NadeoPak)​

NadeoPak header​

TrackMania Turbo (Maniaplanet4, 2016) uses Nadeo's proprietary Pak format; the header identifies it as a NadeoPak r18 container. (WRS, 2016-11-15, t=14143)

Protection / encryption​

  • As of 2016, there were no working extractors for Maniaplanet Paks because the archives are protected by a key — apparently Blowfish encryption. (Matsilagi, 2016-11-18, t=14143)
  • A Maniaplanet forum tool (version 1.57) was expected to support r18 Paks, but it only read the headers and showed no data. (WRS, 2016-11-15, t=14143)
  • A Pastebin link with further analysis was shared but expired/removed by
  1. (Matsilagi 2016-11-18; fajNYgosciu1234, 2021-08-21, t=14143)

Known PAK specification​

The PAK specification was documented on the community wiki (en.tm-wiki.org/wiki/PAK), but no working extractor was found at the time. (friuns, 2013-12-25, t=11078)

3. Extracting 3D Level Parts​

Whole-level ripping with dxripper​

dxripper could extract a Trackmania 2 level as one single mesh, but it could not produce the individual level parts with correct file names that modders needed. (friuns, 2013-12-25, t=11078)

GBX → OBJ conversion​

After unpacking, level parts appear as .gbx files; converting them to OBJ was a repeated request — via a Noesis script (see §4) or a Blender script. (friuns, 2013-12-26, t=11078; djibsone2, 2023-04-09, t=24378)

4. Noesis GBX Plugin / Script (t=24378, 2021–2023)​

Origin​

The Noesis plugin for .gbx came from the VG Resource forums (vg-resource.com/thread-37380.html), written by Tuliopilloto, and was tested only against a single sample file. (fajNYgosciu1234, shakotay2, 2022-11-23)

Known limitations​

LimitationDetail
ASCII GBX unsupportedThe plugin fails on ASCII-variant .gbx files. (fajNYgosciu1234, 2021-12-22)
Decompressed GBX partial supportCannot read some/most cars after GBX decompression; errors like uv size. (fajNYgosciu1234, 2022-11-23, 2023-05-20)
Single sub-mesh onlyShakotay2's patched script loads one sub mesh; fails on MainbodyHigh.Solid.Decompressed.Gbx. (shakotay2, 2022-11-23)
Clumped mesh problemAll vertices appear at the same location — vertices need transformation with bone transformation info. (fajNYgosciu1234, shakotay2, 2022-01-17)
Mesh countMesh-amount problem was fixed by the user, but remaining issues persisted. (fajNYgosciu1234, 2021-08-29)

Mesh layout hints (from shakotay2's patched script)​

The GBX mesh format "looks simple" (shakotay2, 2022-01-17). Structural offsets observed in the Noesis script:

header: "GBX" magic (3 bytes)
seek +0x89 (relative) -> NumMeshes (uint32)
per mesh:
pattern search \x0E\x60\x00\x09\x38\x00\x00 -> mesh block
MaterialName: 8 bytes ASCII
VCount: uint32
UVs: VCount * 8 bytes (float2, stride 8)
Vertex buffer: FVF size 40 bytes per vertex (position float3 + ...)
FCount: uint32
Indices: FCount * 2 bytes (uint16, triangles)

(shakotay2, 2022-11-23, t=24378)

Note: Fails on MainbodyHigh.Solid.Decompressed.Gbx; no working sample accompanied the script, which limited further debugging. (shakotay2, 2022-11-23)

Textures in mappack samples​

Some samples extracted from mappacks contain no embedded textures — textures are stored separately, "like Table Top Racing stores it in .amodel". (fajNYgosciu1234, 2023-05-20, t=24378)

5. Audio Ripping (TrackMania Turbo)​

TrackMania Turbo's car sounds are packed inside the proprietary Pak format (rather than ZIP); unpacking was requested to rip them, but the Blowfish protection (see §2) blocked extraction as of 2016. (Matsilagi, 2016-03-25 to 2016-11-18, t=14143)

6. Tools Mentioned​

ToolPurposeNotes
dxripperRips whole level as a single meshNo per-part filenames
Noesis + Tuliopilloto's .gbx pluginGBX model import → OBJFrom vg-resource.com thread-37380; ASCII GBX unsupported; partial decompressed-GBX support
Maniaplanet forum tool (v1.57)Pak extractionReads headers only; no data shown on r18
en.tm-wiki.org/wiki/PAKPAK spec documentationWiki spec only; no working extractor found

Source: XeNTaX forum threads t=11078 ([Request] Trackmania 2), t=14143 (TrackMania Turbo Maniaplanet4 PAK), t=24378 (trackmania noesis problem); GBX format knowledge from the Trackmania Wiki.