README
@colyseus/discovery
Listens and retrieves a list of Colyseus nodes in the cluster.
Requirements
- Use RedisPresence on Colyseus
- Set
process.env.REDIS_URL
with your Redis host + credentials.
Usage
import { getNodeList, listen, Node, Action } from "@colyseus/discovery";
// listen for node additions and removals through Redis
listen((action: Action, node: Node) => {
if (action === Action.ADD) {
// a Node has been added into the cluster
} else if (action == Action.REMOVE) {
// a Node has been removed from the cluster
}
console.log(node);
// => {"processId": "xxxxxxxxx", address: "x.x.x.x:yyyy"}
});
// Retrieve pre-existing nodes
getNodeList()
.then((nodes) => {
nodes.forEach((node) => {
// This node is already in the cluster
console.log(node);
// => {"processId": "xxxxxxxxx", address: "x.x.x.x:yyyy"}
});
})
.catch(err => console.error(err));
License
MIT