jmbrito01 / pb-api

A PointBlank packet handler written in javascript
8 stars 4 forks source link

pb-api

What's PB API?

PB API is a library that simulates a point blank client to the game server (Only the connection).It can authenticates, create rooms, send messages, start battles and many more. This library was written based in the game version 1.15.37 and UDP version 1012.12.

Disclaimer

This analysis of the PointBlank protocol is for educational purposes only and the authors are not responsible for any people that tries to reproduce what is shown here. If you are not aware of the risks involving exploiting some informations described in commercial servers we discourage you to use it.

The protocol

To know more about the PointBlank connection protocol you should check out our documentation.

Installation

To install you can use the node package manager (npm) with the command: npm install pb-api

or clonning this repository

Examples

Simple authentication:

var PBAuth      = require('pb-api').Authentication;

var auth = new PBAuth({
    auth: {
        server: 'AUTH_SERVER_IP',
        port: 0 //AUTH_SERVER_PORT
    },
    gameVersion: [0, 0, 0] //GAME_VERSION
});

auth.connect()
    .then(auth.authenticate('username', 'password'))
    .then(
        //On Success
        function () {
            console.log(`My Account Id: ${auth.getAccountId()}`);
            console.log(`Nickname: ${auth.getNickname()}`);
        },
        //On Error
        function () {
            console.log(`Authentication error`);
        }
    );

This repository contains more examples located in the examples path.

Functionalities

Auth
Game
Battle
More Detailed informations

To see a more well written documentation run gulp docs in the project so that jsdoc can document the classes for you, after it finishes just access the website generated at the path named docs.

Contribute

We encourage you to contribute to this repository, today the two things we believe is most needed are better documentations of the protocol and to finish the battle protocol that we only started, we want to understand further how it works so that we can simulate an entire battle clientlessly.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.