All Projects → PrismarineJS → Flying Squid

PrismarineJS / Flying Squid

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

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Flying Squid

Expo Voxel
🎮🌳 Voxel Terrain made in React Native. ∛
Stars: ✭ 169 (-45.66%)
Mutual labels:  game, minecraft, voxel
Minet
A (not so) basic Minecraft Pocket Edition server written in C#
Stars: ✭ 706 (+127.01%)
Mutual labels:  minecraft, minecraft-server, server
Chunkstories
Somewhat fancy blocky game engine written in Kotlin
Stars: ✭ 199 (-36.01%)
Mutual labels:  game, minecraft, voxel
Gophertunnel
Toolbox for Minecraft software written in Go
Stars: ✭ 156 (-49.84%)
Mutual labels:  minecraft, server, protocol
Gomint
GoMint is a modern Minecraft Bedrock Edition server enabling you to make your visions come true
Stars: ✭ 208 (-33.12%)
Mutual labels:  minecraft, minecraft-server, server
Gdlauncher
GDLauncher is a simple, yet powerful Minecraft custom launcher with a strong focus on the user experience
Stars: ✭ 386 (+24.12%)
Mutual labels:  game, minecraft, minecraft-server
Node Minecraft Protocol
Parse and serialize minecraft packets, plus authentication and encryption.
Stars: ✭ 697 (+124.12%)
Mutual labels:  minecraft, server, protocol
Minestat
📈 A Minecraft server status checker
Stars: ✭ 168 (-45.98%)
Mutual labels:  minecraft, minecraft-server, protocol
Quarry
Python library that implements the Minecraft network protocol and data types
Stars: ✭ 182 (-41.48%)
Mutual labels:  minecraft, server, protocol
Gameservers Docker
A bunch of game servers I use, dockerised
Stars: ✭ 322 (+3.54%)
Mutual labels:  game, minecraft, server
Open Builder
Open "Minecraft-like" game with multiplayer support and Lua scripting support for the both client and server
Stars: ✭ 569 (+82.96%)
Mutual labels:  game, minecraft, voxel
Mmorpg
springboot编写的轻量级高性能mmorpg手游服务端框架,基本功能逐渐完善中。
Stars: ✭ 309 (-0.64%)
Mutual labels:  game, server
Yojimbo
A network library for client/server games written in C++
Stars: ✭ 2,041 (+556.27%)
Mutual labels:  game, protocol
Zero
A Lightweight Socket Service with heartbeat, Can be easily used in TCP server development.
Stars: ✭ 161 (-48.23%)
Mutual labels:  game, server
Csharpgameframework
基于unity3d引擎与c#语言的游戏框架/架构(包括客户端与服务器)。使用ServerPlatform作为服务端通信基础设施。
Stars: ✭ 208 (-33.12%)
Mutual labels:  game, server
Pss
This is a based plug-in framework that provides cross-platform IO and logically separated plug-in services.
Stars: ✭ 219 (-29.58%)
Mutual labels:  game, server
minecraft-lambda-function
AWS Lambda function for managing Minecraft server
Stars: ✭ 37 (-88.1%)
Mutual labels:  minecraft, minecraft-server
BedrockProxy
Allow Minecraft Bedrock players on your BungeeCord server!
Stars: ✭ 16 (-94.86%)
Mutual labels:  minecraft, protocol
Openminer
Minecraft-like game engine written in C++17 with a client/server architecture and support for Lua modding
Stars: ✭ 156 (-49.84%)
Mutual labels:  game, minecraft
Yivnet
Yivnet is a microservice game server base on go-kit
Stars: ✭ 237 (-23.79%)
Mutual labels:  game, server

flying-squid

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

  • flying-squid.host (Port 25565) : hosted by @Saiv46

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.

Docker

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

docker run prismarinejs/flying-squid

With specific flying-squid configuration, container name and the most important, opening the port to flying-squid:

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

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

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

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

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.1'
})

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!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].