LogoyStore

Configuração

Conheça as várias opções de configuração.

O plugin deve funcionar sem necessidade de configuração adicional, mas se você precisar alterar o comportamento do plugin, você está no lugar certo.

Após alterar a configuração, é necessário reiniciar o servidor.

Estrutura de arquivos

Abaixo está um exemplo de como é a estrutura de arquivos do plugin. Clique em uma pasta para expandi-la.

commands.yml
config.yml
menus.yml
messages.yml

Configuração do plugin (config.yml)

O arquivo config.yml é o coração do plugin, onde você controla todos os tipos de logs registrados, formatos de saída e integrações. Abaixo estão todas as opções disponíveis com explicações detalhadas.

debug-mode

Ativa ou desativa o modo de depuração. Quando ativado, o plugin registrará informações detalhadas no console para ajudar a identificar problemas.

# Determina o funcionamento da depuração. Valores válidos: [false, true]
debug-mode: false

Mantenha desativado em produção, pois pode gerar muitos logs e afetar a performance.

database

Define como e onde os dados dos logs serão armazenados. O plugin suporta três tipos de armazenamento:

  • SQLITE: Armazena dados em um arquivo local. Ideal para servidores pequenos e médios.
  • MYSQL: Conecta a um servidor MySQL externo. Recomendado para servidores com muitos jogadores.
  • HIKARI: Usa pool de conexões para MySQL. Recomendado para servidores grandes por melhor performance.
database:
  # Determina o tipo de banco de dados. Valores válidos: [SQLITE, MYSQL, HIKARI (recomendado)]
  storage-type: SQLITE

  # Dados para conexão ao banco de dados MYSQL.
  data:
    # Endereço de conexão do banco de dados. [EX: 127.0.0.1]
    host: localhost
    # Porta de conexão do banco de dados. [EX: 3306]
    port: 3306
    # Nome do banco de dados a ser conectado. [EX: minecraft]
    database: ''
    # Usuário de conexão. [EX: root]
    username: ''
    # Senha do usuário de conexão: [EX: 123]
    password: ''

Se usar SQLITE, não precisa preencher os dados de conexão. O arquivo será criado automaticamente em plugins/yLogger/data.db.

max-player-death-logs

Define a quantidade máxima de históricos de morte salvos por jogador. Os itens perdidos em cada morte são armazenados e podem ser visualizados pelo menu /logger [player].

# Quantia máxima de log de itens para cada jogador
# Recomendado: 3
max-player-death-logs: 3

Como funciona:

  • Cada vez que um jogador morre, os itens do inventário são salvos
  • Apenas as últimas N mortes são mantidas (onde N é o valor configurado)
  • Mortes mais antigas são automaticamente removidas
  • Administradores podem coletar ou devolver estes itens pelo menu

Exemplo de uso:

max-player-death-logs: 3  # Salva as 3 últimas mortes

Recomendamos manter em 3 para não sobrecarregar o armazenamento. Se o servidor tiver muitas mortes diárias, considere reduzir para 1 ou 2.

types

Sistema de tipos de logs. Cada tipo pode ser ativado/desativado individualmente e possui:

  • enabled: Se este tipo de log está ativo
  • format: Formato da mensagem salva no arquivo
  • discordhook: Integração com Discord via yDiscordHook

Logs de conexão

Registram entrada e saída de jogadores do servidor.

login - Registro ao logar no servidor:

types:
  login:
    enabled: true
    format: '[{date}:{hour}] {player} logou no servidor nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

quit - Registro ao deslogar do servidor:

types:
  quit:
    enabled: true
    format: '[{date}:{hour}] {player} saiu do servidor nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

Logs de comunicação

chat - Registro ao falar no chat:

types:
  chat:
    enabled: true
    format: '[{date}:{hour}] {player} digitou no chat {chat} a mensagem {message} no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

Suporta plugins de chat como nChat e UltimateChat. O placeholder {chat} identifica o tipo de chat usado.

command - Registro ao executar um comando:

types:
  command:
    enabled: true
    format: '[{date}:{hour}] {player} utilizou o comando {command} no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

Use a blacklist de comandos para evitar registrar comandos com informações sensíveis como senhas.

Logs de combate

death - Registro ao morrer:

types:
  death:
    enabled: true
    format: '[{date}:{hour}] {player} morreu para {type} no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

kill - Registro ao matar um player:

types:
  kill:
    enabled: true
    format: '[{date}:{hour}] {player} matou {type} nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

Logs de blocos

place-block - Registro ao colocar um bloco:

types:
  place-block:
    enabled: true
    format: '[{date}:{hour}] {player} colocou um bloco do tipo ({type}) no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

break-block - Registro ao quebrar um bloco:

types:
  break-block:
    enabled: true
    format: '[{date}:{hour}] {player} quebrou um bloco do tipo ({type}) no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

Use a blacklist de blocos para ignorar blocos comuns (como DIRT, STONE) e reduzir o tamanho dos logs.

Logs de itens

drop-item - Registro ao dropar um item:

types:
  drop-item:
    enabled: true
    format: '[{date}:{hour}] {player} dropou ({amount}x) item(s) do tipo ({type} - {item_name}) no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

collect-item - Registro ao coletar um item:

types:
  collect-item:
    enabled: true
    format: '[{date}:{hour}] {player} coletou ({amount}x) item(s) do tipo ({type} - {item_name}) no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

clone-item - Registro ao clonar um item:

types:
  clone-item:
    enabled: true
    format: '[{date}:{hour}] {player} clonou ({amount}x) item(s) do tipo ({type} - {item_name}) no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

O log de clone-item é essencial para detectar duplicação de itens. Mantenha sempre ativo!

Logs de interação

open-chest - Registro ao abrir um baú:

