HyDiscordX
🔗 HyDiscordX — El Enlace Perdido Entre Hytale y Discord HyDiscordX es un puente completamente funcional entre Discord ↔...

Un plugin para servidores de Hytale que envía notificaciones en tiempo real a servicios externos cuando ocurren eventos en el servidor. Recibe notificaciones a través de ntfy (teléfono, escritorio o web), Discord, Slack o webhooks personalizados cuando los jugadores se unen, el servidor inicia/detiene, y más.
Instalación
EventNotifications.jar de las versionesmods de tu servidor Hytaleconfig.json para configurar tus objetivos de notificaciónInicio Rápido (ntfy)
La forma más rápida de recibir notificaciones:
my-hytale-server)config.json, establece "enabled": true en el nivel superior"enabled": true y actualiza la URL a https://ntfy.sh/my-hytale-serverConfiguración
El archivo de configuración se encuentra en mods/Valhal_EventNotifications/config.json.
Importante: El "enabled" de nivel superior debe estar configurado en true para que el plugin envíe notificaciones. Por defecto, esto es false.
Para un ejemplo completo con todas las opciones, consulta example-config.json.
{
"enabled": true,
"targets": {
"ntfy": { ... },
"discord": { ... },
"slack": { ... },
"webhook": { ... }
}
}
ntfy es un servicio de notificaciones push gratuito. Puedes usar el servidor público o autoalojarlo.
"ntfy": {
"type": "ntfy",
"enabled": true,
"url": "" rel="noopener nofollow" target="_blank">https://ntfy.sh/your-topic-name",
"events": {
"serverStart": {
"enabled": true,
"title": "{server} - En línea",
"message": "¡El servidor ahora está en línea!",
"priority": "high",
"tags": "green_circle"
}
}
}
"discord": {
"type": "discord",
"enabled": true,
"url": "" rel="noopener nofollow" target="_blank">https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN",
"discordUsername": "Servidor Hytale",
"discordUseEmbeds": true,
"events": {
"playerJoin": {
"enabled": true,
"title": "Jugador Unido",
"message": "**{player}** se unió al servidor",
"color": "#5865F2"
}
}
}
"slack": {
"type": "slack",
"enabled": true,
"url": "" rel="noopener nofollow" target="_blank">https://hooks.slack.com/services/YOUR/WEBHOOK/URL",
"slackUseAttachments": true,
"events": {
"playerJoin": {
"enabled": true,
"title": "Jugador Unido",
"message": "*{player}* se unió al servidor",
"color": "#5865F2"
}
}
}
Para integraciones personalizadas con cualquier punto final HTTP:
"webhook": {
"type": "webhook",
"enabled": true,
"url": "" rel="noopener nofollow" target="_blank">https://your-server.com/webhook",
"contentType": "application/json",
"events": {
"serverStart": {
"enabled": true,
"title": "Servidor En Línea",
"message": "El servidor se inició"
}
}
}
Autenticación
Todos los objetivos admiten autenticación opcional. Agrega estos campos a cualquier configuración de objetivo.
Para servicios que utilizan autenticación basada en tokens (como ntfy con tokens de acceso (opcional)):
"bearerToken": "tk_your_token_here"
Esto envía un encabezado Authorization: Bearer tk_your_token_here con cada solicitud.
Para servicios que utilizan autenticación de nombre de usuario/contraseña:
"username": "your_username",
"password": "your_password"
Esto envía un encabezado Authorization: Basic <base64> con cada solicitud.
Para webhooks que necesitan encabezados de autenticación personalizados:
"headers": {
"X-API-Key": "your-api-key",
"X-Custom-Header": "value"
}
Eventos Soportados
Evento
Placeholders
Descripción
serverStart
{server}
El servidor terminó de iniciar
serverStop
{server}
El servidor se está apagando
playerJoin
{server}, {player}
El jugador se conectó
playerLeave
{server}, {player}
El jugador se desconectó
playerChat
{server}, {player}, {message}
El jugador envió un mensaje de chat (deshabilitado por defecto)
gameModeChange
{server}, {gamemode}
El modo de juego cambió
groupPermissionChange
{server}, {group}, {action}, {permissions}
Los permisos del grupo se modificaron
playerPermissionChange
{server}, {player}, {action}, {group}, {permissions}
Los permisos del jugador se modificaron
Nota: Las notificaciones de chat están deshabilitadas por defecto para evitar el spam de notificaciones en servidores ocupados. Habilita playerChat en tu configuración si deseas recibir mensajes de chat.
Opciones de Configuración de Eventos
Cada evento admite estas opciones:
Opción
Descripción
enabled
Si se deben enviar notificaciones para este evento
title
Título de la notificación (admite placeholders)
message
Cuerpo de la notificación (admite placeholders)
priority
Prioridad de ntfy: min, low, default, high, urgent
tags
Etiquetas emoji de ntfy (por ejemplo, green_circle, skull)
color
Color de Discord/Slack en formato hexadecimal (por ejemplo, #5865F2)
Opciones de Configuración de Objetivos
Opción
Predeterminado
Descripción
ntfyMarkdown
true
Habilitar formato markdown en los mensajes
ntfyDefaultPriority
default
Prioridad predeterminada para todos los eventos (min, low, default, high, urgent)
ntfyIcon
–
URL de la imagen del ícono mostrada en las notificaciones
Opción
Predeterminado
Descripción
discordUsername
{server}
Nombre de usuario del bot mostrado en Discord (por defecto es el nombre del servidor)
discordAvatarUrl
–
URL de la imagen del avatar del bot
discordUseEmbeds
true
Usar incrustaciones enriquecidas en lugar de mensajes simples
Opción
Predeterminado
Descripción
slackUsername
{server}
Nombre de usuario del bot mostrado en Slack (por defecto es el nombre del servidor)
slackIconUrl
–
URL de la imagen del ícono del bot
slackIconEmoji
–
Emoji a usar como ícono del bot (por ejemplo, :video_game:)
slackUseAttachments
true
Usar archivos adjuntos enriquecidos en lugar de mensajes simples
Opción
Predeterminado
Descripción
contentType
application/json
Encabezado HTTP Content-Type
bodyTemplate
–
Plantilla de cuerpo personalizada (ver más abajo)
headers
–
Encabezados HTTP personalizados como pares clave-valor
Usa bodyTemplate para enviar una carga JSON personalizada en lugar del formato predeterminado:
"webhook": {
"type": "webhook",
"enabled": true,
"url": "" rel="noopener nofollow" target="_blank">https://your-server.com/webhook",
"bodyTemplate": "{"event": "{eventType}", "text": "{message:json}"}",
"events": { ... }
}
Placeholders de plantilla disponibles: {eventType}, {title}, {message}, {priority}, {tags}, además de todos los placeholders específicos del evento. Usa el sufijo :json para valores escapados en JSON (por ejemplo, {message:json}).
Múltiples Objetivos
Puedes habilitar múltiples objetivos simultáneamente. Cada objetivo tiene configuraciones de eventos independientes, por lo que puedes enviar diferentes eventos a diferentes servicios:
{
"targets": {
"ntfy": {
"enabled": true,
"events": {
"serverStart": { "enabled": true },
"playerChat": { "enabled": false }
}
},
"discord": {
"enabled": true,
"events": {
"serverStart": { "enabled": true },
"playerChat": { "enabled": true }
}
}
}
}
Solución de Problemas
¿Las notificaciones no se envían?
enabled: trueenabled: true dentro de ese objetivo¿Las incrustaciones de Discord no se muestran?
discordUseEmbeds esté trueAgradecimientos
Este proyecto fue construido utilizando Hytale-Example-Project como plantilla.
Notas
Nota: Este plugin no está afiliado con ntfy.sh
Licencia
Licencia MIT
🔗 HyDiscordX — El Enlace Perdido Entre Hytale y Discord HyDiscordX es un puente completamente funcional entre Discord ↔...
🔗 HyDiscordRanksX — Roles de Discord → Rangos de HytaleHyDiscordRanksX sincroniza los roles de Discord en grupos de Luc...
Este mod simple te permite ejecutar múltiples de mis mods de HUD al mismo tiempo. Estos son todos mis mods de HUD actual...
Una colección de pequeños complementos que no encajan del todo en un mod completo por sí solos, solicitados por ustedes,...
Soy bastante nuevo en esto de los mods, así como en el uso de Github, así que no dudes en contactarme aquí o en Discord ...
Discord Hytale Link Un módulo que proporciona un puente simple, ligero, fácil de usar y sin sobrecargas entre Discord y ...