nogot

1.4.3 • Public • Published

Nogot

NPM version Build Status Discord Gitter Irc

Create Minecraft servers with a powerful, stable, and high level JavaScript API.

Features

  • Support for Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 and 1.16
  • Players can see the world
  • Players see each other in-game and in tab
  • Digging
  • Placing blocks
  • Player movement
  • World generation
  • Anvil loading
  • Multi-world

Test server

  • mc.nogot.org (Port 25565) : hosted by @64bit

Building / Running

Before running or building it is recommended that you configure the server in config/settings.json

npm install
node app.js

Or try our autoupdating nogot server autonomous-squid

You can also install nogot globally with sudo npm install -g nogot and then run it with nogot command.

Docker

Docker allows a higer level of isolation, compatibily and consistency. You can learn how to install Docker here

docker run prismarinejs/nogot

With specific nogot configuration, container name and the most important, opening the port to nogot:

docker run -p 25565:25565 -v $(pwd)/config:/config --name my-nogot --rm prismarinejs/nogot

docker-compose is useful to quickly launch & stop a single container with a specific configuration.

version: '3.8'

services:
  nogot:
    image: prismarinejs/nogot
    volumes:
       - ${PWD}/config:/config
    ports:
      - "25565:25565"
volumes:
  nogot:
docker-compose -f path/to/docker-compose.yaml up

World generation

There are several modules than can be used to generate the world. The default one is called diamond-square

  • node-voxel-worldgen a voxel world generator written in Rust, compatible with nogot and allows basic minecraft-like generation including caves.
  • diamond-square a diamond square minecraft generation

To install a world generation, all you have to do is npm install it and then change the generation option in settings.json.

Plugins

  • nogot-irc a bridge between a irc chan and the minecraft server. Currently used between our test server (rom1504.fr) and our gitter room (through the official gitter irc bridge)
  • nogot-schematic nogot plugin providing /listSchemas and /loadSchema commands. You can add schema through a simple http api and then add them in your world by just calling /loadSchema in game. Http api available in the test instance at nogot.rom1504.fr
  • nogot-essentials Plugin that in a future will be like Essentials of bukkit/spigot. All the basic commands that a server should have
  • squidcord a bridge between a discord channel and the minecraft server.
  • authme an auth plugin for online-mode=false servers.

Documentation

For development see the API documentation, CONTRIBUTE.md and HISTORY.md

Using as a lib

Nogot is also a server lib. Here is a basic example of usage:

const mcServer = require('nogot')

mcServer.createMCServer({
  'motd': 'A Minecraft Server \nRunning Nogot',
  'port': 25565,
  'max-players': 10,
  'online-mode': true,
  'logging': true,
  'gameMode': 1,
  'difficulty': 1,
  'worldFolder':'world',
  'generation': {
    'name': 'diamond_square',
    'options':{
      'worldHeight': 80
    }
  },
  'kickTimeout': 10000,
  'plugins': {

  },
  'modpe': false,
  'view-distance': 10,
  'player-list-text': {
    'header':'Nogot',
    'footer':'Test server'
  },
  'everybody-op': false,
  'max-entities': 100,
  'version': '1.16.1'
})

You can add server plugins and player plugins in your package, following CONTRIBUTE.md.

For further examples, see the examples page.

Contributors

  • @64bit creator of nogot
  • Originally created by PrismarineJS
  • The PrismarineJS team for creating prismarine-chunk and node-minecraft-protocol
  • wiki.vg for documenting minecraft protocols
  • All of our other awesome contributors!

Readme

Keywords

none

Package Sidebar

Install

npm i nogot

Weekly Downloads

0

Version

1.4.3

License

MIT

Unpacked Size

313 kB

Total Files

97

Last publish

Collaborators

  • instagram