GithubHelp home page GithubHelp logo

zhugedongming / acore-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from azerothcore/acore-client

0.0 1.0 0.0 1.8 MB

Web client to consume azerothcore opcodes

License: Other

JavaScript 93.32% CSS 6.32% HTML 0.36%

acore-client's Introduction

WoW Chat, browser game client

WoW Chat, browser game client based on WoWser.

Licensed under the MIT license, see LICENSE for more information.

Background

Wowser is a proof-of-concept of getting a triple-A game to run in a webbrowser, attempting to tackle a wide variety of challenges: data retrieval, socket connections, cryptography, 3d graphics, binary data handling, background workers and audio, to name a few.

Features

Wowser is aiming to be both a low-level API as well as a graphical client, interacting with compatible game servers.

Wowser is compatible with all server based on Mangos 335 such as AzerothCore, TrinityCore and Mangos itself. Of course other servers that use the same opcode specifications of projects above, are also supported .

At present, this project is capable of:

  • Authenticating by username / password.
  • Listing available realms.
  • Connecting to a realm.
  • Listing characters available on a realm.
  • Joining the game world with a character.
  • Chat in game on following channels: Guild, Say, Wispers, World (hardcoded custom channel)
  • Logging game world packets, such as when a creature moves in the vicinity.

Browser Support

Wowser is presumed to be working on any browser supporting JavaScript's typed arrays and at the very least a binary version of the WebSocket protocol.

Development

  1. Clone the repository:

    git clone git://github.com/wowserhq/wowser.git
  2. Download and install Node.js โ€“ including npm โ€“ for your platform.

  3. Install dependencies:

    npm install
  4. Install [StormLib] and [BLPConverter], which are used to handle Blizzard's game files.

Run the client

Create a copy of conf/conf.js.dist file and name it conf/conf.js (don't delete the .dist file) then configure it.

Webpack's development server monitors source files and builds:

npm run web-dev

Wowser will be served on http://127.0.0.1:8080/webpack-dev-server/.

Socket proxies

To utilize raw TCP connections a WebSocket proxy is required for JavaScript clients.

Websockify can - among other things - act as a proxy for raw TCP sockets.

For now, you will want to proxy both port 3724 (auth) and 8085 (world).

- Proxy port in localhost

If you want to connect this web client to a server in the same machine you can change the authserver port from 8085 to 8086 in the auth realmlist table using:

UPDATE `realmlist` SET `port`=8086 WHERE `id`=1;

Run proxy for localhost:

npm run proxy 3725 127.0.0.1:3724
npm run proxy 8086 127.0.0.1:8085

While login using the web client, use the port 3725.

- Proxy port for a public server

Run proxy for a public server:

npm run proxy 3724 server.realmlist:3724
npm run proxy 8085 server.realmlist:8085

replacing server.realmlist with the realmlist of the server.

Contribution

When contributing, please:

  • Fork the repository
  • Open a pull request (preferably on a separate branch)

acore-client's People

Contributors

dduarte avatar fallenoak avatar helias avatar petersandor avatar timkurvers avatar yehonal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.