types:
  open-chest:
    enabled: true
    format: '[{date}:{hour}] {player} abriu um baú no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

Logs de integração

chestshop-buy - Registro ao comprar um item (yChestShop):

types:
  chestshop-buy:
    enabled: true
    format: '[{date}:{hour}] {player} comprou de {seller} ({amount}x) item(s) do tipo ({type} - {item_name}) no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

chestshop-sell - Registro ao vender um item (yChestShop):

types:
  chestshop-sell:
    enabled: true
    format: '[{date}:{hour}] {player} vendeu para {seller} ({amount}x) item(s) do tipo ({type} - {item_name}) no mundo [{world}] nas coordenadas ({coords})'
    discordhook:
      enabled: true
      channel: ''
      embed: ''

blacklist

Sistema de blacklist para evitar registrar ações desnecessárias ou sensíveis, reduzindo o tamanho dos logs e protegendo informações.

commands

Lista de comandos que não serão registrados no log.

blacklist:
  commands:
    - '/login'
    - '/register'
    - '/loginstaff'
    - '/stafflogin'
    - '/ls'
    - '/sl'

Por que usar:

  • Evita registrar comandos com senhas
  • Reduz poluição de logs com comandos repetitivos
  • Protege informações sensíveis dos jogadores

Exemplo expandido:

blacklist:
  commands:
    - '/login'
    - '/register'
    - '/2fa'
    - '/changepassword'
    - '/msg'      # Mensagens privadas
    - '/tell'     # Mensagens privadas
    - '/help'     # Comando muito usado

blocks

Lista de blocos que não serão registrados no log.

blacklist:
  blocks: ['BEDROCK']

Recomendações:

blacklist:
  blocks:
    - 'BEDROCK'       # Não pode ser quebrado
    - 'BARRIER'       # Bloco de barreira
    - 'DIRT'          # Muito comum
    - 'GRASS'         # Muito comum
    - 'STONE'         # Muito comum
    - 'COBBLESTONE'   # Muito comum
    - 'SAND'          # Muito comum

Adicione blocos muito comuns para reduzir drasticamente o tamanho dos logs. Mantenha apenas blocos importantes como DIAMOND_ORE, SPAWNER, etc.

items

Lista de itens que não serão registrados no log.

blacklist:
  items: []

Exemplo de uso:

blacklist:
  items:
    - 'DIRT'
    - 'COBBLESTONE'
    - 'STICK'
    - 'WOODEN_PICKAXE'

discordhook (Integração com Discord)

Cada tipo de log pode ser enviado automaticamente para o Discord usando o plugin yDiscordHook.

Configuração por tipo:

discordhook:
  # Ativar integração com Discord para este tipo de log
  enabled: true
  # ID do canal do Discord onde as mensagens serão enviadas
  channel: '123456789012345678'
  # Nome do embed configurado no yDiscordHook
  embed: 'player_death'

Como configurar:

  1. Instale o plugin yDiscordHook
  2. Configure os webhooks e embeds no yDiscordHook
  3. Em cada tipo de log, ative a integração:
    • enabled: true - Ativa o envio para Discord
    • channel: 'ID_DO_CANAL' - ID do canal do Discord
    • embed: 'nome_do_embed' - Nome do embed configurado

Exemplo de uso prático:

types:
  death:
    enabled: true
    format: '[{date}:{hour}] {player} morreu para {type}'
    discordhook:
      enabled: true
      channel: '987654321098765432'
      embed: 'death_notification'
  
  clone-item:
    enabled: true
    format: '[{date}:{hour}] {player} clonou ({amount}x) {item_name}'
    discordhook:
      enabled: true
      channel: '111222333444555666'
      embed: 'dupe_alert'

A integração com Discord é opcional. Deixe enabled: false ou channel: '' se não quiser usar.

Exemplos de configurações recomendadas

Servidor pequeno/médio

Configuração leve focada nos eventos mais importantes:

max-player-death-logs: 3

types:
  chat:
    enabled: false  # Desativado para economizar espaço
  login:
    enabled: true
  quit:
    enabled: true
  command:
    enabled: true
  death:
    enabled: true
  kill:
    enabled: true
  place-block:
    enabled: false  # Desativado para economizar espaço
  break-block:
    enabled: false  # Desativado para economizar espaço
  drop-item:
    enabled: false
  collect-item:
    enabled: false
  clone-item:
    enabled: true   # Importante para detectar dupes
  open-chest:
    enabled: false

blacklist:
  commands:
    - '/login'
    - '/register'
    - '/help'
    - '/msg'
    - '/tell'
  blocks:
    - 'DIRT'
    - 'GRASS'
    - 'STONE'
    - 'COBBLESTONE'
    - 'SAND'
    - 'GRAVEL'
  items:
    - 'DIRT'
    - 'COBBLESTONE'
    - 'STICK'

Servidor grande/competitivo

Configuração completa para máxima segurança e auditoria:

max-player-death-logs: 5

types:
  chat:
    enabled: true
  login:
    enabled: true
  quit:
    enabled: true
  command:
    enabled: true
  death:
    enabled: true
  kill:
    enabled: true
  place-block:
    enabled: true
  break-block:
    enabled: true
  drop-item:
    enabled: true
  collect-item:
    enabled: true
  clone-item:
    enabled: true
  open-chest:
    enabled: true

blacklist:
  commands:
    - '/login'
    - '/register'
    - '/2fa'
    - '/loginstaff'
  blocks:
    - 'BEDROCK'
    - 'BARRIER'
  items: []  # Registrar todos os itens

A configuração completa gera muitos dados. Certifique-se de ter espaço em disco suficiente e considere usar MYSQL/HIKARI para melhor performance.

Nesta página