Skip to content
Перейти к содержимому
Вернуться в блог
Flying-Squid: Создание кастомного сервера Minecraft на JavaS

Flying-Squid: Создание кастомного сервера Minecraft на JavaS

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
10 просмотров
TL;DR:Flying-squid - JavaScript-библиотека для создания кастомных Minecraft серверов без Java. Поддерживает Minecraft 1.8-1.21, включает генерацию миров и мульти-мирную поддержку, идеальна для небольших сообществ и экспериментальных игровых режимов.
Проект GitHub · Сообщество Minecraft

flying-squid (PrismarineJS/flying-squid)

Создавайте серверы Minecraft с помощью мощного, стабильного и высокоуровневого JavaScript API.

Добавить в закладки на GitHub ★
★ 600 звезд💻 JavaScript📜 MIT

Хотите управлять своим собственным сервером Minecraft, но не знаете Java? Flying-squid может быть именно тем, что вам нужно. Это фреймворк на JavaScript, позволяющий создать полностью функциональный сервер Minecraft с чистым, современным API вместо борьбы с файлами конфигурации Java или оплаты за хостинг.

Что делает этот проект?

Flying-squid не является предустановленным сервером, который можно скачать и запустить. Это библиотека. Вы пишете код на JavaScript, чтобы определить поведение сервера, вид мира и взаимодействие игроков с ним. Представьте себе моддинг Minecraft, но на языке, известном многим веб-разработчикам.

Фреймворк обрабатывает скучные части: сетевой протокол, аутентификацию игроков, загрузку чанков, синхронизацию сущностей. Вы сосредотачиваетесь на интересных вещах - кастомных игровых механиках, уникальной генерации миров, правилах сервера. Поддерживаются версии Minecraft от 1.8 до 1.21, поэтому вы можете целевую аудиторию на современных клиентах или старых версиях в зависимости от вашей базы игроков.


Почему вам это нужно?

Большинство кастомных серверов Minecraft используют либо Bukkit/Spigot (Java), либо не существуют. Flying-squid открывает третий вариант для людей, которые хотят что-то другое.

Возможно, вы строите игру для школьного проекта и хотите полный контроль без изучения плагинов Java. Возможно, вы экспериментируете с процедурной генерацией и хотите быстро итерировать без перезагрузки сервера Java каждые пять минут. Возможно, вы управляете небольшой общиной и хотите кодовую базу, которую можно действительно понять и изменить без погружения в корпоративные шаблоны Java.

Настоящая победа - это простота. Базовый сервер flying-squid действительно мал. Вы получаете копирование, размещение, движение, видимость игрока и загрузку мира прямо из коробки. Добавьте плагины, такие как мост IRC (flying-squid-irc), чтобы связать ваш сервер с Discord или другими платформами чата, или используйте flying-squid-schematic, чтобы загрузить предварительно построенные структуры по команде.


Запуск в работу

Установка занимает около тридцати секунд, если у вас уже установлен Node.js:

bash
npm install
node app.js

Или глобально:

bash
sudo npm install -g flying-squid
flying-squid

Если вы предпочитаете Docker (и честно говоря, кто не любит его в наши дни), вы можете загрузить предварительно построенный образ:

bash
docker run -p 25565:25565 prismarinejs/flying-squid

И вот, у вас запущен сервер на порту 25565. Клиенты могут подключаться к localhost:25565 и сразу же начать копать.

Прежде чем запустить что-либо, проверьте файл конфигурации в config/settings.json и измените генератор миров или имя сервера, если хотите. Быстрая беседа: по умолчанию все хорошо для тестирования, но вам, вероятно, захочется настроить вещи.


Что работает хорошо

Генерация миров удивительно хороша. Алгоритм diamond-square создает приличный рельеф, но вы можете заменить его на альтернативы. Если вы хотите пещеры в стиле Minecraft и правильные биомы, сообщество построило node-voxel-worldgen (генератор на Rust) и альтернативы diamond-square. Суперплоские миры встроены, если вы хотите плоское творческое строительство.

Установка и разрушение блоков работают хорошо. Когда игрок копает, другие игроки видят это сразу. Анимации копания синхронизируются. Управление инвентарем работает. Все это ядро, которое делает Minecraft чувствовать себя как Minecraft.

Поддержка нескольких миров есть, если вам нужно. Запустите несколько миров и разделите игроков между ними, что полезно для разделения на выживание/творчество или разные игровые режимы. Загрузка в формате Anvil означает, что вы можете фактически импортировать реальные файлы миров Minecraft, что невероятно удобно для инициализации сервера с существующим контентом.

