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
data.yml
discord.yml
menus.yml
messages.yml
punishes.yml
settings.yml
warns.yml

Configuração do plugin (config.yml)

O arquivo config.yml é o coração do plugin, onde você controla todos os aspectos do sistema de puniçõ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 das punições serão armazenados. O plugin suporta três tipos de armazenamento:

  • SQLITE: Armazena dados em um arquivo local. Ideal para servidores pequenos.
  • MYSQL: Conecta a um servidor MySQL externo. Recomendado para servidores médios.
  • 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/yPunish/data.db.

redis

Configurações do servidor Redis para sincronização de dados de punições entre múltiplos servidores. Necessário apenas em redes BungeeCord/Velocity para manter as punições sincronizadas em tempo real.

redis:
  # Ativar a conexão com o redis
  enabled: false
  # Endereço de conexão. [EX: 127.0.0.1]
  host: 'localhost'
  # Porta de conexão. [EX: 6379]
  port: 6379
  # Usuário de conexão. [EX: root]
  username: ''
  # Senha do usuário de conexão: [EX: 123]
  password: ''

Redis é essencial se você usa yPunish em uma rede com múltiplos servidores para garantir que bans e mutes sejam aplicados em toda a rede imediatamente.

login-delay

Define o tempo de espera em ticks antes de carregar os dados do jogador após o login. Essencial para servidores com banco de dados externo ou redes BungeeCord/Velocity.

# Delay em ticks (20 ticks = 1 segundo)
login-delay: 20

Em redes BungeeCord/Velocity, use no mínimo 20 ticks para garantir sincronização das punições antes do carregamento.

general

Configurações gerais do sistema de punições que controlam o comportamento principal do plugin.

general:
  # Permitir entrar neste servidor mesmo banido
  # Necessário estar ativado para o sistema de redirect funcionar
  lobby-mode: false
  # Ative apenas se estiver usando o waterfall
  waterfall-kick: true
  # Permitir de conversar em chat custom quando estiver mutado
  # Chat custom = Legendchat, nChat...
  mute-custom-chat-enabled: false
  # Permitir de conversar em chat do minecraft
  # Chat do minecraft = Quando não tem plugin de chat
  mute-minecraft-chat-enabled: false
  # Permitir de usar comandos quando estiver mutado
  mute-commands-enabled: true
  # Whitelist de comandos permitidos para usar quando estiver mutado
  mute-commands-whitelist: []
  # Tempo para atualizar o report de punições
  # Em segundos
  report-time: 1800

Destaques importantes:

lobby-mode

Define se jogadores banidos podem entrar no servidor. Útil para sistemas de "jaula" onde jogadores banidos são enviados para uma área específica ao invés de serem completamente impedidos de entrar.

  • false - Jogadores banidos não podem entrar (padrão)
  • true - Jogadores banidos podem entrar (necessário para sistema de redirect)

waterfall-kick

Compatibilidade com proxy Waterfall. Ative apenas se estiver usando Waterfall ao invés de BungeeCord padrão.

mute-custom-chat-enabled

Controla se jogadores mutados podem usar plugins de chat customizados (nChat, LegendChat, UltimateChat).

  • false - Jogadores mutados não podem usar chat custom (recomendado)
  • true - Permite uso de chat custom mesmo mutado

mute-minecraft-chat-enabled

Controla se jogadores mutados podem usar o chat padrão do Minecraft (quando não há plugin de chat).

  • false - Bloqueia completamente o chat (recomendado)
  • true - Permite uso do chat padrão

mute-commands-enabled

Controla se jogadores mutados podem executar comandos.

  • true - Permite comandos (use com whitelist)
  • false - Bloqueia todos os comandos

mute-commands-whitelist

Lista de comandos que jogadores mutados podem usar. Útil para permitir comandos essenciais como /help ou /regras.

Exemplo de configuração:

mute-commands-enabled: true
mute-commands-whitelist:
  - '/help'
  - '/regras'
  - '/loja'
  - '/discord'

report-time

Tempo em segundos para atualizar o relatório de punições. O relatório mostra estatísticas de punições aplicadas.

  • 1800 segundos = 30 minutos
  • 3600 segundos = 1 hora

proxy

Configurações essenciais para redes BungeeCord/Velocity com múltiplos servidores.

proxy:
  # Nome deste servidor na config do proxy
  server-name: 'lobby'
  # Lista de servidores no proxy
  server-list:
    - 'lobby'
    - 'mina'

server-name

Nome deste servidor conforme configurado no config.yml do seu BungeeCord/Velocity. Deve corresponder exatamente ao nome usado no proxy.

Exemplo de correspondência:

BungeeCord config.yml:

servers:
  lobby:
    address: localhost:25565

yPunish config.yml:

proxy:
  server-name: 'lobby'  # Deve ser exatamente 'lobby'

server-list

Lista completa de todos os servidores da sua rede. Usado para punições em "all" (todos os servidores).

Exemplo completo:

