Skip to content
Saltar al contenido
Volver al Blog
bedrock-rs: Creando herramientas de Bedrock en Rust

bedrock-rs: Creando herramientas de Bedrock en Rust

Alex Maftei
Alex Maftei
@ice
Actualizado
87 vistas
Respuesta rápida:Bedrock-rs es una biblioteca Rust que abstrae la complejidad de Minecraft Bedrock, ofreciendo módulos para protocolo, addons, formularios y archivos de nivel. Se utiliza para desarrollar herramientas personalizadas, servidores o frameworks de creación de addons en Rust.
TL;DR:bedrock-rs es una biblioteca modular de Rust que simplifica el desarrollo de Minecraft Bedrock. Proporciona herramientas para trabajar con el protocolo Bedrock, addons, niveles y formularios. Ideal para desarrolladores que construyen servidores personalizados, herramientas o frameworks.

"Biblioteca universal para Minecraft Bedrock en Rust"

bedrock-crustaceans/bedrock-rs - github.com
⭐ 162 estrellas💻 Rust📄 Apache-2.0

Java Edition recibe todo el amor del modding. Forge, Fabric, Quilt, Paper - elige tu sabor y construye lo que quieras. ¿Bedrock Edition? No tanto. Si eres un desarrollador intentando crear algo personalizado para Bedrock, ya sea un servidor privado, un sistema de addons o un cliente especializado, estás trabajando con herramientas limitadas y mucho conocimiento de protocolo de bajo nivel. Aquí es donde entra bedrock-rs.

Qué hace bedrock-rs

bedrock-rs es una biblioteca Rust diseñada para abstraer la complejidad de Minecraft Bedrock. En lugar de lidiar con buffers de protocolo sin procesar y especificaciones de formato de datos, obtienes un kit de herramientas modular que maneja las partes difíciles. El proyecto se divide en múltiples crates, cada uno enfocado en un trabajo - y solo importas lo que necesitas.

La idea central es sólida. La mayoría de los desarrolladores que abordan el desarrollo de Bedrock terminan duplicando el mismo trabajo de bajo nivel: analizar paquetes de protocolo, manejar metadatos de addons, administrar archivos de niveles. bedrock-rs empaqueta esas preocupaciones en módulos reutilizables para que no reinventes la rueda.


Los crates principales y qué hacen

bedrock-rs divide la funcionalidad en cinco crates principales, cada uno con un propósito específico. Entender cuál necesitas es la mitad de la batalla.

  • bedrockrs::shared - La capa fundamental. Tipos de datos compartidos usados en toda la biblioteca. Aquí viven los bloques de construcción comunes, incluyendo soporte para macros derivadas en las que otros módulos dependen.
  • bedrockrs::form - Si estás trabajando con el sistema de formularios JSON de Bedrock, esto maneja la serialización y deserialización. Bedrock usa formularios para elementos de interfaz, y este crate abstrae las particularidades del formato.
  • bedrockrs::addon - Para desarrollo de addons. Proporciona estructuras de datos para definir diseños de addons y maneja la serialización que necesitarías para crear o modificar behavior packs y resource packs programáticamente.
  • bedrockrs::proto - El pesado. Y esta es la implementación completa del protocolo Bedrock, cubriendo operaciones tanto del lado del servidor como del cliente. El soporte de múltiples versiones de protocolo significa que puedes manejar diferentes versiones de Bedrock sin reescribir completamente tu código.
  • bedrockrs::level - Funciona con el formato de nivel de Bedrock usando LevelDB. Si necesitas leer o modificar datos del mundo, esto es lo que usas.

El enfoque modular significa que no estás obligado a importar todo solo para trabajar con addons, por ejemplo. Diseño limpio.


Por qué lo usarías

Hablemos con sinceridad: bedrock-rs resuelve un problema específico. Lo necesitas si estás construyendo herramientas de desarrollo, servidores personalizados o frameworks de creación de addons en Rust. Algunos ejemplos concretos:

Un desarrollador que construye un wrapper de servidor Bedrock en Rust podría usar el crate proto para manejar conexiones de cliente sin implementar manualmente la negociación de versión del protocolo de Bedrock. Alguien que crea una plataforma de distribución de addons podría usar el crate addon para validar behavior packs programáticamente. Una herramienta que convierte formatos de mundos entre Java y Bedrock usaría mucho el crate level.

Pero aquí está el punto importante: esto no es un framework de modding como Fabric o Forge. No estás instalando bedrock-rs para agregar nuevas mecánicas de juego a un servidor vanilla. Lo estás usando como una biblioteca cuando escribes código Rust que necesita interactuar con los formatos de datos o protocolo de Bedrock. Ese es un caso de uso más específico de lo que podría parecer, y eso está bien.


Primeros pasos con bedrock-rs

La instalación es sencilla si has usado Rust antes. Agrega esto a tu Cargo.toml:

rust
[dependencies]
bedrockrs = { git = "https://github.com/bedrock-crustaceans/bedrock-rs.git", features = ["full"] }

Ten en cuenta que bedrock-rs se extrae directamente de GitHub en lugar de crates.io - el proyecto planea publicar en crates.io eventualmente, pero por ahora estás en la versión de git. El flag de característica "full" incluye todos los crates y funcionalidades opcionales, aunque puedes personalizar esto según lo que realmente necesites (form, addon, proto, level, etc.). Mantener las dependencias mínimas mantiene los tiempos de compilación razonables.

Después de eso, la documentación para cada crate individual te guía a través de los detalles específicos. El servidor Discord del proyecto es el mejor lugar para hacer preguntas o descubrir hacia dónde está empujando la comunidad las cosas.


Las partes buenas y dónde se queda corta

bedrock-rs realmente destaca en la pieza de arquitectura modular. A diferencia de las bibliotecas monolíticas que te obligan a cargar peso muerto, la estructura de crates te permite elegir. La cosa es que el rendimiento es sólido porque es Rust - estás obteniendo seguridad de memoria y velocidad sin sobrecarga de garbage collection.

La implementación del protocolo es completa, y el soporte multi-versión es valioso. Si estás desplegando contra múltiples versiones de Bedrock, tener eso integrado en la biblioteca te ahorra dolores de cabeza serios. Y el enfoque programático del crate addon para crear behavior packs es genuinamente útil si estás construyendo herramientas de generación de código.

Dónde las cosas se ponen más complicadas: la documentación está enfocada en desarrolladores y asume que ya entiendes razonablemente bien la arquitectura de Bedrock. Si eres nuevo en el desarrollo de Bedrock, necesitarás emparejar esto con artículos de la Wiki de Minecraft sobre estructuras de protocolo. La biblioteca es joven (162 estrellas, activa pero no masiva), por lo que no vas a encontrar un mar de respuestas en Stack Overflow.

Además, bedrock-rs es de más bajo nivel de lo que algunos desarrolladores esperan. No abstrae toda la complejidad - solo la organiza mejor. Todavía necesitas entender estructuras de paquetes y formatos de datos. Piénsalo como un paso adelante de la manipulación de bytes sin procesar, no un framework completo que te tome de la mano.


Cuándo usar bedrock-rs vs. alternativas

Si necesitas construir herramientas Bedrock personalizadas en Rust, bedrock-rs es la biblioteca más completa disponible. No hay muchos competidores directos en el ecosistema Rust específicamente. Técnicamente podrías escribir tu propia implementación de protocolo (la gente lo ha hecho), pero estás viendo meses de trabajo invirtiendo ingeniería inversa en los formatos de Bedrock.

Si estás construyendo un servidor privado de Java Edition o modpack, esto no te aplica en absoluto. Si estás intentando crear contenido de gameplay para Bedrock vanilla, querrías buscar behavior packs y resource packs a través de la cadena de herramientas oficial, no bedrock-rs.

El punto dulce es cuando eres un desarrollador Rust que necesita interactuar con el ecosistema de Bedrock programáticamente. Construyendo herramientas, puentes entre plataformas, o implementaciones de servidores especializadas. Esa es la misión para la que fue construido bedrock-rs, y lo logra bien.

Si estás ejecutando un servidor Bedrock y quieres verificar cómo está yendo, herramientas como el Minecraft Server Status Checker te dan visibilidad en conteos de jugadores y rendimiento. Si estás explorando qué hay disponible en la comunidad Bedrock, la Minecraft Server List muestra qué hay. Esas son herramientas enfocadas en el jugador. bedrock-rs es para la gente que está construyendo la próxima generación de esas herramientas.


Sobre el autor
Alex Maftei
Alex MafteiRedactor principal

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

¡Compártelo con tus amigos!

Preguntas Frecuentes

¿Para qué sirve principalmente el crate 'bedrockrs::proto'?
El crate 'bedrockrs::proto' maneja la implementación completa del protocolo Bedrock, cubriendo operaciones del lado del servidor y del cliente, con soporte para múltiples versiones del protocolo.
¿Cómo se instala bedrock-rs en un proyecto Rust?
Para instalar bedrock-rs, agrega a tu 'Cargo.toml' la dependencia desde GitHub, especificando el flag de característica 'full' si se requieren todas las funcionalidades.
¿En qué se diferencia bedrock-rs de un framework de modding como Fabric?
Bedrock-rs no es un framework de modding para agregar mecánicas de juego, sino una biblioteca para interactuar con formatos de datos y protocolo de Bedrock en proyectos Rust.

Have a Question or Tip about this Guide?Community Q&A

Ask a question or help other players below. Join the discussion and share your Minecraft tips!

Comentarios

Aún no hay comentarios. ¡Sé el primero en compartir tu opinión!

Utilizamos cookies para mejorar tu experiencia. Al continuar utilizando este sitio, aceptas nuestro uso de cookies. Lee nuestra Política de Privacidad