Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
HeimdallVoice
Server-side Discord zone-based voice mover for Valheim.
| Last updated | 8 hours ago |
| Total downloads | 8 |
| Total rating | 0 |
| Categories | Audio |
| Dependency string | Varkon-HeimdallVoice-0.1.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2105README
HeimdallVoice
HeimdallVoice integra zonas do mapa de Valheim com canais de voz no Discord.
Quando um jogador vinculado entra em uma zona configurada, o bridge move esse jogador para a sala de voz correspondente. Quando ele sai da zona, o bridge restaura o canal de voz anterior.
Recursos
- Movimentacao automatica entre salas de voz do Discord por zona do mapa
- Vinculo da conta pelo jogo com
voiceou/voice - Suporte ao Configuration Manager
- Restauracao automatica para o canal anterior ao sair da zona
- Persistencia dos vinculos entre Steam e Discord
Como Funciona
- O jogador usa
voiceno console ou/voiceno chat. - O mod gera um codigo de vinculacao.
- O jogador usa
!link CODIGOno Discord. - O bridge salva o vinculo entre Steam e Discord.
- Quando o jogador entra em uma zona, o mod envia o
discordChannelIdconfigurado. - O bridge move o usuario para a sala de voz correta.
- Quando o jogador sai da zona, o bridge restaura o canal anterior.
O Que Voce Precisa
Este projeto tem 2 partes:
- O plugin BepInEx para Valheim
- O HeimdallVoice Bridge, um app Node.js que conversa com o Discord
O pacote da Thunderstore entrega o plugin do Valheim. Para o sistema funcionar, o bridge tambem precisa estar rodando.
Instalacao no Valheim
- Instale
BepInExPack Valheim - Instale este mod
- Inicie o jogo ou servidor uma vez para gerar os arquivos de configuracao
Configuracao do Bridge
Dentro da pasta do bridge:
cd HeimdallVoice-Bridge
npm install
node index.js
Antes de iniciar o bridge, preencha:
HeimdallVoice-Bridge/config.json
Exemplo:
{
"discordToken": "SEU_TOKEN_DO_BOT",
"guildId": "SEU_ID_DO_SERVIDOR",
"serverHost": "0.0.0.0",
"serverPort": 24600
}
Campos obrigatorios:
discordToken: token do bot do DiscordguildId: ID do servidor Discord
Se esses campos ainda estiverem com os valores de exemplo, o bot nao inicia.
Configuracao do Plugin
O plugin pode ser configurado pelos arquivos do BepInEx ou diretamente no Configuration Manager dentro do jogo.
URL do Bridge
Defina a URL do bridge em:
Bridge -> URL Base
Exemplos:
http://127.0.0.1:24600https://seu-tunnel.trycloudflare.com
Se voce estiver usando Cloudflared, coloque a URL gerada pelo tunnel em Bridge -> URL Base.
Configuracoes do Discord
Tambem disponiveis no Configuration Manager:
Bot do Discord -> Token do BotServidor do Discord -> ID do ServidorServidor da Bridge -> HostServidor da Bridge -> Porta
Zonas
As zonas podem ser configuradas no Configuration Manager em:
Zonas -> Quantidade de ZonasZona 1Zona 2Zona 3- ...
Cada zona suporta:
NomePosicao XPosicao ZRaioID da Sala Discord
O plugin tambem mantem uma copia em:
BepInEx/config/HeimdallVoice/zones.json
Exemplo:
[
{
"name": "Global",
"x": 0,
"z": 0,
"radius": 60,
"discordChannelId": "1250504640488013866"
},
{
"name": "Vila",
"x": 225,
"z": 88,
"radius": 10,
"discordChannelId": "1478777749895118918"
}
]
Comandos
No jogo:
voice/voice
No Discord:
!link CODIGO
Observacoes Importantes
- O bridge mantem apenas um vinculo por conta Discord
- O jogador precisa ja estar conectado a um canal de voz para poder ser movido
- Se o bridge estiver offline ou inacessivel, as trocas de zona nao vao mover o jogador
- Se voce usar um tunnel temporario do Cloudflared, a URL muda toda vez que ele for iniciado
Seguranca
- Nunca compartilhe o token do seu bot
- Se esse token foi exposto, revogue e gere outro imediatamente
Suporte
Se o bot nao iniciar, verifique primeiro o arquivo HeimdallVoice-Bridge/config.json. O bridge se recusa a iniciar enquanto discordToken ou guildId estiverem com os valores de exemplo.