Skip to content
Pular para o conteúdo
Voltar ao Blog
Flying-Squid: Servidor Minecraft Personalizado em JavaScript

Flying-Squid: Servidor Minecraft Personalizado em JavaScript

Alexandru Maftei
Alexandru Maftei
@ice
Atualizado
14 visualizações
TL;DR:Flying-squid é uma biblioteca JavaScript para construir servidores Minecraft personalizados sem Java. Suporta Minecraft 1.8-1.21, inclui geração de mundo e suporte a múltiplos mundos, e funciona muito bem para pequenas comunidades e modos de jogo experimentais. Perfeito para desenvolvedores que desejam controle do servidor em uma linguagem familiar.
GitHub - Projeto da comunidade Minecraft

flying-squid (PrismarineJS/flying-squid)

Crie servidores Minecraft com uma poderosa, estável e robusta API JavaScript.

Marque com estrela no GitHub ↗
⭐ 600 estrelas💻 JavaScript📄 MIT

Quer executar seu próprio servidor Minecraft, mas não sabe Java? Flying-squid pode ser exatamente o que você está procurando. É um framework baseado em JavaScript que permite configurar um servidor Minecraft totalmente funcional com uma API limpa e moderna, em vez de lidar com arquivos de configuração Java ou pagar por hospedagem.

O Que Este Projeto Faz

Flying-squid não é um servidor pré-construído que você baixa e executa. É uma biblioteca. Você escreve código JavaScript para definir como seu servidor se comporta, como o mundo se parece e como os jogadores interagem com ele. Pense como uma modificação do Minecraft, mas em uma linguagem que muitos desenvolvedores web já conhecem.

O framework cuida das partes chatas: protocolo de rede, autenticação de jogadores, carregamento de chunks, sincronização de entidades. Você se concentra nas partes interessantes - mecânicas de jogo personalizadas, geração de mundo única, regras do servidor. Suporta versões do Minecraft de 1.8 até 1.21, portanto você pode direcionar clientes modernos ou versões antigas dependendo da sua base de jogadores.


Por Que Você Quereria Isto

A maioria dos servidores Minecraft personalizados usam Bukkit/Spigot (Java) ou não existem. Flying-squid abre uma terceira opção para pessoas que querem algo diferente.

Talvez você esteja construindo um jogo para um projeto escolar e deseja controle total sem aprender plugins Java. Talvez você esteja experimentando com geração procedural e deseja iterar rapidamente sem reiniciar um servidor Java a cada cinco minutos. Talvez você execute uma pequena comunidade e deseja uma base de código que você realmente possa entender e modificar sem se aprofundar em padrões Java corporativos.

O verdadeiro ganho é a simplicidade. Um servidor flying-squid básico é genuinamente pequeno. Você obtém escavação, colocação, movimento, visibilidade de jogadores e carregamento de mundo prontos para usar. Adicione plugins como a ponte IRC (flying-squid-irc) para conectar seu servidor ao Discord ou outras plataformas de chat, ou use flying-squid-schematic para carregar estruturas pré-construídas sob demanda.


Executando

A instalação leva cerca de trinta segundos se você já tiver Node.js instalado:

bash
npm install
node app.js

Ou globalmente:

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

Se você preferir Docker (e honestamente, quem não prefere nos dias de hoje), você pode puxar a imagem pré-construída:

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

Pronto. Você tem um servidor em execução na porta 25565. Os clientes podem se conectar a localhost:25565 e começar a escavar imediatamente.

Antes de executar qualquer coisa, verifique o arquivo de configuração em config/settings.json e altere o gerador de mundo ou nome do servidor se desejar. Falando a verdade, as configurações padrão funcionam bem para testes, mas você provavelmente desejará personalizar as coisas.


O Que Funciona Bem

A geração de mundo é surpreendentemente sólida. O algoritmo padrão diamond-square cria um terreno decente, mas você pode trocar por alternativas. Se você deseja cavernas semelhantes às do Minecraft e biomas adequados, a comunidade construiu node-voxel-worldgen (um gerador baseado em Rust) e alternativas diamond-square. Mundos superflat são construídos se você deseja construção criativa plana.

A colocação e quebra de blocos funcionam bem. Quando um jogador escava, outros jogadores veem imediatamente. Animações de escavação sincronizam. Gerenciamento de inventário funciona. É tudo o básico que torna o Minecraft parecer Minecraft.

O suporte a múltiplos mundos está lá se você precisar. Execute múltiplos mundos e separe jogadores entre eles, o que é útil para divisões sobrevivência/criativo ou diferentes modos de jogo. O carregamento no formato Anvil significa que você pode realmente importar arquivos de mundo reais do Minecraft, o que é incrivelmente conveniente para semear um servidor com conteúdo existente.

O sistema de plugins é onde as coisas ficam interessantes. A comunidade construiu pontes IRC, carregadores de esquemas e várias ferramentas de modo de jogo. Você pode criar comandos personalizados e estender o servidor sem fazer fork da base de código principal.


Armadilhas e Limitações Reais

Primeiro: isto não está pronto para produção em um servidor público com centenas de jogadores. Flying-squid é ótimo para aprendizado, para pequenas comunidades (menos de 50 simultâneos) e para jogos experimentais. Escale além disso e você atingirá limites de desempenho. O servidor original do Minecraft em Java tem décadas de otimização; flying-squid é jovem.

Segundo: nem todo recurso do Minecraft existe. Nether, End, redstone, hoppers, blocos de comando, o espectro completo de mecânicas das variantes 1.21 - nem todos estão aqui. Você obtém o básico. Isso é realmente bom se você está construindo algo personalizado de qualquer forma, mas não espere uma paridade de recursos 1:1 com o Vanilla.

Terceiro: depurar problemas de conexão JavaScript é mais difícil do que deveria ser. Incompatibilidades de protocolo entre cliente e servidor podem produzir erros obscuros. Na verdade, isso só ocorre em 1.20+ - versões anteriores precisam de configuração diferente. Este é o território típico de 'projeto jovem': a documentação nem sempre é cristalina sobre quais recursos funcionam em quais versões.

Quarto: o ecossistema é menor que o Bukkit. Se você precisa de um plugin para algo específico, há talvez 50% de chance de que exista. Você pode escrever você mesmo. Isso não é necessariamente ruim (criar sua própria lógica de jogo é meio o ponto), mas é diferente do grande mercado de plugins do Bukkit.


Comparando Suas Opções

Se você quer um servidor Minecraft tradicional, Spigot/Paper são a escolha óbvia. Eles são maduros, estáveis e têm plugins infinitos. Mas você está escrevendo Java.

Fabric é mais novo, mais leve e mais modificável se você se sente confortável com modificações do Minecraft. Excelente para servidores de sobrevivência com melhorias de QoL.

Flying-squid é para quando você quer construir algo do zero em JavaScript. Público diferente, objetivos diferentes. Brilha para modos de jogo experimentais, servidores educacionais (ensinando crianças como os servidores funcionam) ou construindo algo que não é exatamente Vanilla Minecraft.

Se você está executando um servidor público e precisa de DNS apontando para seu servidor, você pode usar a ferramenta DNS gratuita do minecraft.how para configurá-la sem pagar por um domínio. E se você deseja personalizar o MOTD do seu servidor (a mensagem que os jogadores veem ao passar o mouse sobre seu servidor), o MOTD Creator é uma maneira rápida de projetar um sem copiar e colar códigos de cor.


Vale a Pena ou Não

Flying-squid é um software sólido pelo que é. O código é limpo, o sistema de plugins funciona e o gameplay principal é estável. Você não terá bugs críticos nas versões 1.20 e acima. O README é bem honesto sobre o que está incluído e o que não está.

Não está tentando substituir o Spigot. Está tentando permitir que desenvolvedores JavaScript e educadores criem experiências Minecraft personalizadas sem tocar em Java. Se esse é seu caso de uso, ele entrega. Se você precisa de um servidor de propósito geral para seu mundo de sobrevivência, você tem melhores opções.

PrismarineJS/flying-squid - MIT, ⭐600
Sobre o autor
Alexandru Maftei
Alexandru MafteiRedator-chefe

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

Comentários

Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!

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