O que esta pasta faz
MuServer/Discord contém o DiscordServer.exe, responsável por publicar no Discord eventos enviados pelo GameServer e pelo GameServerCS. A integração oferece quatro tipos independentes:
| Evento | Quando é gerado |
|---|---|
| KILLS | Uma morte entre jogadores é registrada. |
| POST | Um comando /post é aceito pelo servidor. |
| SELL | Um anúncio de item por Ctrl + clique direito é aceito. |
| USERON | Um personagem entra em uma instância do GameServer. Uma troca de sala também pode gerar este evento. |
Cada tipo pode ter seu próprio canal, ativação e mensagem. Você pode usar o mesmo webhook para mais de um tipo, se quiser publicar tudo em um único canal.
Antes de começar
Confirme que DiscordServer.exe e DiscordServer.ini estão em MuServer/Discord. Crie os canais desejados no seu servidor Discord e obtenha um webhook para cada destino. Guarde essas URLs em privado: quem possui uma delas pode publicar no canal correspondente.
O GameServer e o GameServerCS precisam exportar os eventos para a mesma pasta MuServer/Discord/Spool que o DiscordServer lê. Consulte a configuração de DiscordBridge.ini do GameServer e do GameServerCS. Ao mover o MuServer para outro computador ou diretório, confira principalmente o caminho absoluto do GameServerCS. Use CodePage = 65001 nos dois exportadores para os textos UTF-8 do pacote atual.
Configurar pela janela
- Abra
DiscordServer.exee acesse Canais. Informe o webhook dos eventos que pretende publicar e use o teste do próprio canal. O teste é identificado como técnico. - Em Eventos, habilite cada tipo desejado. Deixe as listas de mapas e códigos de servidor vazias para não restringir os envios.
- Em Mensagens, ajuste o título, o texto, o rodapé e os nomes das classes conforme a apresentação desejada. A prévia ajuda a conferir a ordem e os rótulos.
- Em Configurações, defina o nome exibido como remetente e o tempo de retenção dos eventos. Confirme que o caminho mostrado para a fila corresponde ao configurado nos dois GameServers.
- Clique em Salvar alterações. Faça um evento real no jogo e confira Visão geral ou Diagnóstico. Um teste de canal confirma o webhook, mas não comprova sozinho que o GameServer está exportando eventos.
As alterações feitas na janela são gravadas em DiscordServer.ini e passam a valer nos próximos envios. O nome do remetente altera apenas o nome mostrado pelo webhook; não cria nem modifica uma conta de bot no Discord. Mantenha o DiscordServer aberto para que a fila continue sendo processada. Ao fechar a janela, os eventos pendentes permanecem gravados até expirar o prazo de retenção.
Mensagens e variáveis
Em Mensagens, cada evento possui título, texto e rodapé próprios. Você pode combinar texto livre com as variáveis disponíveis:
| Variável | Conteúdo |
|---|---|
{server} |
Nome da sala informado pelo GameServer. |
{map} |
Nome do mapa informado pelo GameServer. |
{instance} |
Instância da ocorrência. |
{character} |
Personagem associado ao evento. |
{killer} e {victim} |
Atacante e vítima de KILLS. |
{class} e {killer_class} |
Classe do personagem ou do atacante. |
{victim_class} |
Classe da vítima. |
{message} |
Texto do POST. |
{item} |
Item anunciado em SELL. |
Por exemplo, no texto de SELL: Jogador: {character} | Item: {item}. No rodapé: {server} | {map}. Variáveis sem dado no evento ficam vazias. Para traduzir classes, use Mensagens > Traduzir classes e informe uma linha ID=nome para cada classe desejada, como 17=Blade Knight; depois aplique o editor e salve as alterações da página.
Arquivos da pasta
| Item | Finalidade |
|---|---|
DiscordServer.exe |
Programa da integração e painel de configuração. |
DiscordServer.ini |
Destinos, eventos, mensagens e opções; contém URLs privadas. |
Spool/ |
Entrada dos eventos produzidos pelo GameServer e GameServerCS. |
queue.sqlite3 e arquivos auxiliares |
Fila e histórico locais gerados pelo programa. |
instance.lock |
Controle de execução gerado pelo programa. |
Não edite os arquivos de fila ou os eventos em Spool/ manualmente. Para configurar a integração, use a janela e, quando necessário, os arquivos DiscordBridge.ini dos GameServers.