Система плагинов - это то, где все становится интересно. Сообщество построило мосты IRC, загрузчики схематик и различные инструменты для игровых режимов. Вы можете создавать кастомные команды и расширять сервер без форка основного кода.


Подводные камни и реальные ограничения

Сначала: это не готово для производства для публичного сервера с сотнями игроков. Flying-squid отлично подходит для обучения, небольших сообществ (менее 50 одновременных игроков) и экспериментальных игр. Масштабирование за это и вы столкнетесь с проблемами производительности. Оригинальный сервер Minecraft на Java имеет десятилетнюю оптимизацию; flying-squid еще молод.

Второе: не все функции Minecraft доступны. Нижний мир, Конец, красный камень, шлюзы, командные блоки, полный спектр механик из вариантов 1.21 - не все это здесь. Вы получаете фундаментальные вещи. Это фактически нормально, если вы строите что-то кастомное, но не ожидайте 1:1 совместимость функций с Ваниллой.

Третье: отладка проблем подключения JavaScript грубее, чем должно быть. Протокольные несоответствия между клиентом и сервером могут производить криптические ошибки. На самом деле, это работает только на 1.20+ - более ранние версии требуют другой конфигурации. Это типичная территория «молодого проекта»: документация не всегда кристально ясна относительно того, какие функции работают на каких версиях.

Четвертое: экосистема меньше, чем у Bukkit. Если вам нужен плагин для чего-то конкретного, есть примерно 50/50 шанс, что он существует. Вам, возможно, придется написать его самому. Это не обязательно плохо (создание собственной игровой логики - это своего рода цель), но это отличается от огромного рынка плагинов Bukkit.


Сравнение вариантов

Если вы хотите традиционный сервер Minecraft, Spigot/Paper - очевидный выбор. Они зрелые, стабильные и имеют бесконечные плагины. Но вы пишете на Java.

Fabric новее, легче и более модифицируем, если вы комфортно чувствуете себя с самим моддингом Minecraft. Отлично подходит для серверов выживания с улучшениями QoL.

Flying-squid подходит, когда вы хотите построить что-то с нуля на JavaScript. Разная аудитория, разные цели. Он блистает в экспериментальных игровых режимах, образовательных серверах (учить детей, как работают серверы) или построении чего-то, что не совсем Ванилла Minecraft.

Если вы управляете публичным сервером и нуждаетесь в DNS, указывающем на ваш сервер, вы можете использовать инструмент бесплатного DNS от minecraft.how, чтобы настроить все без оплаты за домен. И если вы хотите настроить MOTD (сообщение, видимое игрокам при наведении на ваш сервер), Создатель MOTD - быстрый способ спроектировать его без копирования кодов цветов.


Стоит ли это?

Flying-squid - это солидное программное обеспечение для того, что оно делает. Код чистый, система плагинов работает, и основная игра стабильна. Вы не столкнетесь с блокирующими ошибками на версиях 1.20 и выше. README достаточно честно относительно того, что включено, а что нет.

Он не пытается заменить Spigot. Он пытается позволить разработчикам JavaScript и образователям создавать кастомные опыт Minecraft без касания Java. Если это ваш случай использования, он доставляет. Если вам нужен общий сервер для вашего мира выживания, у вас есть лучшие варианты.

PrismarineJS/flying-squid - MIT, ★600
Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

Похожие статьи

Как Minecraft на JavaScript учит процедурной генерации

Как Minecraft на JavaScript учит процедурной генерации

Браузерная клон Minecraft, построенная на JavaScript и three.js, для обучения процедурной генерации миров, механики блоков и концепций игрового движка через практические эксперименты. Идеально для разработчиков, изучающих 3D веб-графику, и игроков, интересующихся внутренним механизмом Minecraft.

01.07.2026
WebCraft - Minecraft клон на чистом JavaScript для браузера

WebCraft - Minecraft клон на чистом JavaScript для браузера

WebCraft - это клон Minecraft Classic на JavaScript, который работает в браузере с использованием WebGL и WebSockets. Без фреймворков, минимальные зависимости. Идеален для обучения разработке воксельных игр, хотя больше не поддерживается активно.

01.07.2026
Создание пользовательских лаунчеров Minecraft с CmlLib.Core

Создание пользовательских лаунчеров Minecraft с CmlLib.Core

CmlLib.Core - это библиотека .NET для создания пользовательских лаунчеров Minecraft со встроенной поддержкой аутентификации, управления версиями, модлоадеров и кроссплатформенного развертывания. Идеально подходит для разработчиков, распространяющих модпаки или серверы сообщества.

29.06.2026

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy