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-sample
to.envrc
and adjust accordingly.In particular, verify
DATA_DIR
andDATABASE_*
variables.To configure CORS, specify the allowed origin(s) in
CORS_ALLOWED_ORIGINS
as a comma-separated list. -
Source the
.envrc
file:source .envrc
Alternatively, use direnv and allow the changes:
direnv allow
Navigate into the API package:
cd packages/spelunker-api
Run the API server:
npm start
To monitor source files and rebuild:
npm run watch
The API will be served on http://localhost:3001
.
Navigate into the web client package:
cd packages/spelunker-web
webpack's development server monitors source files and rebuilds:
npm start
The web client will be served on http://localhost:3000
.
When contributing, please:
- Fork the repository
- Open a pull request (preferably on a separate branch)