Skip to content

Write Custom Monitor v7

Stefano Balietti edited this page Oct 21, 2021 · 2 revisions
  • status: incomplete
  • version: 7.x

The nodeGame servers can be controlled and queried via messages.

Some of the commands accepted by the AdminServer include:

  • SERVERCOMMAND_ROOMCOMMAND
    Instructs clients in a room to be setup, started, paused, resumed or stopped.
  • SERVERCOMMAND_INFO
    Queries the server for information about channels, rooms, clients or games.
  • SERVERCOMMAND_STARTBOT
    Starts a PhantomJS instance connected to the server, using clientType 'autoplay'.

For more information, refer to the implementation of AdminServer.

Examples:

// Pause all players in a given room. node.socket.send(node.msg.create({ target: 'SERVERCOMMAND', text: 'ROOMCOMMAND', data: { type: 'PAUSE', roomId: roomId, // roomId must be defined doLogic: false, clients: 'players', force: false } })); // Start a PhantomJS bot. node.socket.send(node.msg.create({ target: 'SERVERCOMMAND', text: 'STARTBOT' })); // Get a list of channels. node.socket.send(node.msg.create({ target: 'SERVERCOMMAND', text: 'INFO', data: { type: 'CHANNELS', extraInfo: true } })); // Listen for the response. node.on.data('INFO_CHANNELS', function(msg) { Object.keys(msg.data).forEach(function(channel) { console.log(msg.data[channel].name); }); });
Clone this wiki locally