Knowledge Base

Preserving for the future: Shell scripts, AoC, and more

LU Explorer tools

README for lu-explorer-tools

This is a collection of tools that help set up a local copy of https://explorer.lu. You need a lot of assets, such as images, and a customized sqlite and fdb (database used by the game client). It's not either/or: It's both the sqlite and fdb files. The map files are optional.

All these tools help prepare the game contents, but you still need to compile the code for the site (https://github.com/LUDevNet/lu-explorer/) and point it to the output assets of these scripts.

Upstream

Screenshot showing a customized loot table 444 (Crux Prime enemies)

Alternatives

Visit upstream which shows you the vanilla dataset.

Reason for existence

By running your own copy of explorer.lu, you can point it at any fdb/sqlite combo, such as the Nexus Universe dataset, to view their loot tables and items. Note that their custom vendor items are defined in a vanity xml and not in the database.

Using

Start by preparing the client assets, e.g., to /usr/src/lu-explorer/res. That would be directory res/ from an unpacked client.

Some tools listed below are from the Assembly tools release tarball and are not from this lu-explorer-tools package.

First, you have to build a template fdb file. Res-patches is the path of the expanded internal patchsets.

tools/template-fdb /usr/src/lu-explorer/res-patches/res/cdclient.fdb template.fdb

Next, prepare the fdb from the original cdserver.sqlite file you wish to use. Use Assembly tools binary sqlite-to-fdb or https://fdb.lu-dev.net/.

sqlite-to-fdb template.fdb res/CDS
tools/sqlite-to-fdb template.fdb res-patches/CDServer.2025-11-09.batlordcape-in-loottable1.sqlite res-patches/cdserver.fdb

Run prepare-sqlite-from-fdb-and-locale.sh which adds the PRIMARY KEY constraints needed by the lu-explorer web app, and localized strings.

CDCLIENT_SCHEMA=cdclient_schema.sql.attempt1 ./prepare-sqlite-from-fdb-and-locale.sh res-patches/res/cdclient.fdb res-patches/locale/locale.xml res-patches/cdclient.sqlite

Next, prepare the images by converting the .dds files to .png files.

APPLY=1 INDIR=/usr/src/lu-explorer/res OUTDIR=/usr/src/lu-explorer/lu-res ./convert-res-to-lu-res.sh

For additional patches on top of a vanilla client, that are extracted to this input directory, run this.

VERBOSE=1 APPLY=1 INDIR=/usr/src/lu-explorer/res-patches/res OUTDIR=/usr/src/lu-explorer/lu-res ./convert-res-to-lu-res.sh

Optionally, retrieve the map contents, which are json format.

./fetch-luz-json.sh cdserver.sqlite

Dependencies

  • The Assembly git repo and its releases v2.
  • An unpacked client.
  • Be aware that the lu-explorer tool also depends on a packed client, because of directory versions/ and probably more.

Building

N/A

References

Inline.

Comments