#brickadia #msgpack-schema #brs

brdb

A library for reading and writing Brickadia's World files

12 releases (4 breaking)

Uses new Rust 2024

0.4.0 Sep 30, 2025
0.3.5 Sep 17, 2025
0.2.2 Jul 15, 2025
0.1.0 Jul 6, 2025
0.0.0 Jul 6, 2025

#1371 in Parser implementations

Download history 1/week @ 2025-08-15 4/week @ 2025-08-22 723/week @ 2025-09-12 112/week @ 2025-09-19 130/week @ 2025-09-26 46/week @ 2025-10-03 10/week @ 2025-10-10 14/week @ 2025-10-17 4/week @ 2025-10-24

1,007 downloads per month

CC0 license

540KB
14K SLoC

BRDB-RS

This library provides an interface for reading and writing Brickadia's World files, which are stored in the .brdb format.

It also contains code for assisting with parsing msgpack-schema files as defined in Zeblote's Brickadia msgpac-schema Gist. Some undocumented changes to this format are required to fully read/write .brdb files.

The .brz format is described in Zeblote's Brickadia brz Gist.

API

See Examples to see how to read/write worlds.

TODO...

Notes

  • Webassembly support requires rusqlite to support the wasm32-unknown-unknown target. When this is merged, the brdb crate should be able to support WebAssembly.
  • This library does not contain every in-game asset name (item classes, etc) so a world with those values needs to be parsed to determine their respective values.
  • The structs and component data inside worlds may change as Brickadia updates. The game should support migrating old worlds, but newly created worlds may have unexpected fields in them.

Liability

Use these libraries on your saves at your own risk:

  • This library may generate invalid .brdb files, which may cause the game (or your computer) to crash or behave unexpectedly. Report these bugs to the Brickadia team.
  • This library may modify the contents of your .brdb files in ways that are not easily recoverable. Make backups of worlds you plan to modify with this library.

Dependencies

~9–16MB
~300K SLoC