{"id":13659907,"url":"https://github.com/wowserhq/wowser","last_synced_at":"2025-12-16T18:53:57.311Z","repository":{"id":3411635,"uuid":"4462191","full_name":"wowserhq/wowser","owner":"wowserhq","description":"World of Warcraft in the browser using JavaScript and WebGL","archived":false,"fork":false,"pushed_at":"2023-01-25T05:21:56.000Z","size":2636,"stargazers_count":251,"open_issues_count":58,"forks_count":65,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-03-30T05:08:56.266Z","etag":null,"topics":["blizzard","blizzard-games","javascript","warcraft","webgl","wow"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wowserhq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-05-27T14:03:04.000Z","updated_at":"2025-03-04T12:46:19.000Z","dependencies_parsed_at":"2023-02-14T05:01:37.656Z","dependency_job_id":null,"html_url":"https://github.com/wowserhq/wowser","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wowserhq%2Fwowser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wowserhq%2Fwowser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wowserhq%2Fwowser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wowserhq%2Fwowser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wowserhq","download_url":"https://codeload.github.com/wowserhq/wowser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441052,"owners_count":20939239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blizzard","blizzard-games","javascript","warcraft","webgl","wow"],"created_at":"2024-08-02T05:01:13.499Z","updated_at":"2025-12-16T18:53:52.291Z","avatar_url":"https://github.com/wowserhq.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Wowser\n\n[![Version](https://img.shields.io/npm/v/wowser.svg?style=flat)](https://www.npmjs.org/package/wowser)\n[![Join Community](https://img.shields.io/badge/discord-join_community-blue.svg?style=flat)](https://discord.gg/DeVVKVg)\n[![Build Status](https://img.shields.io/travis/wowserhq/wowser.svg?style=flat)](https://travis-ci.org/wowserhq/wowser)\n[![Known Vulnerabilities](https://snyk.io/test/github/wowserhq/wowser/badge.svg)](https://snyk.io/test/github/wowserhq/wowser)\n[![Maintainability](https://api.codeclimate.com/v1/badges/863393c7addcb1cd7be7/maintainability)](https://codeclimate.com/github/wowserhq/wowser/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/863393c7addcb1cd7be7/test_coverage)](https://codeclimate.com/github/wowserhq/wowser/test_coverage)\n\nWorld of Warcraft in the browser using JavaScript and WebGL.\n\nLicensed under the [**MIT** license](LICENSE).\n\n[![See Wowser tech demo](https://user-images.githubusercontent.com/378235/27762818-800fd91c-5e79-11e7-8301-733d736dd065.jpg)](https://www.youtube.com/watch?v=BrnbANSwC4I)\n\n## Status\n\nWowser is in the process of being split up into (at minimum) the following parts:\n\n- [Client](https://github.com/wowserhq/client/) (user interface loaded from XML/LUA)\n- [Pipeline](https://github.com/wowserhq/pipeline) server (serves up resources from the official client)\n\nThis repository will in the future become an umbrella package.\n\n## Background\n\nWowser is a proof-of-concept of getting a triple-A game to run in a webbrowser,\nattempting to tackle a wide variety of challenges: data retrieval, socket\nconnections, cryptography, 3d graphics, binary data handling, background workers\nand audio, to name a few.\n\n## Features\n\nWowser is aiming to be both a low-level API as well as a graphical client,\ninteracting with a World of Warcraft server like an official client would.\n\n**Note:** Only Wrath of the Lich King (3.3.5a) is currently supported. A copy of\nthe official client is required.\n\n**Warning:** Do not attempt to use this client on official/retail servers as\nyour account may get banned.\n\nAt present, Wowser is capable of:\n\n- Authenticating by username / password.\n- Listing available realms.\n- Connecting to a realm.\n- Listing characters available on a realm.\n- Joining the game world with a character.\n- Logging game world packets, such as when a creature moves in the vicinity.\n\nIn addition, there's good progress on getting terrain and models rendered.\n\n## Browser Support\n\nWowser is presumed to be working on any browser supporting [JavaScript's typed\narrays] and at the very least a binary version of the WebSocket protocol.\n\n## Development\n\nWowser is written in [ES2015], developed with [webpack] and [Gulp], compiled by\n[Babel] and [soon™] to be tested through [Mocha].\n\n1. Clone the repository:\n\n   ```shell\n   git clone git://github.com/wowserhq/wowser.git\n   ```\n\n2. Download and install [Node.js] – including `npm` – for your platform.\n\n3. Install dependencies:\n\n   ```shell\n   npm install\n   ```\n\n4. Install [StormLib] and [BLPConverter], which are used to handle Blizzard's\n   game files.\n\n### Client\n\n[Webpack]'s development server monitors source files and builds:\n\n```shell\nnpm run web-dev\n```\n\nWowser will be served on `http://localhost:8080`.\n\n### Pipeline server\n\nTo deliver game resources to its client, Wowser ships with a pipeline.\n\nBuild the pipeline:\n\n```shell\nnpm run gulp\n```\n\nKeep this process running to monitor source files and automatically rebuild.\n\nAfter building, serve the pipeline as follows in a separate process:\n\n```shell\nnpm run serve\n```\n\nOn first run you will be prompted to specify the following:\n\n- Path to client data folder (e.g. `C:/Program Files (x86)/World of Warcraft/Data`)\n- Server port (default is `3000`)\n- Number of cluster workers (default depends on amount of CPUs)\n\nClear these settings by running `npm run reset`\n\n**Disclaimer:** Wowser serves up resources to the browser over HTTP. Depending\non your network configuration these may be available to others. Respect laws and\ndo not distribute game data you do not own.\n\n### Socket proxies\n\nTo utilize raw TCP connections a WebSocket proxy is required for JavaScript\nclients.\n\n[Websockify] can - among other things - act as a proxy for raw TCP sockets.\n\nFor now, you will want to proxy both port 3724 (auth) and 8129 (world). Use a\ndifferent set of ports if the game server is on the same machine as your client.\n\n```shell\nnpm run proxy 3724 host:3724\nnpm run proxy 8129 host:8129\n```\n\n## Contribution\n\nWhen contributing, please:\n\n- Fork the repository\n- Open a pull request (preferably on a separate branch)\n\n[Babel]: https://babeljs.io/\n[BLPConverter]: https://github.com/wowserhq/blizzardry#blp\n[ES2015]: https://babeljs.io/docs/learn-es2015/\n[Gulp]: http://gulpjs.com/\n[JavaScript's typed arrays]: http://caniuse.com/#search=typed%20arrays\n[Mocha]: http://mochajs.org/\n[Node.js]: http://nodejs.org/#download\n[StormLib]: https://github.com/wowserhq/blizzardry#mpq\n[Websockify]: https://github.com/kanaka/websockify/\n[soon™]: http://www.wowwiki.com/Soon\n[webpack]: http://webpack.github.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwowserhq%2Fwowser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwowserhq%2Fwowser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwowserhq%2Fwowser/lists"}