Simple Minecraft proxy written in Node.js using the node-minecraft-protocol library
- Connect to proxy
- Forward players to servers
- Change server
- Basic plugin support, see
./src/Plugins/ChatCommands.js
for an example
npm install basic-minecraft-proxy
See also ./examples/
for other examples
This example shows how to create a new proxy and how to the options are passed.
const McProxy = require('minecraft-proxy');
let localServerOptions = {
'port': '25578',
'version': '1.12.1',
'online-mode': false,
'motd': 'nodejs minecraft proxy'
}
let serverList = {
hub: {
host: 'localhost',
port: 25565,
isDefault: true,
isFallback: true
},
minigames: {
host: 'localhost',
port: 25566
}
}
// if you leave proxyOptions empty yo may as well not pass it in the arguments, I wrote it anyway to point out that it exist
let proxyOptions = {}
/*
Use the "/server <serverName>" command in chat to move between servers.
<serverName> is the name that you chose for the server inside the serverList
This command is implemented by /src/Plugins/ChatCommands.js and it can be disabled by setting enablePlugin: false inside proxyOptions
*/
let proxy = McProxy.createProxy(localServerOptions, serverList, proxyOptions);
proxy.on('error', console.error);
proxy.on('listening', () => {
console.info('Listening!');
});
In this example every player will be moved from the hub
server (default) to the minigames
server 30 seconds after having logged in.
proxy.on('login', (player) => {
setTimeout(() => {
proxy.setRemoteServer(player.id, "minigames");
}, 30 * 1000);
});
See the wiki.