
Flying-Squid: Crea servidores Minecraft en JavaScript
flying-squid (PrismarineJS/flying-squid)
Crea servidores Minecraft con una poderosa, estable y de alto nivel API JavaScript.
¿Quieres ejecutar tu propio servidor Minecraft pero no sabes Java? Flying-squid podria ser exactamente lo que buscas. Es un framework basado en JavaScript que te permite crear un servidor Minecraft completamente funcional con una API limpia y moderna, en lugar de luchar con archivos de configuracion de Java o pagar por hosting.
Que hace este proyecto
Flying-squid no es un servidor pre-construido que descargas y ejecutas. Es una libreria. Escribes codigo JavaScript para definir como se comporta tu servidor, como se ve el mundo y como interactuan los jugadores con el. Piensalo como modificaciones de Minecraft, pero en un lenguaje que muchos desarrolladores web ya conocen.
El framework maneja las partes aburridas: protocolo de red, autenticacion de jugadores, carga de chunks, sincronizacion de entidades. Tu te enfocas en las cosas interesantes - mecanicas de juego personalizadas, generacion de mundos unica, reglas del servidor. Soporta versiones de Minecraft 1.8 a 1.21, asi que puedes dirigirte a clientes modernos o versiones antiguas dependiendo de tu base de jugadores.
Por que lo querrias
La mayoria de servidores Minecraft personalizados usan Bukkit/Spigot (Java) o no existen. Flying-squid abre una tercera opcion para personas que quieren algo diferente.
Quiza estes construyendo un juego para un proyecto escolar y quieres control total sin aprender complementos de Java. Quiza estas experimentando con generacion procedural y quieres iterar rapidamente sin reiniciar un servidor Java cada cinco minutos. Quiza diriges una pequeña comunidad y quieres una base de codigo que puedas entender y modificar sin sumergirte en patrones empresariales de Java.
La verdadera ventaja es la simplicidad. Un servidor flying-squid basico es genuinamente pequeño. Obtienes excavacion, colocacion, movimiento, visibilidad de jugadores y carga del mundo desde el principio. Agrega complementos como el puente IRC (flying-squid-irc) para conectar tu servidor a Discord u otras plataformas de chat, o usa flying-squid-schematic para cargar estructuras pre-construidas bajo demanda.
Poniendo en marcha
La instalacion toma aproximadamente treinta segundos si ya tienes Node.js instalado:
npm install
node app.jsO globalmente:
sudo npm install -g flying-squid
flying-squidSi prefieres Docker (y honestamente, quien no estos dias), puedes descargar la imagen pre-construida:
docker run -p 25565:25565 prismarinejs/flying-squidListo. Tienes un servidor en ejecucion en el puerto 25565. Los clientes pueden conectarse a localhost:25565 y comenzar a excavar inmediatamente.
Antes de ejecutar cualquier cosa, verifica el archivo de configuracion en config/settings.json y cambia el generador de mundos o el nombre del servidor si quieres. Siendo honesto, los valores predeterminados funcionan bien para pruebas, pero probablemente querras personalizar las cosas.
Que funciona bien
La generacion de mundos es sorprendentemente solida. El algoritmo diamond-square predeterminado crea terreno decente, pero puedes intercambiar alternativas. Si quieres cuevas similares a Minecraft y biomas adecuados, la comunidad ha construido node-voxel-worldgen (un generador basado en Rust) y alternativas diamond-square. Los mundos superflat estan incorporados si quieres construccion creativa plana.
La colocacion y rotura de bloques funcionan bien. Cuando un jugador excava, otros jugadores lo ven inmediatamente. Las animaciones de excavacion se sincronizan. La gestion del inventario funciona. Es todo lo basico que hace que Minecraft se sienta como Minecraft.
El soporte multi-mundo esta alli si lo necesitas. Ejecuta multiples mundos y separa jugadores en ellos, lo cual es util para divisiones supervivencia-creativa o diferentes modos de juego. La carga en formato Anvil significa que puedes importar archivos de mundo de Minecraft reales, lo cual es absurdamente conveniente para sembrar un servidor con contenido existente.
El sistema de complementos es donde las cosas se vuelven interesantes. La comunidad ha construido puentes IRC, cargadores de esquematicos y varias herramientas de modo de juego. Puedes construir comandos personalizados y extender el servidor sin hacer un fork de la base de codigo principal.
Trampa y limitaciones reales
Primero: esto no esta listo para produccion para un servidor publico con cientos de jugadores. Flying-squid es excelente para aprender, para comunidades pequeñas (menos de 50 concurrentes) y para juegos experimentales. Escala mas alla de eso y golpearas muros de rendimiento. El servidor Minecraft original en Java tiene decadas de optimizacion; flying-squid es joven.
Segundo: no todas las caracteristicas de Minecraft existen. Nether, End, redstone, tolvas, bloques de comando, el espectro completo de mecanicas de variantes 1.21 - no todas estan aqui. Obtienes lo basico. Esto esta bien si estas construyendo algo personalizado de todos modos, pero no esperes paridad de caracteristicas 1:1 con Vanilla.
Tercero: depurar problemas de conexion de JavaScript es mas dificil de lo que deberia ser. Los desajustes de protocolo entre cliente y servidor pueden producir errores cripticos. En realidad, eso solo funciona en 1.20+ - las versiones anteriores necesitan una configuracion diferente. Este es un territorio tipico de proyecto joven: la documentacion no siempre es cristalina sobre que caracteristicas funcionan en que versiones.
Cuarto: el ecosistema es mas pequeño que Bukkit. Si necesitas un complemento para algo especifico, hay quiza una probabilidad 50/50 de que exista. Podrias escribirlo tu mismo. Eso no es necesariamente malo (crear tu propia logica de juego es un poco el punto), pero es diferente del enorme mercado de complementos de Bukkit.
Comparando tus opciones
Si quieres un servidor Minecraft tradicional, Spigot/Paper son la opcion obvia. Son maduros, estables y tienen infinitos complementos. Pero estas escribiendo Java.
Fabric es mas nuevo, mas ligero y mas modificable si te sientes comodo con modificaciones de Minecraft en si. Excelente para servidores de supervivencia con mejoras de calidad de vida.
Flying-squid es para cuando quieres construir algo desde cero en JavaScript. Audiencia diferente, objetivos diferentes. Destaca para modos de juego experimentales, servidores educativos (enseñar a los niños como funcionan los servidores) o construir algo que no sea exactamente Minecraft Vanilla.
Si estas ejecutando un servidor publico y necesitas DNS apuntando a tu servidor, puedes usar la herramienta DNS gratuita de minecraft.how para configurarlo sin pagar por un dominio. Y si quieres personalizar el MOTD de tu servidor (el mensaje que los jugadores ven cuando se pasan sobre tu servidor), el Creador MOTD es una forma rapida de diseñar uno sin copiar y pegar codigos de color.
Vale la pena o no
Flying-squid es software solido para lo que es. El codigo es limpio, el sistema de complementos funciona y el juego central es estable. No golpearas errores fatales en versiones 1.20 y superiores. El README es bastante honesto sobre lo que se incluye y lo que no.
No intenta reemplazar Spigot. Intenta permitir que los desarrolladores de JavaScript y educadores construyan experiencias Minecraft personalizadas sin tocar Java. Si ese es tu caso de uso, lo entrega. Si necesitas un servidor de proposito general para tu mundo de supervivencia, tienes mejores opciones.
PrismarineJS/flying-squid - MIT, ⭐600Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Preguntas Frecuentes
¿Necesito saber Java para usar Flying-squid?
¿Cómo puedo lanzar un servidor básico de Flying-squid?
¿Qué limitaciones tiene respecto a un servidor Minecraft oficial?
¿Qué versiones de Minecraft son compatibles?
¿Puedo añadir complementos como IRC o esquemas?
Comentarios
Aún no hay comentarios. ¡Sé el primero en compartir tu opinión!


