No description
Find a file
2016-04-02 02:47:27 +02:00
config have a options["max-entities"], fix #222 2016-03-14 21:13:52 +01:00
doc Release 0.5.1 2016-01-14 19:49:02 +01:00
examples use require-self for better consistency with external plugins 2015-12-10 01:25:33 +01:00
logs Added logs folder 2015-08-24 09:07:10 -04:00
src fix /version 2016-03-28 01:05:53 +02:00
test make worldFolder optional, fix tests 2016-01-14 19:44:54 +01: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 update gitignore and npmignore 2016-01-14 19:27:22 +01:00
.npmignore update gitignore and npmignore 2016-01-14 19:27:22 +01:00
app.js unhandledRejection in app.js 2016-03-19 16:22:32 +01:00
circle.yml node >=4 2016-02-12 14:06:57 +01:00
gulpfile.js move to babel6 and bypass https://phabricator.babeljs.io/T6792 2016-02-12 14:02:05 +01:00
index.js go to es6 + use real prismarine-chunk and prismarine-world 2015-10-02 00:12:09 +02:00
LICENSE Create LICENSE 2015-08-25 17:35:16 -04:00
package.json chore(package): update minecraft-data to version 1.4.1 2016-04-02 02:47:27 +02:00
README.md node-voxel-worldgen is a world generation, not a plugin 2016-03-18 22:01:30 +01: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 Minecraft version Github issues Build Status

A semi-functional minecraft server in Node.js

Features

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

Documentation

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

Using as a lib

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

var 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.

Contributors

  • @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!