Database explorer for World of Warcraft servers.
Licensed under the MIT license.
Spelunker exposes data from auth, characters and world databases as well as
World of Warcraft's own game files through an API. Its web client can be used
to conveniently browse the dataset, similar to Wowhead.
Both parts are developed in unison in this repository using Lerna, a tool for managing JavaScript projects with multiple packages.
Disclaimer: To deliver game resources – such as icons – to the web client, Spelunker ships with a pipeline serving up resources to the browser over HTTP. Depending on your network configuration these may be available to others. Respect laws and do not distribute game data you do not own.
Be mindful of any privacy sensitive data – such as account and character names – you may expose through Spelunker.
- Trinity Core - 3.3.5a
Other servers may be supported in the future. Pull requests welcome!
Not yet available via npm, but hopefully soon™!
For now, follow the development instructions below on how to get started.
Spelunker is developed with Webpack and Babel, targeting modern JavaScript runtimes.
-
Clone the repository:
git clone git://github.com/wowserhq/spelunker.git
-
Download and install Node 10+ – including
npm– for your platform. -
Install dependencies:
(cd packages/spelunker-api && npm install) (cd packages/spelunker-web && npm install)
-
Install StormLib and BLPConverter, which are used to handle Blizzard's game files.
-
Copy
.envrc-sampleto.envrcand adjust accordingly.In particular, verify
DATA_DIRandDATABASE_*variables.To configure CORS, specify the allowed origin(s) in
CORS_ALLOWED_ORIGINSas a comma-separated list. -
Source the
.envrcfile:source .envrcAlternatively, use direnv and allow the changes:
direnv allow
Navigate into the API package:
cd packages/spelunker-apiRun the API server:
npm startTo monitor source files and rebuild:
npm run watchThe API will be served on http://localhost:3001.
Navigate into the web client package:
cd packages/spelunker-webwebpack's development server monitors source files and rebuilds:
npm startThe web client will be served on http://localhost:3000.
When contributing, please:
- Fork the repository
- Open a pull request (preferably on a separate branch)