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.

blocks.yml
colors.yml
commands.yml
config.yml
json-messages.json
market.yml
menus.yml
messages.yml
permissions.yml
scoreboard.yml
subcommands.yml

Configuração do plugin (config.yml)

O arquivo config.yml é o coração do plugin, onde você controla todos os aspectos do funcionamento das facçõ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 facçõ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/yFactions/data.db.

redis

Configurações do servidor Redis para sincronização multi-servidor (BungeeCord/Velocity).

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

Quando usar Redis:

  • Rede BungeeCord/Velocity com múltiplos servidores
  • Sincronização em tempo real de dados entre servidores
  • Chat de faction funcionando entre servidores

faction-menu

Define se o comando /faction abre um menu ou exibe mensagens de ajuda.

# Determina se o menu será aberto ao usar /faction. Valores válidos: [false, true]
faction-menu: true
  • true - Abre menu interativo
  • false - Exibe mensagens de ajuda no chat

always-active-ff

Lista de mundos onde o Friendly Fire (dano entre membros da mesma faction) está sempre ativo.

# Lista de mundos onde o friendly fire estará sempre ativo
always-active-ff: ['none']

Exemplo de uso:

always-active-ff: ['world_pvp', 'arena']

Útil para arenas de treino ou eventos PvP internos.

proxy-chat

Ativa o sistema de chat na proxy (Velocity e BungeeCord).

# Determina se o chat funcionará via proxy. Valores válidos: [false, true]
proxy-chat: true

Necessário para chat de faction funcionar entre servidores em redes BungeeCord/Velocity.

mohist-chat

Ativa compatibilidade com plugins de chat específicos no Mohist.

# Determina se usará o sistema de chat do mohist. Valores válidos: [false, true]
mohist-chat: false

Compatível com: UltimateChat, nChat e LegendChat.

Apenas ative se estiver usando Mohist e um dos plugins de chat listados.

chats

Configuração de formato dos chats da faction e aliados.

chats:
  faction-format: '&b[F] &7[{faction_colortag}&7] &b{role} &f{player}: &7{message}'
  ally-format: '&a[A] &7[{faction_colortag}&7] &b{role} &f{player}: &7{message}'
  faction-spy-format: '&8[F] [{faction_colortag}&8] [{faction_name}] [{role}&8]{player}: {message}'
  ally-spy-format: '&8[A] &8- [{faction_colortag}&8] [{faction_name}] [{role}&8]{player}: {message}'

Placeholders disponíveis:

PlaceholderDescrição
{own_tag}Tag customizada do jogador
{faction_tag}Tag da faction (sem cor)
{faction_colortag}Tag da faction com cor
{faction_name}Nome completo da faction
{role}Cargo do jogador
{role_symbol}Símbolo do cargo
{player}Nome do jogador
{message}Mensagem enviada

execute-commands

Sistema de comandos executados automaticamente em eventos específicos.

execute-commands:
  # Quando criar uma faction
  create: ''
  # Quando desfazer a faction
  disband: ''
  # Quando entrar numa faction
  enter: ''
  # Quando sair duma faction
  leave: ''

Exemplo de uso:

execute-commands:
  create: 'broadcast &a{player} criou a faction {faction}!'
  enter: 'give {player} diamond 5'
  leave: 'eco take {player} 100'

Placeholders: {player}, {faction}, {tag}

default-values

Valores padrão para novas facções criadas.

default-values:
  faction:
    # Cor padrão das letras da tag
    tag-color: '&7'
    # Descrição padrão da faction
    description: 'Nenhuma descrição configurada.'
    # Quantia padrão de slots que uma faction vai ter
    max-players: 10
    # Quantia padrão de slots de alianças que uma faction vai ter
    max-allies: 10
    # Quantia padrão de slots de rivais que uma faction vai ter
    max-rivals: 10
    # Quantia padrão de claims que uma faction vai ter
    max-claims: 10
    # Quantia de linhas que um baú vai ter por padrão
    chest-lines: 1
    # A faction já vai ser criada e verificada automaticamente?
    verified: true
    # PRIVATE = Apenas jogadores convidados poderão entrar
    # REQUEST = Jogadores poderão solicitar adesão à faction
    # PUBLIC = Jogadores poderão entrar livremente na faction
    entry-type: 'PRIVATE'

Tipos de entrada:

  • PRIVATE - Apenas por convite (recomendado)
  • REQUEST - Jogadores podem solicitar entrada
  • PUBLIC - Qualquer um pode entrar livremente

verify

Sistema de verificação de facções. Facções não verificadas têm recursos bloqueados.

