Skip to content
everloot

Download the data

No export to download yet

The published data as files you can build on: one JSON object per line, in two folders. observed/ is what players saw in the game and at least three installs agree on. game-files/ is what the game's own files say, kept apart because it is Blizzard's.

There is no published export yet, so there are no counts to show. A maintainer makes one by hand and puts it here. Until then the corpus API serves the anonymous records page by page, and the data files page has the older bulk files.

Licence and credit

observed/ is under CC BY-SA 4.0. Credit it with this line, and release what you build from it under the same licence:

Data from Everloot (https://everloot.app), CC BY-SA 4.0.

game-files/ is Blizzard's data and is not under that licence. Each row is found in game files, unconfirmed: it is in the files of the build named above, which does not mean it is, or will be, in the game. Everloot is a fan project and is not affiliated with or endorsed by Blizzard. The credits name the sources, and the data policy has the rules.

Method

A fact is a row in the observed files only when 3 or more installs agree on it: the same value for the same thing, from installs that are not the same player (Polestar Recorder installs that share a character or an address count once). Where installs disagree and no value has three, the fact is left out. The game-files folder holds what the game's own files say, read from the build named in the manifest, and are kept apart because they are Blizzard's.

  • A drop rate is the share of loot windows the game's loot API attributed to a source that held the item. It is not a kill-based drop chance, and a window is a loot, not a kill.
  • A position on a map is on the 0 to 100 map scale and is the median of the installs' positions. Positions in the game-files folder are in world yards.
  • The installs count is how many installs agree, not how many people: three installs are not proof of three players.

A null in a row is an unknown, where fewer than three installs agree. Nothing is guessed or left blank.

What is not in the files

  • Facts that fewer than 3 installs report, and facts the installs disagree on. Each file counts them (its "of how many" number) and never lists them.
  • The local Classic baseline: pfQuest's database and the emulator databases it is built from, which are GPL. It stays on a maintainer's machine. No row, name or id from it is in these files. A count whose denominator comes from it appears only on the site's coverage page.
  • Anything a player's name is attached to: character names, guild data, player pages, census rows and addon lists. Rows carry no install id and no pseudonym either, only how many installs agree.
  • The individual upload records. They are public as anonymous records, with one pseudonym per install, through the corpus API (/docs/api/corpus-public), not in this export.
  • Names, titles and text read from the game files or the Warcraft Wiki (item names, quest titles, spell and item set names, tooltip facts), and icons and art. They are on the site's pages only. An item, NPC or object name is in the observed files only when three installs reported the same one.
  • Zones, flight masters and flight lines the game files hold that may not be released yet.

Not in this version yet:

  • Market prices, census counts, the achievement, faction, title and quest chain lists, recipe and trainer facts, and the zone bounds players measured. Some are on the site or in its API; none are in these files yet.
  • The loot windows behind each drop rate, source by source.

How to verify a count

  1. Check the files: the SHA-256 and the byte count of each file are in manifest.json, and the number of lines in a file is its row count.
  2. Check a fact: every observed row says how many installs agree. The records behind it are public, one pseudonym per install, at https://everloot.app/api/corpus/public (add ?kinds=npc_sighting for NPCs, quest, vendor, loot, item_seen, instance_entrance, encounter or object_sighting for the others). Count the distinct pseudonyms that report the same value: it must be at least 3, and it matches the row up to the records uploaded after dataAsOf.
  3. Check the denominator: each file's "of how many" is the count of that kind of thing that anyone reported at least once. Count the same thing in the records.
  4. Rebuild it: the exporter is in the repository (npm run kb -- open-data <folder> in kb/). With the same records and the same build it writes the same rows.