proxy:
  server-name: 'lobby'
  server-list:
    - 'lobby'
    - 'survival'
    - 'pvp'
    - 'skyblock'
    - 'mina'

redirect

Sistema de redirecionamento para jogadores banidos. Permite criar áreas de "jaula" ao invés de expulsar completamente do servidor.

redirect:
  enabled: false
  # Tipos disponíveis
  # SERVER (envia para outro servidor)
  # LOCATION (envia para um local definido no próprio lobby)
  type: 'SERVER'
  # Servidor que irá redirecionar o jogador caso esteja banido
  # (legal para fazer uma área de jaula)
  server: 'mina'

Como funciona:

  1. Jogador banido tenta entrar no servidor
  2. Ao invés de ser kickado, é redirecionado
  3. Pode escolher entre:
    • SERVER: Envia para outro servidor (ex: servidor de jaula)
    • LOCATION: Envia para um local específico no próprio servidor

Configuração recomendada para jaula:

general:
  lobby-mode: true  # IMPORTANTE: Deve estar ativo

redirect:
  enabled: true
  type: 'SERVER'
  server: 'jaula'  # Servidor dedicado para jogadores banidos

Para o sistema de redirect funcionar, você DEVE ativar lobby-mode: true em general.

discord

Configurações de integração com Discord. Permite enviar notificações de punições automaticamente.

discord:
  # exclusivo yDiscordHook
  # enviar o embed no privado
  discordhook:
    enabled: true
    dm-tempmute-embed: 'tempmute'
    dm-mute-embed: 'mute'
    dm-ban-embed: 'ban'
    dm-banip-embed: 'banip'
    dm-tempban-embed: 'tempban'
    dm-unban-embed: 'unban'
    dm-unmute-embed: 'unmute'
    dm-kick-embed: 'kick'
    dm-warn-embed: 'warn'
  # enviar o embed em um chat
  webhook:
    enabled: true
    chat-tempmute-embed: 'tempmute'
    chat-mute-embed: 'mute'
    chat-ban-embed: 'ban'
    chat-banip-embed: 'banip'
    chat-tempban-embed: 'tempban'
    chat-unban-embed: 'unban'
    chat-unmute-embed: 'unmute'
    chat-kick-embed: 'kick'
    chat-warn-embed: 'warn'

Dois sistemas disponíveis:

discordhook (yDiscordHook)

Requer o plugin yDiscordHook instalado. Envia mensagens privadas (DM) para o jogador punido no Discord.

  • enabled: true - Ativa o sistema
  • Cada tipo de punição pode ter um embed personalizado configurado no yDiscordHook

webhook

Sistema de webhooks do Discord. Envia notificações em canais específicos do seu servidor Discord.

  • enabled: true - Ativa o sistema
  • Configure as URLs dos webhooks no arquivo discord.yml

Você pode usar ambos os sistemas simultaneamente ou apenas um deles. Veja a página Discord para configuração completa.

Configuração do banco de dados (settings.yml)

Arquivo alternativo de configuração do banco de dados. Possui as mesmas opções do config.yml.

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: ''

Este arquivo é opcional. Se existir, suas configurações têm prioridade sobre o config.yml.

Exemplos de configuração

Servidor simples (Single)

Servidor único sem proxy, banco de dados local.

debug-mode: false

database:
  storage-type: SQLITE

general:
  lobby-mode: false
  waterfall-kick: false
  mute-custom-chat-enabled: false
  mute-minecraft-chat-enabled: false
  mute-commands-enabled: true
  mute-commands-whitelist: ['/help', '/regras']
  report-time: 1800

proxy:
  server-name: 'lobby'
  server-list: ['lobby']

redirect:
  enabled: false

discord:
  discordhook:
    enabled: false
  webhook:
    enabled: true

Rede BungeeCord com jaula

Rede com múltiplos servidores e sistema de jaula para banidos.

debug-mode: false

database:
  storage-type: HIKARI
  data:
    host: 'mysql.seuservidor.com.br'
    port: 3306
    database: 'minecraft'
    username: 'usuario'
    password: 'senha123'

general:
  lobby-mode: true  # IMPORTANTE para redirect funcionar
  waterfall-kick: true
  mute-custom-chat-enabled: false
  mute-minecraft-chat-enabled: false
  mute-commands-enabled: true
  mute-commands-whitelist: ['/discord', '/site', '/regras']
  report-time: 3600

proxy:
  server-name: 'lobby'
  server-list:
    - 'lobby'
    - 'survival'
    - 'pvp'
    - 'skyblock'
    - 'jaula'

redirect:
  enabled: true
  type: 'SERVER'
  server: 'jaula'

discord:
  discordhook:
    enabled: true
    dm-ban-embed: 'ban'
    dm-tempban-embed: 'tempban'
    dm-mute-embed: 'mute'
    dm-tempmute-embed: 'tempmute'
  webhook:
    enabled: true
    chat-ban-embed: 'ban'
    chat-tempban-embed: 'tempban'

Para redes grandes, sempre use HIKARI como tipo de banco de dados para melhor performance.

Nesta página