A semi-functional minecraft server in Node.js
- 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
- rom1504.fr (Port 25565) using auto-squid
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.
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.
- 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
For development see API.md, CONTRIBUTE.md and HISTORY.md
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.
- @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!