KGInfoServs QuestsTracker
QuestsTracker é um addon premium para BetonQuest que oferece um sistema completo de acompanhamento e gerenciamento de quests para o seu servidor Minecraft.
Projetado para servidores Paper 1.21+ e otimizado com Java 21, ele oferece um menu GUI interativo, um scoreboard em tempo real e sincronização multi-servidor transparente.
Funcionalidades
Menu de quests interativo (GUI)
- Categorias dinâmicas: até 4 categorias totalmente personalizáveis (nome, ícone, modelo)
- Subcategorias: organização hierárquica ilimitada (ex:
Historia > Capitulo 1) - Barra de progresso automática por subcategoria
- Paginação para gerenciar um grande número de quests
- Status visuais: bloqueado, ativo, concluído — cada um com seu ícone e cor
- Alternar quests concluídas: o jogador pode ocultar/exibir as quests completadas (preferência salva)
- Multilíngue: francês, inglês, alemão, polonês, português brasileiro (determinado pela config do BetonQuest)
Scoreboard de acompanhamento em tempo real
- Acompanhamento de até 3 quests simultâneas por jogador
- Título e separador personalizáveis em formato MiniMessage (gradientes, cores, etc.)
- Atualizações acionadas por evento: sem polling, sem ticks desnecessários
- 95-98% menos pacotes de rede do que um scoreboard clássico
- Ativável/desativável globalmente (config) e por jogador (comando)
Integração nativa com BetonQuest
5 events personalizados registrados diretamente no BetonQuest:
| Event | Descrição |
|---|---|
activeQuest | Ativa uma quest (a torna visível no menu) |
lockQuest | Bloqueia uma quest (a oculta do menu) |
finishQuest | Conclui uma quest |
nextStep | Avança para a próxima etapa |
kgcomplete | Marca um objetivo como concluído |
Sistema de status
| Status | Descrição | Acionador |
|---|---|---|
| Bloqueado | Quest ainda não disponível | Nenhuma tag (estado padrão) |
| Ativo | Quest disponível e rastreável | Event activeQuest |
| Concluído | Quest completada | Event finishQuest |
Sincronização multi-servidor
- Sincronização via Redis Pub/Sub em tempo real
- Cache de dois níveis (L1 local + L2 Redis) para desempenho ótimo
- Sistema de heartbeat durante mudanças de servidor (janela de 2 minutos)
- Circuit breaker: fallback automático para o banco de dados se o Redis estiver indisponível
- Rate limiting: 100ms por jogador para evitar sobrecarga no Redis
Ferramentas de administração
- Diagnósticos completos: saúde do sistema, estatísticas de cache, relatório de memória
- Limpeza de dados: exclusão direcionada com patterns wildcard
- Atualização automática: verificação e download de novas versões
Desempenho
- Virtual Threads (Java 21) para paralelismo sem bloquear a thread principal
- Pool de conexões HikariCP para o banco de dados
- Cache Caffeine local com invalidação inteligente
- Inicialização assíncrona (BDD + Redis em paralelo)
Pré-requisitos
| Pré-requisito | Versão mínima | Recomendado |
|---|---|---|
| Servidor | Paper 1.21+ | Paper última versão |
| Java | Java 21+ | Java 21 |
| BetonQuest | 3.0+ | Última versão |
| Banco de dados | MySQL 8.0+ / MariaDB 10.5+ | MariaDB última versão |
| Redis | 6.0+ (opcional) | Redis última versão |
| Licença | Chave de licença válida KGInfoServs | - |
Compatibilidade
O plugin funciona apenas no Paper ou seus forks (Purpur, Pufferfish). Spigot não é suportado. Java 21 é obrigatório para o suporte a Virtual Threads.
Visão rápida
Abrir o menu de quests
/quests
Acompanhar uma quest
/quests track <quest_id>
Diagnósticos de administrador
/kgquests health # Saúde do sistema
/kgquests stats # Estatísticas do cache
/questsreload # Recarregar a configuração
Sumário da documentação
| Página | Descrição |
|---|---|
| Instalação | Guia de instalação completo passo a passo |
| Configuração | Referência completa de config.yml e quests_config.yml |
| Comandos | Todos os comandos de jogador e administrador |
| Permissões | Permissões e cargos recomendados |
| Integração BetonQuest | Events, templates, tags e exemplos completos |
| Multi-servidor | Sincronização Redis e cache distribuído |
| Solução de problemas | Resolução de problemas comuns |