Show HN: Pumpkin, um servidor moderno de Minecraft escrito em Rust
(github.com/Snowiiii)Pumpkin
Pumpkin é um servidor de Minecraft totalmente construído em Rust, oferecendo uma experiência rápida, eficiente e personalizável. Ele prioriza desempenho e diversão dos jogadores, ao mesmo tempo em que segue a mecânica central do jogo.
O que o Pumpkin busca alcançar
- Desempenho: busca máxima velocidade e eficiência com uso de multithreading
- Compatibilidade: oferece suporte às versões mais recentes do servidor de Minecraft e segue a mecânica padrão do jogo
- Segurança: prioriza a segurança ao prevenir vulnerabilidades conhecidas
- Flexibilidade: oferece alta capacidade de configuração para desativar recursos desnecessários
- Extensibilidade: fornece uma base para desenvolvimento de plugins
O que o Pumpkin não fará
- Não será usado como substituto do servidor padrão ou de outros servidores
- Não será compatível com plugins ou mods de outros servidores
- Não funcionará como um framework para construir um servidor do zero
Importante: o Pumpkin está atualmente em desenvolvimento ativo
Recursos (em andamento)
- Configuração (toml)
- Status/ping do servidor
- Login
- Configurações do jogador
- Registro (tipos de bioma, pinturas, dimensões)
- Marca do servidor
- Links do servidor
- Configuração de pacote de recursos
- Cookies
- Mundo
- Entrada no mundo
- Lista de jogadores na aba
- Carregamento de mundo
- Geração de entidades
- Carregamento de chunks
- Geração de mundo
- Geração de chunks
- Borda do mundo
- Salvamento de mundo
- Jogador
- Skin do jogador
- Marca do cliente do jogador
- Teletransporte do jogador
- Movimento do jogador
- Animações do jogador
- Inventário do jogador
- Combate do jogador
- Servidor
- Plugins
- Query
- RCON
- Inventário
- Partículas
- Chat
- Comandos
- Proxy
- Velocity
O progresso atual pode ser acompanhado no projeto do GitHub
Resumo do GN⁺
Pumpkin é um servidor de Minecraft desenvolvido em Rust que chama atenção por dar grande importância a desempenho e experiência do usuário. Seus destaques incluem otimização de performance com multithreading e reforço de segurança, além de oferecer extensibilidade para desenvolvimento de plugins. Pode ser útil para quem tem interesse em desenvolvimento de servidores de Minecraft, e como está em desenvolvimento ativo, são esperadas atualizações contínuas. Projetos com funcionalidades semelhantes incluem PaperMC e Spigot.
1 comentários
Comentários no Hacker News
A diferença de desempenho nos benchmarks é impressionante. No entanto, faltam os recursos de geração e salvamento do mundo, e isso é uma tarefa custosa. Em especial, a geração de chunks pode derrubar um VPS fraco. Fico curioso para ver uma comparação de desempenho quando esses recursos estiverem incluídos e em uso
Fico me perguntando se existem benchmarks para este projeto. Quero saber o quanto ele é mais rápido que o servidor vanilla
Como alguém que já conhecia este projeto, fico feliz em ver que ele está fazendo sucesso no Hacker News. (140 votos positivos me parecem bem bons)
Recentemente desenvolvi o Pumpkin, um servidor de Minecraft eficiente e rápido, totalmente escrito em Rust. Vale a pena conferir
Fico me perguntando se ele divide a thread principal por regiões (como o Paper Folia) ou se separa entidades não bloqueantes em suas próprias threads
Trabalho impressionante, mas eu gostaria de ver uma implementação de alto desempenho que suporte muitos mods de Minecraft. Os servidores Forge são notoriamente lentos com modpacks grandes
Estou esperando o Minecraft ser suficientemente bem invertido em seu próprio protocolo para que várias implementações de servidor e cliente funcionem
Vou experimentar este projeto. O desempenho do servidor vanilla puro é muito ruim. Espero que a Mojang melhore isso. A nova geração de chunks é pelo menos multithread. Seria bom que houvesse suporte oficial para controle básico de servidores SMP. Até permissões básicas (colocar, quebrar, interagir), como uma área definida por duas coordenadas de canto, já ajudariam. Solicitações/atualizações poderiam ser gerenciadas com outras ferramentas por meio de um arquivo de configuração básico. Poderia ser operado no jogo com um utilitário simples de linha de comando. Seria bom poder evitar usar sempre apenas whitelist. Paper/Waterfall etc. têm plugins, mas é bom manter vanilla puro. Mantenho servidores há muito tempo
Sempre me impressiona como as pessoas conseguem fazer esse tipo de coisa. Se houver um texto sobre como este projeto foi feito, eu agradeceria