Skip to content

Simple Minecraft proxy written in Node.js using the node-minecraft-protocol library

License

Notifications You must be signed in to change notification settings

8bitFra/node-minecraft-proxy

 
 

Repository files navigation

node-minecraft-proxy

Simple Minecraft proxy written in Node.js using the node-minecraft-protocol library

Features

  • Connect to proxy
  • Forward players to servers
  • Change server
  • Basic plugin support, see ./src/Plugins/ChatCommands.js for an example

Installation

git clone https://github.com/8bitFra/node-minecraft-proxy.git

Create your index.js in the folder and start your proxy

Examples

See also ./examples/ for other examples

Creating a proxy

This example shows how to create a new proxy and how to the options are passed.

const McProxy = require('./proxy.js');

let localServerOptions = {
  'port': '25578',
  'version': '1.12.1',
  'online-mode': false,
  'motd': 'nodejs minecraft proxy',
  'maxPlayers': 50
}

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!');
});

Moving players from a server to another

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);
});

Documentation

See the wiki.

About

Simple Minecraft proxy written in Node.js using the node-minecraft-protocol library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%