FauFau 2.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package FauFau --version 2.0.0
                    
NuGet\Install-Package FauFau -Version 2.0.0
                    
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.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FauFau" Version="2.0.0" />
                    
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.0
                    
#r "nuget: FauFau, 2.0.0"
                    
#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.0
                    
#: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.0
                    
Install as a Cake Addin
#tool nuget:?package=FauFau&version=2.0.0
                    
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 The layers of a zone and the terrain chunks it references
GtChunkV8 maps/chunks/*.gtchunk Terrain chunks, decompresses the layers of each LOD and sub chunk
GtChunk_MeshData The collision mesh of a chunk's collision layers, plus their Havok data as raw bytes
GtLayer The layer tree that zones, chunks, world maps and environments share
WorldLayerIds The ids of the zone and chunk layers
ZoneBounds The bounds of a zone
ZoneSkybox The skybox record of a zone
ZoneChunkRange The chunk coordinates a zone covers
ZoneChunkRef A terrain chunk of a zone, from the ChunkRef and ChunkRef2 layers
ZonePath The steps of a path
MeldingPerimeter A melding perimeter and its control points
SubZoneRegion The area of a sub zone as a bitmap
SubZoneGrid The sub zone of each cell of a chunk
EncounterNameRegistry The encounter names of the props of a zone or chunk
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 0 10/10/2026
2.0.0 71 10/9/2026
1.5.4 1,030 9/7/2026
1.5.3 137 9/6/2026
1.5.2 186 7/24/2026
1.5.1 5,940 5/13/2026
1.5.0 306 1/16/2026
1.4.0 253 9/28/2024
1.3.0 1,240 4/29/2024
1.2.1 512 4/23/2023
1.2.0 370 4/10/2023
1.1.0 607 6/6/2021