Por que isso importa para o seu servidor
Quando um jogador diz "sumiu um item meu", você tem duas opções ruins: acreditar, abrindo precedente, ou não acreditar, perdendo o jogador.
Com o registro no Discord existe uma terceira: olhar. O canal tem o horário, o personagem e o que aconteceu. A conversa deixa de ser sobre confiança e passa a ser sobre fato, e o caso se resolve em dois minutos em vez de meia hora.
O uso preventivo vale ainda mais. Um canal de enchant mostrando dez +16 seguidos da mesma conta em cinco minutos é um problema aparecendo antes de alguém reclamar. Um canal de IP suspeito é a diferença entre descobrir um multi-box no primeiro dia ou no terceiro mês.
E como tudo isso chega no Discord, a equipe administra do celular, sem entrar no jogo e sem abrir o painel.
Os canais de registro
Vinte e oito canais, cada um com um assunto. Separá-los é o que torna o sistema utilizável: quem investiga um item perdido não quer rolar por mil linhas de login.
Itens e economia
| Canal | O que registra |
|---|---|
DropItem | Item derrubado no chão. |
DropPlayer | Item derrubado por jogador ao morrer. |
Pickup | Item recolhido do chão. |
Trade | Troca entre jogadores. |
WarehouseDeposit | Depósito no armazém. |
WarehouseWithdraw | Retirada do armazém. |
MultiSellLog | Troca concluída em multisell. |
MultiSellFailLog | Tentativa de multisell que falhou. |
ItemCreate | Item criado no servidor. |
ItemDonate | Item de doação entregue. |
ItemFree | Item gratuito entregue. |
PlayerReward | Recompensa paga a um jogador. |
Os quatro últimos são os que você consulta quando alguém afirma ter pago e não recebido.
Progressão e combate
| Canal | O que registra |
|---|---|
EnchantSucess | Enchant que deu certo. |
EnchantFailed | Enchant que falhou. |
EnchantCrystabilize | Item que virou cristal na falha. |
EnchantGM | Enchant feito por GM. |
AugmentationLog | Augment aplicado num item. |
OlympiadFightResult | Resultado de cada luta. |
OlympiadEnd | Encerramento do período. |
Olympiads | Movimentação geral da Olimpíada. |
O EnchantGM merece atenção especial: é o canal que registra o que a própria equipe fez. Num servidor com mais de um administrador, é a única forma de auditar quem entregou o quê.
Acesso e segurança
| Canal | O que registra |
|---|---|
EnterPlayer | Entrada de jogador no mundo. |
GmEnter | Entrada de GM. |
AlertIncorrectIP | Acesso a partir de IP suspeito. |
SameIpKillLog | Abate entre personagens do mesmo IP. |
ChatKeywordLog | Palavra da lista de filtro dita no chat. |
AlertIncorrectIP, SameIpKillLog e ChatKeywordLog são os três que valem notificação ativa no Discord — os outros você consulta sob demanda.
O SameIpKillLog é o mais subestimado: ele expõe o jogador que sobe PvP matando o próprio personagem alternativo. Sem esse canal, o ranking de PvP mente e você não sabe.
Operação
| Canal | O que registra |
|---|---|
Announce | Anúncio publicado. |
AnnounceDelete | Anúncio removido. |
SuportServer | Movimentação do suporte. |
As quatro rotas de volta
Além de receber, a integração publica. São quatro caminhos:
| Rota | O que faz |
|---|---|
ChannelMessage | Publica uma mensagem num canal do servidor de Discord. |
PrivateMessage | Manda mensagem direta para um membro, pelo ID do Discord dele. |
GrandBossDeath | Anuncia a morte de um Grand Boss. |
ItemDiscord | Publica um item à venda, com card completo. |
O ItemDiscord é o mais elaborado. Ele monta um embed — o card colorido do Discord — com miniatura do ícone do item, nome, nível de enchant e atributos:
🛒 <jogador> wants to sell an item!
👁 Item Name: Arcana Mace
⚡ Item Enchantment: +9
🗡 P. Atk: 300
Na prática, isso transforma um canal do Discord num mercado paralelo que funciona com o jogador offline. Quem está no trabalho vê o item, negocia, e fecha quando entrar.
O PrivateMessage tem limite de 1900 caracteres — mensagem maior é cortada, não descartada.
Os arquivos de filtro
Os três arquivos em discord/ não ligam ou desligam canais. Eles definem a partir de que valor uma movimentação merece registro:
<list>
<item id="9244" minCount="1" /><!-- Ticket Free -->
</list>
| Atributo | O que faz |
|---|---|
id | O item observado. |
minCount | A quantidade mínima para gerar registro. Abaixo disso, a movimentação é ignorada. |
Ajustando cada um
| Arquivo | Recomendação |
|---|---|
adena.xml | Valor alto o bastante para ignorar comércio do dia a dia. Um bom ponto de partida é o preço de um item bom no seu servidor. |
ticketDonate.xml | minCount="1" — é dinheiro de verdade, toda movimentação importa. |
ticketFree.xml | minCount="1" — é onde aparece abuso dos sistemas de recompensa. |
Sem o minCount, o canal de adena registraria cada moeda que troca de mão e viraria inútil em uma hora. Ele é o que separa "movimentação normal" de "movimentação que merece um olho".
Montando o servidor de Discord
Uma organização que funciona:
- Categoria fechada para a equipe. Nenhum canal de registro deve ser público: eles têm nome de jogador e movimentação.
- Um canal por assunto, não um canal geral. O de enchant e o de doação são consultados por motivos diferentes.
- Notificação só nos três de segurança. Ligar alerta em todos treina a equipe a silenciar o servidor inteiro.
- Um canal público para o
GrandBossDeathe oItemDiscord— esses dois são conteúdo para o jogador, não registro interno. - Exporte de tempos em tempos se o volume for alto. O Discord guarda, mas não para sempre.
Cuidados
minCountbaixo demais em adena inunda o canal, você para de ler, e é o mesmo que não ter registro.- Item fora dos três arquivos não é registrado. Moeda nova precisa entrar aqui.
- Canal de registro visível para jogador expõe movimentação de terceiros. Feche a categoria.
- Registro não substitui backup. Ele conta o que aconteceu; não desfaz.
- O
minCountnão retroage. Baixar o valor hoje não traz de volta o que não foi registrado ontem.
Como isso conversa com o resto da base
O ticketFree.xml é onde caem os créditos da recompensa do YouTube e dos eventos; o ticketDonate.xml cobre as promoções e os serviços de doação. Os canais de enchant registram cada tentativa do sistema de enchant — é a fonte quando alguém contesta uma perda de item. E o GrandBossDeath cobre no Discord o mesmo evento que os anúncios automáticos cobrem dentro do jogo.