verify:
  # Bloquear o home quando não estiver verificado
  home: true
  # Bloquear o baú quando não estiver verificado
  chest: true
  # Bloquear o banco quando não estiver verificado
  bank: true
  # Bloquear o mercado quando não estiver verificado
  market: true
  # Bloquear mudar a cor da tag quando não estiver verificado
  modtag: true
  # Bloquear mudar o nome quando não estiver verificado
  name: true
  # Bloquear mudar a descrição quando não estiver verificado
  description: true
  # Bloquear aceitar/fazer alianças quando não estiver verificado
  ally: true
  # Bloquear fazer/receber rivalidades quando não estiver verificado
  rival: true

Use /f verify <faction> (permissão admin) para verificar uma faction.

general

Configurações gerais do plugin.

general:
  # Até quanto a faction poderá aumentar os slots disponíveis para convidar membros
  max-slots: 100
  # Até quanto a faction poderá aumentar os slots disponíveis para fazer alianças
  max-ally-slots: 100
  # Até quanto a faction poderá aumentar os slots disponíveis para fazer rivalidades
  max-rival-slots: 100
  # Preço para criar uma faction (Vault)
  create-cost: 100.0
  # Tempo online necessário para criar uma faction (yTempoOnline) (segundos)
  time-min: 0
  # Enviar mensagem dos boletins ao logar no servidor
  login-send-newsletters: true
  # A tag vai ser forçada a ser minúscula ou maiúscula?
  # Tipos: UPPER - Força maiúscula / LOWER - Força minúscula / NONE - Não interfere
  force-tag-case: 'NONE'
  # Regex dos caracteres disponíveis para a TAG da faction
  tag-regex: '[0-9a-zA-Z]*'
  # Regex dos caracteres disponíveis para o NOME da faction
  name-regex: '[0-9a-zA-Z _]*'
  # Regex dos caracteres disponíveis para a DESCRIÇÃO da faction
  description-regex: '[0-9a-zA-Z _]*'
  # Regex dos caracteres disponíveis para a CUSTOM-TAG do jogador em uma faction
  own-tag-regex: '[0-9a-zA-Z _&§]*'
  # Quantia máxima de caracteres que uma tag poderá ter
  max-tag-length: 3
  # Quantia mínima de caracteres que uma tag deverá ter
  min-tag-length: 3
  # Quantia máxima de caracteres que um nome poderá ter
  max-name-length: 10
  # Quantia mínima de caracteres que um nome deverá ter
  min-name-length: 5
  # Quantia máxima de caracteres que uma descrição poderá ter
  max-description-length: 20
  # Quantia mínima de caracteres que uma descrição deverá ter
  min-description-length: 10
  # Quantia máxima de caracteres que uma custom_tag poderá ter
  max-own-tag-length: 20
  # Quantia mínima de caracteres que uma custom_tag deverá ter
  min-own-tag-length: 10
  # Quantia máxima de caracteres que uma mensagem de boletim poderá ter
  max-newsletter-length: 100
  # Contabilizar as kills civilian no kdr
  kdr-kills-civilian: true
  # Contabilizar as kills neutral no kdr
  kdr-kills-neutral: true
  # Contabilizar as kills rival no kdr
  kdr-kills-rival: true
  # Cores permitidas nas tags
  allowed-colors: ['&0', '&1', '&2', '&3', '&4', '&5', '&6', '&7', '&8', '&9', '&a', '&b', '&c', '&d', '&e', '&f']
  # Palavras proibidas no nome da faction (Coloque em minúsculo)
  name-blocked-words: []
  # Tags proibidas de serem usadas (Coloque em minúsculo)
  tag-blocked: ['stf', 'tsj', 'tse', 'gov', 'tcu']
  # Quantia máxima de linhas que o baú pode ter (Não pode ser maior que 6)
  max-chest-lines: 6
  # Preço para expandir o baú
  chest-expand-money: 100.0
  # Habilitar o uso de teclas numéricas no baú
  chest-numkeys: false
  # Habilitar o uso de shift no baú
  chest-shift: false
  # Habilitar o uso de criativo no baú
  chest-creative: false
  # Prevenir de desfazer a faction com money no banco
  prevent-disband-money: true
  # Whitelist de itens que poderão ser colocados no baú
  # Deixe [] para não usar
  chest-item-whitelist: []
  # Blacklist de itens que não poderão ser colocados no baú
  # Deixe [] para não usar
  chest-item-blacklist: []
  # Mundos em que não irá contabilizar KDR
  kdr-world-blacklist: []
  # Mundos em que não poderá setar a base da faction
  home-world-blacklist: []
  # Contabilizar mortes naturais no KDR
  kdr-natural-death: true
  # Desativar o spy ao deslogar
  spy-quit-disable: false
  # Mundos em que o sistema de fly irá funcionar
  fly-world-whitelist: ['PlotWorld']
  # Delay para criar/entrar em uma faction após sair de uma (em segundos)
  exit-delay: 3600
  # Tempo em segundos que uma faction é considerada "sob ataque" após explosões
  invasion-alert-cooldown: 20
  # Símbolo da invasão
  invasion-symbol: '&c⚠ '

