{"id":29117893,"url":"https://github.com/prismarinejs/flying-squid","last_synced_at":"2025-06-29T12:08:02.489Z","repository":{"id":38326121,"uuid":"41393164","full_name":"PrismarineJS/flying-squid","owner":"PrismarineJS","description":"Create Minecraft servers with a powerful, stable, and high level JavaScript API.","archived":false,"fork":false,"pushed_at":"2025-06-20T07:18:07.000Z","size":1166,"stargazers_count":574,"open_issues_count":105,"forks_count":99,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-06-24T15:24:38.380Z","etag":null,"topics":["game","minecraft","minecraft-server","protocol","server","voxel"],"latest_commit_sha":null,"homepage":"https://prismarinejs.github.io/flying-squid/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PrismarineJS.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-08-25T23:30:19.000Z","updated_at":"2025-06-20T07:19:22.000Z","dependencies_parsed_at":"2023-02-12T13:01:25.107Z","dependency_job_id":"ac718f5d-5fe5-4003-a1a7-03f92b970cb0","html_url":"https://github.com/PrismarineJS/flying-squid","commit_stats":{"total_commits":786,"total_committers":62,"mean_commits":12.67741935483871,"dds":"0.47964376590330793","last_synced_commit":"8f29e3a5604b25d8151b85920ecd2b406ede75e0"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/PrismarineJS/flying-squid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrismarineJS%2Fflying-squid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrismarineJS%2Fflying-squid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrismarineJS%2Fflying-squid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrismarineJS%2Fflying-squid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PrismarineJS","download_url":"https://codeload.github.com/PrismarineJS/flying-squid/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrismarineJS%2Fflying-squid/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262589898,"owners_count":23333257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","minecraft","minecraft-server","protocol","server","voxel"],"created_at":"2025-06-29T12:08:00.326Z","updated_at":"2025-06-29T12:08:02.234Z","avatar_url":"https://github.com/PrismarineJS.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"flying-squid\n================\n\n[![NPM version](https://img.shields.io/npm/v/flying-squid.svg)](http://npmjs.com/package/flying-squid)\n[![Build Status](https://github.com/PrismarineJS/flying-squid/workflows/CI/badge.svg)](https://github.com/PrismarineJS/flying-squid/actions?query=workflow%3A%22CI%22)\n[![Discord](https://img.shields.io/badge/chat-on%20discord-brightgreen.svg)](https://discord.gg/GsEFRM8)\n[![Gitter](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg)](https://gitter.im/PrismarineJS/general)\n[![Irc](https://img.shields.io/badge/chat-on%20irc-brightgreen.svg)](https://irc.gitter.im/)\n\n\nCreate Minecraft servers with a powerful, stable, and high level JavaScript API.\n\n## Features\n* Support for Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21\n* Players can see the world\n* Players see each other in-game and in tab\n* Digging\n* Placing blocks\n* Player movement\n* World generation\n* Anvil loading\n* Multi-world\n\n## Building / Running\nBefore running or building it is recommended that you configure the server in `config/settings.json`\n\n```bash\nnpm install\nnode app.js\n```\n\n\nYou can also install flying-squid globally with `sudo npm install -g flying-squid` and then run it with `flying-squid` command.\n\n### Docker\n\nDocker allows for a higher level of isolation, compatibility and consistency. You can learn how to install Docker [here](https://www.docker.com/get-started).\n\nQuick start a simple server to test out flying-squid:\n\n```bash\ndocker run -p 25565:25565 prismarinejs/flying-squid\n```\n\nWith specific configuration and a container name:\n\n```bash\ndocker run -p 25565:25565 -v $(pwd)/config:/config --name my-flying-squid prismarinejs/flying-squid\n```\n\n[docker-compose](https://docs.docker.com/compose/) is useful to quickly launch \u0026 stop a single container with a specific configuration.\n\n`docker-compose.yaml`:\n```yaml\nversion: '3.8'\n\nservices:\n  flying-squid:\n    image: prismarinejs/flying-squid\n    volumes:\n       - ${PWD}/config:/config\n    ports:\n      - \"25565:25565\"\nvolumes:\n  flying-squid:\n```\n\n```bash\ndocker-compose -f path/to/docker-compose.yaml up\n```\n\nOr do it all locally:\n```bash\ndocker build -t local-flying-squid .\ndocker run -p 25565:25565 local-flying-squid\n```\n\nor\n\n```bash\ndocker-compose up\n```\n\n## World generation\n\nThere are several modules than can be used to generate the world. The default one is called diamond-square\n\n* [node-voxel-worldgen](https://github.com/mhsjlw/node-voxel-worldgen): a voxel world generator written in Rust, compatible with flying-squid and allows basic minecraft-like generation including caves.\n* [diamond-square](https://github.com/PrismarineJS/diamond-square): a diamond square minecraft generation.\n* superflat: a superflat worldgen with configurable blocks and biome.\n\nTo install a world generation, all you have to do is npm install it and then change the generation option in settings.json.\n\n## Plugins\n\n* [flying-squid-irc](https://github.com/rom1504/flying-squid-irc) a bridge between a irc chan and the minecraft server.\nCurrently used between our test server (rom1504.fr) and our gitter room (through the official gitter irc bridge)\n* [flying-squid-schematic](https://github.com/rom1504/flying-squid-schematic) Flying-squid plugin providing /listSchemas and /loadSchema commands. \nYou can add schema through a simple http api and then add them in your world by just calling /loadSchema in game.\n* [flying-squid-essentials](https://github.com/DeudlyYT/Flying-Squid-Essentials) Plugin that in a future will be like Essentials of bukkit/spigot.\nAll the basic commands that a server should have\n* [squidcord](https://github.com/dada513/SquidCord) a bridge between a discord channel and the minecraft server.\n* [authme](https://github.com/TheAlan404/flying-squid-authme) an auth plugin for `online-mode=false` servers.\n\n## Documentation\nFor development see the [API documentation](API.md), [CONTRIBUTE.md](CONTRIBUTE.md) and [HISTORY.md](HISTORY.md)\n\n## Using as a lib\n\nflying-squid is also a server lib. Here is a basic example of usage:\n\n```js\nconst mcServer = require('flying-squid')\n\nmcServer.createMCServer({\n  'motd': 'A Minecraft Server \\nRunning flying-squid',\n  'port': 25565,\n  'max-players': 10,\n  'online-mode': true,\n  'logging': true,\n  'gameMode': 1,\n  'difficulty': 1,\n  'worldFolder': 'world',\n  'generation': {\n    'name': 'diamond_square',\n    'options': {\n      'worldHeight': 80\n    }\n  },\n  'kickTimeout': 10000,\n  'plugins': {\n\n  },\n  'modpe': false,\n  'view-distance': 10,\n  'player-list-text': {\n    'header': 'Flying squid',\n    'footer': 'Test server'\n  },\n  'everybody-op': true,\n  'max-entities': 100,\n  'version': '1.18'\n})\n```\n\nYou can add server plugins and player plugins in your package, following [CONTRIBUTE.md](https://github.com/PrismarineJS/flying-squid/blob/master/docs/CONTRIBUTE.md).\n\nFor further examples, see the [examples page](https://PrismarineJS.github.io/flying-squid/#/examples).\n\n## Contributors\n\n - [@mhsjlw](https://github.com/mhsjlw) creator of flying-squid\n - [@roblabla](https://github.com/roblabla) for helping out with the protocols\n - [@rom1504](https://github.com/rom1504) for massive contributions to the code\n - [@demipixel](https://github.com/demipixel) \n - The PrismarineJS team for creating prismarine-chunk and node-minecraft-protocol\n - [wiki.vg](http://wiki.vg/Protocol) for documenting minecraft protocols\n - All of our other awesome contributors!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprismarinejs%2Fflying-squid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprismarinejs%2Fflying-squid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprismarinejs%2Fflying-squid/lists"}