Minestom es una biblioteca de código abierto que permite a los desarrolladores crear su propio software de servidor Minecraft, sin ningún código de Mojang.
La principal diferencia entre el servidor básico de Mojang y un servidor basado en Minestom es que el nuestro no contiene ninguna característica de forma predeterminada. Sin embargo, tenemos una API completa que está diseñada para permitirle hacer todo posible con facilidad.
Esta es una API de desarrollador que no está destinada a ser utilizada por usuarios finales. Reemplazar Bukkit/Forge/Sponge con esto no funcionará ya que no implementamos ninguna de sus API.
Minestom no se instala como Bukkit/Forge/Sponge. Como Minestom es una biblioteca Java, debe cargarse de la misma manera que se carga cualquier otra biblioteca Java. Esto significa que debe agregar Minestom como una dependencia, agregar su código y compilarlo usted mismo.
Minestom está disponible en Maven Central y se puede instalar de la siguiente manera (Gradle/Groovy):
repositories {
mavenCentral()
maven { url ' https://jitpack.io ' }
}
dependencies {
implementation ' net.minestom:minestom-snapshots:<???> '
}
Un ejemplo de cómo utilizar la biblioteca Minestom está disponible aquí. Alternativamente, puede consultar la wiki oficial o los javadocs.
Minecraft ha evolucionado mucho desde su lanzamiento, la mayoría de los servidores actuales no aprovechan las funciones básicas e incluso tienen que luchar por ellas. Nuestro público objetivo son aquellos que desean crear un servidor que se beneficie poco de las funciones básicas. por ejemplo, creativo, kitpvp. El objetivo es ofrecer más rendimiento para quienes lo necesitan. En otras palabras, tiene sentido usar Minestom cuando se necesita menos tiempo para implementar cada característica básica faltante que desea que eliminar cada característica básica que lo ralentizará.
Minestom no es perfecto, nuestras elecciones lo hacen mucho mejor en algunos casos y peor en otros.
Aunque no incluimos nada por defecto en el juego, simplificamos la forma en que los agregas, aquí tienes una vista previa.
Es nuestro concepto principal, los mundos son fantásticos para sobrevivir con amigos, pero cuando se amplía, puede volverse inmanejable. Los mejores ejemplos los encontramos en Skyblock o los minijuegos, al no poder separar correctamente cada parte y verse obligados a guardarlo todo en archivos, por no hablar de la sobrecarga que suponen los datos innecesarios que contienen. Las instancias son una solución liviana, ya que pueden tener cada fragmento en la memoria únicamente, copiarlo y enviarlo a otro reproductor en poco tiempo, con serialización personalizada y mucho más...
Ser capaz de crear instancias directamente sobre la marcha es imprescindible; creemos que puede impulsar muchos más proyectos.
Las instancias también vienen con beneficios de rendimiento, a diferencia de otras que serán completamente de un solo subproceso o tal vez usarán un subproceso por mundo, estamos usando una cantidad determinada de subprocesos (grupo) para administrar todos los fragmentos independientemente de las instancias, lo que significa usar más potencia de CPU.
Minestom por defecto no sabe qué es un cofre, tendrás que decirle que abre un inventario. Todos los "bloques especiales" (que no son sólo visuales) necesitan un controlador especializado. Después de aplicar este controlador, tiene un bloque que se puede colocar en cualquier lugar de forma sencilla. Sin embargo, todos los bloques están ahí visualmente, pero no tendrán interacción de forma predeterminada.
Los términos monstruos "pasivos" o "agresivos" no existen, nadie te impide hacer que un pollo volador se lance hacia cualquier jugador que se acerque demasiado, hacerlo con NMS es un verdadero desastre debido a la ofuscación y la gran herencia.
Es un campo donde Minecraft evolucionó mucho, los inventarios ahora se usan mucho como interfaz cliente<->servidor con elementos en los que se puede hacer clic y devolución de llamada, admitimos estas interacciones de forma nativa sin la necesidad de programar su solución.
Los comandos son la forma más sencilla de comunicación entre clientes y servidores. Desde la versión 1.13 Minecraft incorporó una nueva biblioteca denominada "Brigadier", luego integramos una API diseñada para utilizar todo el potencial de los tipos args.
#mcdevs
: investigación de protocolos y formatos de archivos.¡Vea el archivo de contribución! Todas las funciones WIP se obtienen como vista previa como borradores de relaciones públicas.
Este proyecto tiene la licencia Apache License Versión 2.0.