basic-minecraft-proxy
Version:
A node.js Minecraft proxy created with node-minecraft-protocol
87 lines (64 loc) • 2.17 kB
Markdown
Simple Minecraft proxy written in Node.js using the node-minecraft-protocol library
- [node-minecraft-proxy](
- [Features](
- [Installation](
- [Examples](
- [Creating a proxy](
- [Moving players from a server to another](
- [Documentation](
- 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.
```js
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.
```js
proxy.on('login', (player) => {
setTimeout(() => {
proxy.setRemoteServer(player.id, "minigames");
}, 30 * 1000);
});
```
See the [wiki](https://github.com/7ixi0/node-minecraft-proxy/wiki).