Coder Social home page Coder Social logo

drybyte / aos.js Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 3.0 487 KB

A library for interacting with Ace of Spades .75 protocol

Home Page: https://drybyte.github.io/docs/

License: GNU General Public License v3.0

JavaScript 100.00%
ace-of-spades openspades piqueserver betterspades

aos.js's People

Contributors

drybyte avatar haxk20 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

aos.js's Issues

Create constants

We need constants to make the code more easier to use and to read someone else's code, so making a file with constants will be pretty helpful.

Tests and examples folder

Most part of the "tests" in the tests folder is actually examples, so all examples should be moved to another folder and keep only the real tests on there.
And always use assert for tests

Add client/version info packets

For supporting client info packets we need to handle an handshake sent by the server (ID 31), and return another packet to the server (ID 32). Then server sends a version get (ID 33), and return the version (ID 34).

We will need to add new options to the Default Option (https://github.com/DryByte/AoS.js/blob/main/src/client/BaseClient.js#L14), that should looks like this by default:

{
"version_info": {}
}

Then add another function to the client for setting client version, so the options in client will looks like this:

{
"version_info": {
    "client_identifier": "", // I.e. "o" for openspades
    "version": [0,0,0], // Major, Minor, Revision
    "os_info": "", // I.e. "Windows"
}
}

Related links:
https://www.buildandshoot.com/forums/viewtopic.php?t=10807
yvt/openspades@aa62a0

Extra packets

Add packets that are not in official client/protocol, we are supposed to split it into two different folders to keep organized. One for the new packets and other for packetless extensions, maybe "extraPackets" and "extensionsPackets".

New packets:

Packetless extensions (https://www.piqueserver.org/aosprotocol/#packetless-extensions):

  • Player limit
  • Message types (How this is supposed to work?)
  • Kick reason

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.