No description
Find a file
2018-06-03 16:01:02 +02:00
.circleci adapt test for multi-version 2018-05-23 02:01:29 +02:00
config add blockEntities to map_chunk for 1.12 2018-05-15 00:22:05 +02:00
docs Add nojekyll to make .md available directly 2018-06-03 16:01:02 +02:00
examples bring (static) multi version support to everything else + fix some formatting 2018-05-13 20:21:23 +02:00
logs Added logs folder 2015-08-24 09:07:10 -04:00
src fix external.js 2018-05-27 21:15:34 +02:00
test fix /setblock test, fix #344 2018-05-27 21:24:43 +02:00
world use new prismarine-provider-anvil to read/write the seed, use a worldFolder option instead of regionFolder option, fix #178 2016-01-14 19:18:01 +01:00
.gitignore Add standard linting 2018-05-13 09:26:48 -04:00
.npmignore update gitignore and npmignore 2016-01-14 19:27:22 +01:00
app.js fix style in app.js 2018-05-13 16:21:40 +02:00
index.js Add standard linting 2018-05-13 09:26:48 -04:00
LICENSE Create LICENSE 2015-08-25 17:35:16 -04:00
package.json Release 1.1.0 2018-05-27 19:40:59 +02:00
TODO.md Small fixes 2015-11-23 09:25:59 -08:00

flying-squid

NPM version Join the chat at https://gitter.im/PrismarineJS/flying-squid License Github issues Build Status

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

Features

  • Support for Minecraft 1.8 and 1.12
  • 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

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 flying-squid server autonomous-squid

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

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 flying-squid 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

  • flying-squid-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)
  • flying-squid-schematic Flying-squid 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 flying-squid.rom1504.fr
  • flying-squid-modpe load modpe plugins
  • flying-squid-essentials Plugin that in a future will be like Essentials of bukkit/spigot. All the basic commands that a server should have

Documentation

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

Using as a lib

flying-squid is also a server lib. Here is a basic example of usage:

const mcServer = require('flying-squid')

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

  },
  'modpe': false,
  'view-distance': 10
})

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

For further examples, see the examples page.

Contributors

  • @mhsjlw creator of flying-squid
  • @roblabla for helping out with the protocols
  • @rom1504 for massive contributions to the code
  • @demipixel
  • The PrismarineJS team for creating prismarine-chunk and node-minecraft-protocol
  • wiki.vg for documenting minecraft protocols
  • All of our other awesome contributors!