Primeros pasos
Qué funciona de inmediato sin tocar tu servidor de Minecraft — y cómo configurar el resto.
Buena parte del bot no necesita tu servidor en absoluto. Status, gráficos, imágenes, embeds y canales de voz funcionan desde la dirección pública — la misma a la que se conectan los jugadores. Solo el chat, la whitelist y los comandos necesitan un vínculo real con el juego.
- Invita al bot desde invite.mc-sync.eu y elige tu servidor de Discord.
- Ejecuta
/setup. Primero pregunta qué quieres configurar, luego hace exactamente una pregunta por paso. /server add name: Survival address: tu-direccion.netregistra tu servidor una vez — después/status,/embed,/voice-channely/default-ippueden usarlo por su nombre./languagefija el idioma en el que el bot te responde.
/help muestra el mismo resumen dentro de Discord, ordenado en los mismos grupos que la referencia de comandos de esta web.
La lista de servidores
Una entrada por servidor de Minecraft — dirección, edición y chat sync juntos.
Antes de /server, un servidor de Minecraft eran varias cosas separadas que nada conectaba: una dirección escrita a mano en /status, /embed y cada canal de voz, y un chat sync creado con /chat-sync add que no sabía nada de esa dirección. Mudarse a un nuevo dominio significaba buscar cada uno de esos sitios.
/server add name: Survival address: play.example.eu
/server settings server: Survival chat-sync: #minecraft - Survival
/server listAmbas mitades siguen siendo opcionales, y cada una por sí sola es un caso real: una entrada sin dirección es un servidor al que no se puede hacer ping desde fuera; una sin chat sync es un servidor sin plugin ni mod en marcha. El bot funciona también sin plugin — entonces muestra exactamente lo que da un ping.
settings cambia un campo cada vez; clear elimina una sola entrada (dirección, chat sync o edición) sin borrar el servidor entero. remove solo quita el servidor de esta lista — un chat sync vinculado sigue funcionando bajo su propio nombre.
Configurar la sincronización del chat
El chat de Minecraft en un canal de Discord y los mensajes de Discord de vuelta al juego — mediante el plugin, sin puertos abiertos.
Para esto hace falta el plugin MC-Sync en tu servidor. Él mismo abre la conexión hacia fuera: una petición HTTPS saliente normal que se mantiene abierta. No tienes que redirigir ningún puerto ni registrar ninguna dirección.
- Descargar el archivo adecuado: mc-sync.eu/plugin. Hay uno por loader y rango de versiones.
- Colocarlo en
plugins(Spigot, Paper) omods(Fabric, Quilt, Forge, NeoForge) y reiniciar el servidor una vez. Así se crea el archivo de configuración. - En Discord, ejecutar
/chat-sync add channel: #tu-canal name: Survival. El bot responde con un token, visible solo para ti. - Poner el token en el
config.ymldel plugin y reiniciar el servidor otra vez.
# plugins/MC-Sync/config.yml
token: "tu-token-de-discord"
# Opcional. poll es el recurso para redes que cortan
# las conexiones largas — en otro caso no hace falta.
transport:
mode: auto # auto | pollQué se transmite lo decides después, opción por opción. Todas están en /chat-sync settings:
| Opción | Qué activa o desactiva |
|---|---|
| chat-messages | Los mensajes de chat normales del juego |
| join-leave-messages | Entradas y salidas |
| death-messages | Mensajes de muerte |
| advancements | Progresos (desde Minecraft 1.12) |
| language | Idioma de los mensajes que redacta el propio bot |
| active | Pausa la sincronización sin borrarla |
| channel | La mueve a otro canal |
/chat-sync settings name: #minecraft - Survival death-messages: False
/chat-sync settings name: #minecraft - Survival channel: #minecraft-nuevoHay un archivo por loader y rango de versiones. Cuál necesitas depende de tu servidor:
| Loader | Versiones de Minecraft |
|---|---|
| Spigot | 1.8.8 hasta la actual |
| Paper | 1.16.5 hasta la actual |
| Forge | 1.8.8 hasta la actual (salvo 1.13.2) |
| Fabric | 1.19.2 hasta la actual |
| Quilt | 1.19.2 hasta la actual |
| NeoForge | 1.20.2 hasta la actual |
Ejecutar comandos desde Discord
whitelist add, say o kick desde Discord — por la misma conexión que ya usa el chat sync.
Con el chat sync en marcha, el mismo camino puede llevar comandos. No hace falta puerto abierto ni contraseña adicional.
Dos preguntas se responden por separado, y eso importa. Quién puede pedir se decide en Discord, por rol, en /server-command permission. Qué acepta tu servidor se decide en config.yml. Ambas cosas tienen que coincidir.
/server-command permission add role: @Moderador commands: whitelist,say,kick
/server-command permission list
/server-command run command: whitelist add NotchDel lado del servidor, commands.mode decide qué llega a ejecutarse:
| commands.mode | Qué se ejecuta |
|---|---|
| off | Nada, ni siquiera la whitelist. |
| whitelist | Solo whitelist …. Por defecto. |
| allow | La whitelist más todo lo listado en commands.allow. |
| all | Cualquier comando. |
# plugins/MC-Sync/config.yml
commands:
mode: allow
allow:
- say
- kickEl comando se escribe sin la barra inicial. Ambos lados siempre responden: un comando rechazado vuelve como «rechazado» en lugar de silencio — y, si /alerts audit-channel está configurado, también como línea en el registro. La salida de la consola no se transmite — lo que se informa es que el comando se ejecutó.
Canal de whitelist
Un canal donde los jugadores publican su nombre de Minecraft y el bot los añade a la whitelist.
En lugar de que alguien del equipo escriba cada nombre a mano, lo hace el bot: lee el nombre, lo verifica con Mojang y lo añade a la whitelist mediante el plugin. Un nombre que no existe nunca se transmite.
/whitelist-channel add channel: #whitelist role: @Miembro
/whitelist-channel listmode decide qué pasa con un nombre válido:
| Modo | Significado |
|---|---|
| Add to the whitelist | Mediante el plugin. Por defecto. |
| Verify only | El nombre se comprueba con Mojang pero no se añade a la whitelist — para equipos que prefieren decidir ellos mismos. |
server elige a qué servidor de Minecraft registrado (/server add) da acceso este canal — omítelo si solo tienes uno. Sin role cualquiera en el canal puede enviar un nombre; hasta tres roles lo restringen — por ejemplo, a quienes ya han pasado una solicitud.
Embeds y canales de voz
Dos formas de mantener visible el estado del servidor sin que nadie ejecute un comando.
Un embed es un mensaje que el bot reescribe cada cinco minutos. Se queda donde está en lugar de llenar el canal de repeticiones.
/embed add type: Status ip: play.example.eu channel: #server-info
/embed add type: Diagram ip: play.example.eu
/embed list
/embed remove embed: #server-info — status — play.example.eu| type | Contenido |
|---|---|
| Status | Disponibilidad, MOTD, versión, edición, jugadores |
| Whitelist | Los nombres autorizados. Requiere el plugin. |
| Diagram | Evolución del número de jugadores |
| Player stats | Totales informados por el chat sync vinculado |
| Connection | Estado del propio chat sync, y su última señal de vida |
Un canal de voz hace lo mismo en su nombre — visible arriba de la lista sin que nadie abra un canal. Están disponibles status, jugadores y versión.
/voice-channel add type: Status ip: play.example.eu
/voice-channel add type: Players ip: play.example.euPara los canales de voz el bot necesita «Gestionar canales», y para los embeds necesita permiso para enviar y editar mensajes en el canal de destino. Si falta alguno, lo dice al crearlo. Ambos aceptan también server: en lugar de ip: para apuntar a un servidor registrado con /server add.
Vincular cuentas
Quién es alguien en Discord, y quién es en Minecraft.
/link start imprime un código de un solo uso. Escrito en el chat de Minecraft como !link <código>, demuestra ambos lados a la vez: el código, porque solo se te mostró a ti en Discord, y el nombre de Minecraft, porque vino de dentro del juego.
- Ejecuta
/link starten Discord. Recibes un código válido por diez minutos. - En Minecraft, escribe:
!link <código> - El bot confirma el vínculo de vuelta en Discord.
El vínculo es por servidor de Discord, en ambas direcciones, y desaparece con /link remove. Es lo que hace posible /role-sync, y lo que convierte @Nombre escrito en el chat de Minecraft en una mención real, con notificación, en Discord — solo para un nombre único y sin ambigüedad, nunca para @everyone o @here.
Roles que llegan hasta el juego
Un rol de Discord que ejecuta un comando en el momento en que se otorga o se retira.
/role-sync add role: @VIP on-grant: lp user {player} parent add vip on-revoke: lp user {player} parent remove vip
/role-sync list{player} se sustituye por el nombre de Minecraft de quien recibió o perdió el rol. No se guarda nada sobre un plugin de permisos concreto — solo el comando en sí, así que funciona igual con LuckPerms, PermissionsEx o el sistema de rangos propio de un servidor.
Avisos y registro de auditoría
A quién se avisa de una caída, y dónde dejan rastro los comandos del servidor.
Una desconexión breve no es una caída — el bot solo avisa tras 20 minutos de silencio, y lo retira en cuanto el servidor vuelve a responder. /alerts role decide a quién se avisa cuando eso ocurre.
/alerts role role: @Staff
/alerts audit-channel channel: #registro-servidor
/alerts console-channel channel: #errores-servidor
/alerts notifications server-start: False server-stop: False| Ajuste | Qué hace |
|---|---|
| role | Avisado en una caída real — nunca en una desconexión breve. |
| audit-channel | Cada /server-command run, incluidos los intentos rechazados. |
| console-channel | Avisos y errores del servidor de Minecraft — no el registro completo. |
| notifications | Cuatro interruptores independientes: service (general), delivery-warnings, server-start, server-stop. |
Dejar vacío role, audit-channel o console-channel vuelve a desactivar ese aviso. /alerts show lista todo lo que hay configurado ahora mismo.
Avisos e historial
Un mensaje en cuanto un servidor cambia de estado — y qué registra el bot por el camino.
/notification add vigila un servidor y te manda un mensaje privado en cuanto se conecta o se cae. Vale para cualquier servidor accesible, no solo el tuyo.
/notification add ip: play.example.eu
/notification settings notification: play.example.eu | Java active: False
/notification delete notification: play.example.eu | JavaDe paso, el bot registra el estado de los servidores consultados cada treinta segundos. De ahí salen /diagram y los embeds de gráfico. Un servidor consultado hoy por primera vez no tiene todavía una semana de historial.
Permisos y roles
Quién ve cada comando, quién puede ejecutarlo, y dónde se ajusta cada cosa.
Discord asigna permisos por comando, no por subcomando. Eso produce tres casos, marcados como insignias en cada comando de la referencia.
| Insignia | Significado |
|---|---|
| Administrators only | Discord oculta el comando al resto. Eso se puede cambiar por rol o por persona en Integraciones, dentro de los ajustes del servidor. |
| Granted per role | El comando es visible para todos, porque de lo contrario concederlo nunca podría surtir efecto. Quién puede usarlo se fija en /server-command permission add. |
| Discord servers only | Necesita un servidor — el comando no existe en un mensaje directo. |
| Works in DMs too | Instalable como app de usuario y por tanto disponible en cualquier sitio, incluso donde el bot no es miembro. |
El propio bot necesita: enviar y editar mensajes (embeds), gestionar canales (canales de voz), gestionar webhooks (/news-channel) y leer mensajes en el canal que usa el chat sync. Si falta algo, lo dice durante la configuración.
Cuando algo no funciona
Los casos que más llegan a soporte — y a qué suelen deberse.
| Lo que ves | Causa habitual |
|---|---|
| Un comando no aparece en Discord | Requiere permisos elevados, o los comandos aún no han llegado a este servidor. Tras invitar al bot eso tarda un momento; reiniciar el cliente de Discord no ayuda, esperar sí. |
| El chat llega a Discord pero no vuelve al juego | Normalmente active está desactivado, o el bot no puede leer mensajes en el canal. /chat-sync settings muestra el estado actual. |
| No hay chat en absoluto aunque el plugin está en marcha | El token no se introdujo, se copió mal, o el servidor no se reinició después de introducirlo. |
| El embed ha dejado de actualizarse | Puede que el bot ya no pueda editar el mensaje — normalmente porque cambiaron los permisos del canal. /embed list muestra qué sigue registrado. |
| El canal de voz muestra números antiguos | Es normal: Discord limita los renombrados, y el bot actualiza cada 25 minutos aproximadamente. |
/server-command run dice «rechazado» | El comando no está cubierto por commands.mode, o no está listado en commands.allow en el servidor. |
| Un cambio de rol no ejecuta su comando | Comprueba /link show para esa persona — /role-sync solo actúa sobre una cuenta ya vinculada. |
| No llega notificación aunque el servidor se reinició | Los mensajes directos de miembros del servidor están desactivados en los ajustes de Discord. |
Si nada de eso ayuda, el servidor de soporte es la vía más rápida. Menciona el loader y la versión de Minecraft, el comando que ejecutaste y qué respondió el bot — eso resuelve la mayoría de los casos en un solo mensaje.