Destaques importantes:

  • create-cost: Defina um valor alto para evitar spam de factions
  • time-min: Requer plugin yTempoOnline instalado
  • tag-regex/name-regex: Use regex para controlar caracteres permitidos
  • tag-blocked: Bloqueie tags de organizações reais (STF, GOV, etc)
  • exit-delay: 3600 segundos = 1 hora de cooldown após sair

power

Sistema de poder individual dos jogadores. O poder da faction é a soma do poder de todos os membros.

power:
  # Power inicial que um jogador começa
  default-power: 10.0
  # Power máximo que um jogador pode ter
  max-power: 50.0
  # Power regenerado por hora offline
  power-regen-per-hour: 0.5
  # Power regenerado por minuto online (task automática)
  power-regen-per-minute: 0.2
  # Power perdido ao morrer
  power-loss-on-death: 2.0
  # Power ganho ao matar civilian
  power-gain-on-kill-civilian: 1.0
  # Power ganho ao matar neutral
  power-gain-on-kill-neutral: 1.5
  # Power ganho ao matar rival
  power-gain-on-kill-rival: 3.0
  # Poder necessário por claim
  power-per-claim: 1.0
  # Desreivindicar territórios automaticamente quando não há poder suficiente
  auto-unclaim-on-power-loss: false
  # Permitir PvP em território wilderness
  allow-pvp-in-wilderness: true

Como funciona o sistema:

  1. Cada jogador contribui com seu poder individual para a faction
  2. Poder total da faction = soma do poder de todos os membros
  3. Para claimar 1 chunk, precisa de 1.0 de poder disponível (configurável)
  4. Mortes reduzem o poder, kills aumentam

Exemplo de cálculo:

  • Faction com 10 membros, cada um com 50 de poder = 500 de poder total
  • Podem claimar até 500 chunks (se power-per-claim: 1.0)
  • Se membros morrerem muito, o poder cai e territórios ficam vulneráveis ao overclaim

Ajuste power-loss-on-death e power-gain-on-kill-rival para balancear o PvP do seu servidor.

territory

Sistema de territórios e claims.

territory:
  # Permitir claiming em todos os mundos
  allow-claiming-in-all-worlds: true
  # Mundos onde claiming é proibido
  claiming-blacklist-worlds: []
  # Distância mínima entre claims de factions diferentes
  min-distance-between-factions: 0
  # Permitir overclaim (roubar território de faction com menos power)
  allow-overclaim: true
  # Poder necessário para overclaim
  overclaim-power-required: 5.0
  # Sistema de claims temporários
  temporary-claims:
    enabled: true
    # Duração em segundos (padrão: 1 hora = 3600s)
    duration: 3600
    # Permitir cancelar claims temporários
    allow-cancel: true
    # Custo em dinheiro (0 = grátis)
    cost: 0.0

Overclaim explicado:

Quando allow-overclaim: true, facções com mais poder podem roubar territórios de facções fracas (com poder total menor que o necessário para manter seus claims).

Claims temporários:

Sistema útil para eventos ou testes. O território é automaticamente desclamado após o tempo configurado.

protection

Sistema de proteção de territórios.

protection:
  # Permitir quebrar blocos em território próprio
  allow-break-own-territory: true
  # Permitir colocar blocos em território próprio
  allow-place-own-territory: true
  # Permitir interagir com blocos em território próprio
  allow-interact-own-territory: true
  # Bloquear dano de explosão em território próprio
  block-explosion-damage: true
  # Bloquear mob griefing em território
  block-mob-griefing: true
  # Bloquear PvP em território próprio
  block-pvp-own-territory: true

Configuração recomendada para servidores PvP:

protection:
  allow-break-own-territory: true
  allow-place-own-territory: true
  allow-interact-own-territory: true
  block-explosion-damage: false  # Permite TNT cannon
  block-mob-griefing: true
  block-pvp-own-territory: false  # Permite PvP interno

Nesta página