Sobre o projeto
FerrumC é uma implementação de servidor Minecraft escrita do zero em Rust, visando a versão 1.21.8 do Minecraft. Seu objetivo é ser uma alternativa de alto desempenho e eficiência de memória aos servidores vanilla, aproveitando os recursos de multithreading do Rust e uma arquitetura Bevy ECS para concorrência sem bloqueios.
**Principais Recursos:**
- **Desempenho:** Totalmente multithread, utilizando todos os núcleos de CPU disponíveis em vez de um único thread principal.
- **Eficiência de Memória:** Projetado para usar memória mínima enquanto oferece uma experiência de servidor completa.
- **Importação de Mundos:** Pode importar mundos vanilla existentes do Minecraft.
- **Sistemas Personalizados:** Inclui sistemas de rede, NBT e codificação Anvil feitos sob medida para minimizar a latência de I/O.
- **Banco de Dados K/V Rápido:** Usa um banco de dados chave-valor de alta velocidade para armazenamento de chunks.
- **Configuração:** Configuração direta via arquivo `config.toml`.
- **Compatibilidade:** Funciona com clientes vanilla do Minecraft (versão 1.21.8).
**Status Atual:**
O projeto está em alpha inicial e ainda não está pronto para produção. Uma reescrita completa está em andamento no branch `rework/v2-skeleton`, que será mesclada ao `master` em breve. A reescrita inclui um núcleo mais limpo, um mundo criativo plano, comandos de edição de área (`/fill`, `/replace`, `/undo`), um ciclo dia/noite, salvamento de mundos e plugins baseados em Rust. É destinado a servidores criativos e de minigames, não para jogabilidade de sobrevivência ou fiel ao vanilla.
**Instalação:**
- **Docker:** Baixe de `ghcr.io/ferrumc-rs/ferrumc:<versão>` e execute com a porta 25565.
- **Binários Nativos:** Baixe da página de Releases para sua plataforma.
- **A partir do Código Fonte:** Clone o repositório e execute `cargo build --release`.
- **GitHub Actions:** Baixe artefatos pré-construídos da aba Actions.
**Uso:**
- Comandos: `setup` (gerar configuração), `import` (importar dados do mundo), `run` (iniciar servidor).
- Opções: `--log` para nível de registro (trace, debug, info, warn, error).
**Desenvolvimento:**
Contribuições são bem-vindas. O projeto suporta criação de perfil com Tracy via o recurso `tracy`. Junte-se ao Discord para ajuda e discussão.
**Destaques do FAQ:**
- Difere do Valence/Minestom (frameworks) por ser uma substituição completa do servidor.
- Difere do Paper/Spigot por escrever tudo do zero.
- Difere do Pumpkin por priorizar desempenho em vez de paridade vanilla.
- Os plugins serão escritos em Rust via FFI; plugins/mods Java não são suportados.
- A geração de terreno está planejada, mas pode não ser exatamente vanilla.
**Licença:** Licença MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.