The PS2 Census library is here to simplify the interaction with the Planetside 2 Census API for Javascript and Typescript projects.
- Node.js v14+ or any modern browser with WebSocket support;
- DBG Census API Service ID.
- ES6;
- DBG Census API Service ID(optional, but recommended).
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.
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();
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
});
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',
},
});
Please make sure not to create duplicate issues. When making a PR make sure to check if eslint doesn't report any problems.
The PS2 Census Library comes with no warranties. This software is as is and usage is at the developer/users own discretion.