ps2census
v4.7.2
Published
Client to connect to the PS2 Event Stream websocket.
Downloads
1,988
Maintainers
Readme
PS2 Census Library
About
The PS2 Census library is here to simplify the interaction with the Planetside 2 Census API for Javascript and Typescript projects.
Requirements
Event Stream
- Node.js v14+ or any modern browser with WebSocket support;
- DBG Census API Service ID.
Rest API
- ES6;
- DBG Census API Service ID(optional, but recommended).
Installation
npm install ps2census
For better performance it is recommended to install bufferutil
and utf-8-validate
, though this is optional. The
--save-optional
flag can be used to install them as optionalDependencies.
Getting started
Event Stream
const { CensusClient } = require('ps2census');
const subscriptions = {
worlds: ['10'],
eventNames: ['MetagameEvent'],
};
const client = new CensusClient('ServiceID', 'ps2', {
streamManager: {
subscription: subscriptions,
},
});
client.on('ps2Event', event => {
// Handle the event, for more information see http://census.daybreakgames.com/#websocket-details
});
// or
client.on('facilityControl', event => {
}); // Note that the event always starts with a lower case letter
client.on('subscribed', subscription => {
}); // Notification of a subscription made by the event stream
client.on('duplicate', event => {
}); // When a duplicate event has been received
client.on('ready', () => {
}); // Client is ready
client.on('reconnecting', () => {
}); // Client is reconnecting
client.on('disconnected', () => {
}); // Client got disconnected
client.on('error', error => {
}); // Error
client.on('warn', error => {
}); // Error, when receiving a corrupt message
client.watch();
// To terminate the client
client.destroy();
Rest API
const { Rest } = require('ps2census');
const client = new Rest.Client('ps2ps4eu', { serviceId: 'example' });
// Get character with items
client
.getQueryBuilder('character')
.resolve('item')
.exactMatchFirst(true)
.get({ 'name.first_lower': '^microwave' })
.then(characters => {
// Process the data
});
Nanite Systems ESS
With the Census ESS being having some issues the NS ESS has made its entrance. Basic usage with Typescript:
new CensusClient('serviceid', 'ps2', {
streamManager: {
endpoint: 'wss://push.nanite-systems.net/streaming',
},
});
// or
new CensusClient('serviceid', 'all' as any, {
streamManager: {
endpoint: 'wss://push.nanite-systems.net/streaming',
},
});
Documentation
Contribution
Please make sure not to create duplicate issues. When making a PR make sure to check if eslint doesn't report any problems.
Disclaimer
The PS2 Census Library comes with no warranties. This software is as is and usage is at the developer/users own discretion.