FauFau 2.0.1

dotnet add package FauFau --version 2.0.1
                    
NuGet\Install-Package FauFau -Version 2.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FauFau" Version="2.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FauFau" Version="2.0.1" />
                    
Directory.Packages.props
<PackageReference Include="FauFau" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FauFau --version 2.0.1
                    
#r "nuget: FauFau, 2.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FauFau@2.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FauFau&version=2.0.1
                    
Install as a Cake Addin
#tool nuget:?package=FauFau&version=2.0.1
                    
Install as a Cake Tool

FauFau

FauFau is a library for manipulating FireFall's various file formats and protocols

This library was created for educational purposes only and should not be used by anyone.

Library is automatically published to NuGet: https://www.nuget.org/packages/FauFau

Contents

Most formats derive from Bitter's BinaryWrapper, so they read from a file path, a byte array or a stream with Read(...). The game file paths are relative to the client's system folder.

Static Database

Class Files Notes
StaticDB db/clientdb.sd2 Reads and writes the static database of 1297 and later, every cell as an object
StaticDBView db/clientdb.sd2 Read-only, keeps the file in one pooled buffer and reads cells on access
StaticDBNames Maps the FNV hashes of table and column names back to names, e.g. from SDBrowser's fields.txt
LocalizedText Turns the parameter header of dblocalization::LocalizedText strings into {0} placeholders
LegacyStaticDB db/clientdb.sdb, db/commondb.sdb Read-only, the database of the builds before 1297, including the scrambled one of 1265

Replays

Class Files Notes
Nsr *.nsr Reads and writes replays, also older, nested gzip and cut off ones
NsrView *.nsr Read-only, keeps the unpacked replay in one pooled buffer
NsrInfo *.nsr Reads the sections and counts the packets from a stream, without keeping them in memory

World

Class Files Notes
Zone maps/*.zone Reads and writes zones, the layers and the terrain chunks they reference
GtChunkV8 maps/chunks/*.gtchunk Terrain chunks, decompresses the layers of each LOD and sub chunk
GtLayer The layer tree that zones, chunks and environments share, typed by the id of the layer and its parent
GtContainerLayer, GtDataLayer Layers that hold child layers, and layers FauFau has no type for
WorldLayerIds The ids of the zone and chunk layers
EnwfLayer The collision layers of chunks and the world chunk import of zones, mesh and Havok data
CameraSequenceLayer The cinematics of a zone: camera nodes, shots, NPCs, sounds, effects and lights
ZoneBoundsLayer The bounds of a zone
ZoneSkyboxLayer The skybox record of a zone
ZoneChunkRangeLayer The chunk coordinates a zone covers
ZoneChunkRefLayer A terrain chunk of a zone, from the ChunkRef and ChunkRef2 layers
ZonePathLayer The steps of a path
MeldingPerimeterLayer A melding perimeter and its control points
SubZoneRegionLayer The area of a sub zone as a bitmap
SubZoneGridLayer The sub zone of each cell of a chunk
EncounterNameRegistryLayer The encounter names of the props of a zone or chunk
Environment10000Layer Two vectors of the default environment of a zone
WorldDir maps/*.worldDir The index of a zone's world map tiles
WorldMap maps/worldmapchunks/*.worldMap A world map tile with its textures and geometry
Bnv assetdb/*.bnv Environment assets, the environment layer on its own
ScZone assetdb/*.scZone The props and environment of the 3D scenes in the UI

Assets

Class Files Notes
AssetDb assetdb/ Folder and file names of an asset id
BMesh, BMesh32 assetdb/*.bMesh Meshes, BMesh32 also writes version 32
Czi assetdb/*.czi, assetdb/*.czip Color zone index maps and patterns, the recolorable areas of a texture
VTexIndex, VTexTile vt/static.vtex_idx, vt/static.vtex0 to 6 The virtual texture and its tiles
VGeoIndex, VGeoPage vg/static.vgeo_idx, vg/static.vgeo The virtual geometry and its pages
LowMipTexturePak vt/lowmiptextures.pak The smallest mips of the textures

Client Patches

Class Notes
Patcher Loads FirefallClient.exe, applies patches in memory and saves the result
RedHandedBypass Skips the RedHanded anti-cheat, so the client starts without it
UnlimitedFreeCamRadius Removes the radius limit of the replay free camera
BytePattern Byte patterns with wildcards like 8B ?? 4?, for finding the patch locations

Web

Class Notes
Auth The user id, secret and token of the Red 5 login
Red5Sig Parses, creates and verifies the X-Red5-Signature header of the client's web requests

Utilities

Class Notes
Checksum FFnv32, the hash of the static database names, and CRC-32
MersenneTwister The generator the client scrambles data with, plus Xor and Fill for its first outputs
Compression Raw deflate and gzip between binary streams
FastLz FastLZ decompression
Hex Hex encoding into strings and spans
EntityGuid Packs and parses entity guids
WarpaintColor Packs the light and dark shade of a warpaint color
Time Unix timestamps and the in-game time
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.1 65 10/10/2026
2.0.0 84 10/9/2026
1.5.4 1,040 9/7/2026
1.5.3 141 9/6/2026
1.5.2 189 7/24/2026
1.5.1 5,945 5/13/2026
1.5.0 311 1/16/2026
1.4.0 254 9/28/2024
1.3.0 1,241 4/29/2024
1.2.1 514 4/23/2023
1.2.0 371 4/10/2023
1.1.0 608 6/6/2021