Create Minecraft servers with a powerful, stable, and high level JavaScript API.
Before running or building it is recommended that you configure the server in config/settings.json
npm install
node app.js
You can also install flying-squid globally with sudo npm install -g flying-squid
and then run it with flying-squid
command.
Docker allows for a higher level of isolation, compatibility and consistency. You can learn how to install Docker here.
Quick start a simple server to test out flying-squid:
docker run -p 25565:25565 prismarinejs/flying-squid
With specific configuration and a container name:
docker run -p 25565:25565 -v $(pwd)/config:/config --name my-flying-squid prismarinejs/flying-squid
docker-compose is useful to quickly launch & stop a single container with a specific configuration.
docker-compose.yaml
:
version: '3.8'
services:
flying-squid:
image: prismarinejs/flying-squid
volumes:
- ${PWD}/config:/config
ports:
- "25565:25565"
volumes:
flying-squid:
docker-compose -f path/to/docker-compose.yaml up
Or do it all locally:
docker build -t local-flying-squid .
docker run -p 25565:25565 local-flying-squid
or
docker-compose up
There are several modules than can be used to generate the world. The default one is called diamond-square
To install a world generation, all you have to do is npm install it and then change the generation option in settings.json.
online-mode=false
servers.For development see the API documentation, CONTRIBUTE.md and HISTORY.md
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,
'difficulty': 1,
'worldFolder': 'world',
'generation': {
'name': 'diamond_square',
'options': {
'worldHeight': 80
}
},
'kickTimeout': 10000,
'plugins': {
},
'modpe': false,
'view-distance': 10,
'player-list-text': {
'header': 'Flying squid',
'footer': 'Test server'
},
'everybody-op': true,
'max-entities': 100,
'version': '1.16.5'
})
You can add server plugins and player plugins in your package, following CONTRIBUTE.md.
For further examples, see the examples page.