4 puntos por GN⁺ 2024-10-16 | 1 comentarios | Compartir por WhatsApp

Pumpkin

Pumpkin es un servidor de Minecraft construido completamente en Rust, que ofrece una experiencia rápida, eficiente y personalizable. Prioriza el rendimiento y la diversión de los jugadores, al tiempo que respeta las mecánicas principales del juego.

Lo que Pumpkin busca lograr

  • Rendimiento: aprovecha el multithreading para buscar la máxima velocidad y eficiencia
  • Compatibilidad: soporta las versiones más recientes del servidor de Minecraft y respeta las mecánicas base del juego
  • Seguridad: prioriza la seguridad al prevenir vulnerabilidades conocidas
  • Flexibilidad: ofrece un alto nivel de configuración para desactivar funciones innecesarias
  • Extensibilidad: proporciona una base para el desarrollo de plugins

Lo que Pumpkin no hará

  • No se usará como reemplazo del servidor vanilla ni de otros servidores
  • No será compatible con plugins o mods de otros servidores
  • No funcionará como un framework para construir un servidor desde cero

Importante: Pumpkin se encuentra actualmente en desarrollo activo

Funcionalidades (en progreso)

  • Configuración (toml)
  • Estado del servidor/ping
  • Inicio de sesión
  • Configuración del jugador
    • Registros (tipos de bioma, pinturas, dimensiones)
    • Marca del servidor
    • Enlaces del servidor
    • Configuración del paquete de recursos
    • Cookies
  • Mundo
    • Unirse al mundo
    • Lista de jugadores en la pestaña
    • Carga del mundo
    • Generación de entidades
    • Carga de chunks
    • Generación del mundo
    • Generación de chunks
    • Límite del mundo
    • Guardado del mundo
  • Jugador
    • Skin del jugador
    • Marca del cliente del jugador
    • Teletransporte del jugador
    • Movimiento del jugador
    • Animación del jugador
    • Inventario del jugador
    • Combate del jugador
  • Servidor
    • Plugins
    • Query
    • RCON
    • Inventario
    • Partículas
    • Chat
    • Comandos
  • Proxy
    • Velocity

El progreso actual puede consultarse en el proyecto de GitHub

Resumen de GN⁺

Pumpkin es un servidor de Minecraft desarrollado en Rust que destaca por su enfoque en el rendimiento y la experiencia del usuario. Sus características principales incluyen optimización de rendimiento mediante multithreading y mejoras de seguridad, además de ofrecer extensibilidad para el desarrollo de plugins. Puede ser útil para quienes estén interesados en el desarrollo de servidores de Minecraft, y como actualmente está en desarrollo activo, se esperan actualizaciones continuas. Proyectos con funciones similares incluyen PaperMC y Spigot.

1 comentarios

 
GN⁺ 2024-10-16
Comentarios de Hacker News
  • La diferencia de rendimiento en los benchmarks es impresionante. Sin embargo, faltan las funciones de generación y guardado del mundo, y esas son tareas costosas. En particular, la generación de chunks puede tumbar un VPS modesto. Me gustaría ver una comparación de rendimiento cuando esas funciones estén incluidas y en uso

    • Me pregunto si hay soporte para destruir/colocar bloques. Eso requeriría recálculo de iluminación y actualizaciones de chunks en el servidor
    • Me pregunto si planean agregar funciones avanzadas como scoreboards, equipos y parsing de command blocks. Mojang al menos hizo open source Brigadier
    • Es un proyecto genial. Ojalá madure hasta el punto de poder ejecutar fácilmente un servidor en hardware de bajos recursos
  • Me pregunto si hay benchmarks de este proyecto. Quisiera saber cuánto más rápido es que un servidor vanilla

    • Los servidores de Minecraft se vuelven intensivos en recursos a medida que aumenta la cantidad de jugadores, y aunque corren en servidores muy potentes para manejar la carga, aun así el TPS sigue siendo bajo
  • Como alguien que ya conocía este proyecto, me alegra ver que esté ganando popularidad en Hacker News. (Creo que 140 votos positivos está bastante bien)

    • Si no recuerdo mal, también había otro servidor escrito en Rust, pero no estoy seguro
    • La última vez que lo vi, era software en una etapa muy temprana, pero se estaba desarrollando rápido. No sé bien cuál sea su estado actual (fue cuando el autor se fue a presentar exámenes)
  • Recientemente desarrollé Pumpkin, un servidor de Minecraft eficiente y rápido escrito completamente en Rust. Échenle un vistazo

  • Me pregunto si divide el hilo principal por regiones (por ejemplo, Paper Folia) o si separa las entidades no bloqueantes en sus propios hilos

  • Es un trabajo impresionante, pero me gustaría ver una implementación de alto rendimiento que soporte muchos mods de Minecraft. Los servidores Forge son famosos por ser lentos con modpacks grandes

  • Estoy esperando que Minecraft haya sido lo suficientemente bien invertido de su protocolo como para que funcionen varias implementaciones de servidor y cliente

  • Voy a probar este proyecto. El rendimiento del servidor vanilla puro es muy malo. Ojalá Mojang lo mejore. La generación de chunks nuevos al menos es multihilo. Me gustaría que hubiera soporte oficial para control básico de servidores SMP. Incluso permisos básicos (colocar, romper, interactuar) sobre regiones definidas por dos coordenadas de esquina serían suficientes. Las solicitudes/actualizaciones podrían administrarse con otras herramientas usando un archivo de configuración base. Podría operarse dentro del juego con una utilidad simple de línea de comandos. Sería bueno poder evitar usar siempre solo whitelist. Paper/Waterfall y otros tienen plugins, pero sería bueno mantener vanilla puro. He mantenido servidores durante mucho tiempo

  • Siempre me sorprende cómo la gente puede hacer este tipo de cosas. Agradecería un artículo sobre cómo se hizo este proyecto