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.
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: falseMantenha 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: 20Em 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: 1800Destaques 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.
1800segundos = 30 minutos3600segundos = 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:25565yPunish 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:
- Jogador banido tenta entrar no servidor
- Ao invés de ser kickado, é redirecionado
- 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 banidosPara 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: trueRede 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.