Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlayerLogs

Histórico seguro de mortes, inventários e restaurações para servidores Paper.

Paper Java Versão Autor

Baixar a versão mais recente · Reportar problema

O PlayerLogs registra o estado completo do jogador no momento da morte e oferece um painel administrativo organizado para consultar, copiar ou restaurar inventários. As ações sensíveis possuem backup, confirmação dupla, controle contra cliques repetidos e auditoria.

O acesso dos jogadores é exclusivo para operadores (OP). A permissão é verificada tanto nos comandos quanto nos cliques dos menus.

Visão do painel

Painel principal do PlayerLogs

O painel principal reúne histórico de mortes, última morte, auditoria administrativa, backups, itens restantes e os créditos de Sponter.

Visualização do inventário registrado em uma morte

Ao abrir uma morte, o inventário histórico é exibido em modo de consulta. O administrador pode copiar itens, teleportar-se ao local ou iniciar uma restauração protegida.

Principais recursos

  • Registro automático do inventário no momento da morte.
  • Armazenamento de inventário, armadura, item da mão secundária e efeitos.
  • Data, causa, mundo e coordenadas da morte.
  • Histórico individual de cada jogador.
  • Filtros por período, mundo e causa.
  • Consulta da morte mais recente por número.
  • Cópia de um item ou de todos os itens disponíveis.
  • Controle de itens que não couberam no inventário do administrador.
  • Substituição do próprio inventário com backup prévio.
  • Restauração no jogador, inclusive quando estiver offline.
  • Backups automáticos antes de ações destrutivas.
  • Confirmação dupla nas operações mais sensíveis.
  • Histórico administrativo em formato JSON Lines.
  • Proteção contra cliques duplicados e ações repetidas.
  • Menu de créditos com link clicável.

Como funciona

  1. Quando um jogador morre, o plugin captura o inventário antes de qualquer alteração administrativa.
  2. O registro recebe um identificador único e é salvo em um arquivo separado.
  3. Um operador abre o painel usando /plogs.
  4. O histórico pode ser filtrado e consultado sem modificar o registro original.
  5. Antes de substituir ou restaurar um inventário, o plugin cria um backup automático.
  6. Toda consulta ou alteração importante é registrada no histórico administrativo.

Os registros de morte são tratados como imutáveis: as ações executadas pelo painel não reescrevem o arquivo histórico original.

Comandos

Comando Descrição
/plogs Abre o painel principal.
/plogs menu Abre o painel. Também aceita gui e painel.
/plogs creditos Mostra o autor e o link do GitHub. Também aceita credits e autor.
/plogs mortes <jogador> Abre todo o histórico de mortes do jogador.
/plogs ultimamorte <jogador> [número] Abre uma morte recente específica.
/plogs adminhistory [página] Consulta a auditoria administrativa.
/plogs backups [jogador] Lista os backups automáticos.
/plogs restorebackup <id> Restaura um backup pelo identificador.
/plogs restantes Retoma itens históricos que não couberam no inventário.

O comando principal também pode ser chamado usando /playerlogs.

Instalação

Requisitos

  • Paper 1.21.11
  • Java 21

Passos

  1. Baixe PlayerLogs-1.1.3.jar na página de releases.
  2. Remova versões antigas do PlayerLogs da pasta plugins.
  3. Coloque o novo JAR na pasta plugins do servidor.
  4. Reinicie o servidor.
  5. Use /plogs dentro do jogo sendo operador.

Na primeira inicialização, o plugin cria seus arquivos em plugins/PlayerLogs/.

Arquivos de dados

plugins/PlayerLogs/
├── config.yml
├── admin-history.jsonl
├── deaths/
│   └── <uuid-do-jogador>/
│       └── <id-da-morte>.yml
├── backups/
│   └── <uuid-do-jogador>/
│       └── <id-do-backup>.yml
└── pending/
    └── <uuid-do-jogador>.yml
Caminho Conteúdo
deaths/ Registros imutáveis das mortes.
backups/ Cópias criadas antes de substituições e restaurações.
pending/ Restaurações aguardando o próximo login do jogador.
admin-history.jsonl Auditoria de consultas e ações administrativas.

Os ItemStack são serializados usando a API do Bukkit, preservando encantamentos, nomes, lore e demais metadados suportados pelo servidor.

Configuração

Arquivo: plugins/PlayerLogs/config.yml

# Quantidade máxima de registros exibidos por página.
deaths-per-page: 45

# Intervalo mínimo entre ações que alteram inventários.
action-cooldown-millis: 650

# Limite usado ao imprimir históricos no console.
console-list-limit: 10

Depois de alterar o arquivo, reinicie o servidor para aplicar a configuração.

Proteções administrativas

  • Verificação de OP no comando e novamente em cada clique.
  • Identificador único para operações que modificam inventários.
  • Intervalo mínimo entre ações.
  • Nenhum item restante é jogado automaticamente no chão.
  • Backup automático antes de substituir ou restaurar.
  • Duas telas de confirmação nas restaurações e substituições.
  • Restauração pendente segura para jogadores offline.
  • Registro de sucesso ou falha na auditoria.

O console pode consultar históricos e solicitar restaurações, mas não executa ações que dependem de um inventário próprio.

Compilação

Clone o projeto e execute:

mvn clean verify

O arquivo compilado será gerado em:

target/PlayerLogs-1.1.3.jar

Os testes automatizados validam filtros de morte e a proteção contra repetição de operações.

Estrutura do código

src/main/java/com/codex/playerlogs/
├── command/       # comandos e ajuda
├── gui/           # painel, menus e tratamento de cliques
├── model/         # registros e snapshots
├── persistence/   # leitura, gravação e serialização
├── service/       # captura, restauração, auditoria e transferências
└── util/          # datas, textos e créditos

Créditos

Criado por Sponter.

Licença

Nenhuma licença de redistribuição foi definida. Consulte o autor antes de redistribuir ou reutilizar o código.

About

Plugin administrativo para Paper 1.21.11 com histórico imutável de mortes, inventários, backups, auditoria e painel gráfico.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages