Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Yes, for the data it contains, the game client is a better starting point than a hand-maintained wiki. Ian’s September 30, 2026 DEV Community post describes Lootlore, a private game database project whose first supported game is MapleStory Classic World, built by extracting records and artwork directly from the client’s data archives. The same post is clear that the client is not the whole answer: damage formulas and DPS tables came from two community sites. The practical rule is to read the client first and treat other sources as supplements for whatever the client does not carry.

What Lootlore is and what the post claims

Lootlore is a database website and character builder under development. According to the author, it reads the data that MapleStory Classic World ships with its client, converts that data into linked records, and presents those records with map markers, monster icons and tooltips. The post is a personal development update that covers several subjects, and this article concerns only the part about data sourcing. The author’s account does not establish public availability for the site, and nothing in it confirms that the project’s output has been checked against an independent reference.

Why start with the client

A wiki is written by people who read the game, test it and copy what they find into pages. That process is useful, but every page is a second-hand copy, and it can drift from what the game actually contains after an update. The client’s data archives are the first-hand copy. Reading them means the database starts from the same files the game loads, so each record can be traced back to a specific file rather than to a page someone edited.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The author states the principle in one sentence: “The client is the ground truth, but it does not carry everything.” The first half is the reason to read the client. The second half is the reason this approach needs a fallback plan.

How the pipeline works

The post describes the extraction steps in the order a developer would need them. Each step below is the author’s description of his own code, not a documented procedure for every client version.

  1. Open the WZ archives by byte range. The files are read at specific offsets rather than loaded whole into memory, which keeps a set of roughly 420 MB across 298 files manageable.
  2. Derive the string key and directory offsets. The archive format uses a string key, and the offsets of its directories depend on the client version. Both must be computed before any record can be located.
  3. Decode compressed image data. Artwork is stored compressed. The pipeline decompresses it, converts it to RGBA pixels and writes PNG files for the website.
  4. Keep the source data before transforming it. Raw values are retained, and only then are they reshaped into common record structures. This keeps a route back to the original value if a transformation turns out to be wrong.
  5. Link the records. Items, monsters and maps are connected to one another so that the site can show, for example, where a monster appears and what it drops.

The zlib detail that broke a naive decoder

The most useful technical note in the post concerns image decompression. The author found that the client ends its zlib streams with a sync flush but no final block and no checksum. Node’s default inflateSync reads that ending as a truncated stream and fails. Passing the finishFlush option with the sync flush value returned the image data in the files he processed:

zlib.inflateSync(buffer, { finishFlush: zlib.constants.Z_SYNC_FLUSH })

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This is a case-specific fix. Other client versions, or other archives produced by the same client, may end their streams differently, so the option should be tested against each set of files before it is trusted.

Where the client stops

The client supplies records and artwork. It does not, according to the author, supply the calculations players use to compare builds. The table below separates the two kinds of material as the post describes them.

Kind of information Where the post says it comes from Note
Game records (items, monsters, maps and their links) Extracted from the client’s WZ archives Traced to the source file because raw values are kept
Artwork (icons and images) Decompressed from the client’s archives and converted to PNG Depends on the zlib handling described above
Damage formulas Two community sites The post does not name these sites
DPS tables Two community sites Same two sites; the post does not give the figures’ date or method

The gap in the last two rows is the reason the author calls the client incomplete rather than authoritative for everything. A database that needs DPS comparisons has to decide which community source to trust, and that decision sits outside the client.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Figures the author reports

The post gives two numbers about the project’s scale. Both are the author’s own descriptions and are presented here as he gave them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Figure Value Who reported it and when What it describes
Client archive set 298 files, about 420 MB Ian, in his September 30, 2026 post The WZ archives in the client version he processed
Early database build About 4,400 records after three days Ian, in the same post An early stage of building Lootlore, not a total for the finished site

Neither figure says how many records a complete database would contain, and neither describes a later client update.

A checklist for choosing a source

If you are planning a database for a game, the author’s approach suggests the following order of questions:

Quick Recap

  • Does the client archive hold the data you need? If so, extract it first and keep the raw values next to the transformed records.
  • Does the data depend on the client version? Record the version you processed, because the directory offsets and stream endings described above can change.
  • Is the information a calculation rather than a stored value? Damage formulas and DPS tables are not stored as plain records in the post’s account, so plan a separate, named source for them.
  • Can each derived value be traced to its origin? A record that cannot be traced back to a file or a named source should be marked as such.

Limits of this account

  • The post is a first-person development update. It does not provide independent validation of the extraction code, the accuracy of the database, or a general comparison between game clients and wikis.
  • The author identifies the client as the ground truth for the data it contains. That is a claim about one game and one approach, not a rule that every client is more accurate than every wiki.
  • The two community sites that supplied damage formulas and DPS tables are not named in the post, so their accuracy cannot be assessed from the account.
  • The findings describe the MapleStory Classic World client as the author processed it. Later client versions, archive changes and the project’s availability may differ.

“

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.