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.- Si prefieres hacer clic a escribir: el panel hace lo mismo, con vista previa y listas desplegables en lugar de comandos.
- Invitar al botElige tu servidor de Discord y listo
- Abrir el panelInicio de sesión con Discord
- Descargar plugin o modUn archivo por loader y versión
/help muestra el mismo resumen dentro de Discord, ordenado en los mismos grupos que la referencia de comandos de esta web.
El panel
Todo lo que hacen los comandos — en el navegador, con listas desplegables, vista previa y sin erratas.
El panel es la misma configuración que en Discord, vista desde el otro lado. Lo que cambias aquí vale allí de inmediato, y al revés — no hay una segunda configuración que mantener sincronizada. Lo que añade es mirar: leer la consola en vivo, la evolución del número de jugadores como gráfico, el registro de cada cambio, una vista previa de un embed antes de que esté en el canal.
- Abre mc-sync.eu/dashboard e inicia sesión con Discord.
- Elige el servidor de Discord. Aparece cada servidor en el que tienes el permiso «Gestionar servidor» — y donde falte el bot, puedes invitarlo desde ahí.
- Elige una sección a la izquierda. Su dirección es
/dashboard/<id-del-servidor>/<sección>y se puede guardar como marcador.
- Abrir el panelInicio de sesión con Discord, sesión de ocho horas
- VigilanciaAvisos de caída — tuyos, no de un servidor
Las secciones de la columna izquierda, agrupadas por la pregunta que responden:
| Sección | Qué se puede hacer ahí |
|---|---|
| Resumen | Cuántos servidores de Minecraft hay registrados, cuántos de ellos conectados, cuántas cuentas vinculadas — y qué falta todavía en la configuración. |
| Servidores | La lista de servidores: nombre, dirección, edición y la conexión asociada. Desde aquí también se publica una página de estado pública. |
| Consola | Ejecutar comandos, leer la consola del servidor en vivo, crear botones y horarios. |
| Sincronización de chat | Crear conexiones, renovar y caducar tokens, ajustar el formato del chat, leer el historial. |
| Estadísticas | La evolución del número de jugadores en 24 horas, 7 o 30 días. |
| Lista blanca | Añadir y quitar nombres — de uno en uno o una lista entera de golpe. |
| Cuentas vinculadas | Quién ha conectado su cuenta de Discord con qué nombre de Minecraft. |
| Sincronización de roles | Reglas: un rol otorgado o retirado, un comando se ejecuta. |
| Permisos | Qué rol de Discord puede lanzar qué comandos del servidor. |
| Paneles informativos | Embeds y canales de voz de estado, con vista previa antes de publicar. |
| Avisos | Rol de aviso, canal de auditoría, canal de consola y lo que el servicio informa por su cuenta. |
| Permisos de acceso | Qué rol de Discord puede hacer qué dentro del panel. |
| Registro | Quién cambió qué y cuándo — con búsqueda y en CSV. |
Cada una tiene su propia sección más abajo. Los caminos más cortos:
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.
El panel tiene la misma lista en «Servidores», con los mismos cuatro campos como formulario. Ahí — y solo ahí — una entrada se publica también como página de estado pública: /s/<nombre>, accesible sin iniciar sesión, más una insignia SVG para un README o una firma de foro. Son públicos el estado, el número de jugadores, la versión, la dirección y el historial — no la lista de jugadores, no el servidor de Discord que hay detrás, no la whitelist.
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, Folia) 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 la configuración y reiniciar el servidor otra vez.
/mcsync statusdentro del juego dice después si la conexión está en pie.
# plugins/mc-sync/config.yml
api:
token: "tu-token-de-discord"
# Qué pasa cuando sale una versión más nueva:
# install (por defecto) | notify | off
update:
mode: install
# La consola en vivo del panel. Mientras nadie mira
# no cuesta nada — no sale ni un byte.
console:
live: trueQué 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 list
/chat-sync settings server: #minecraft - Survival death-messages: False
/chat-sync settings server: #minecraft - Survival channel: #minecraft-nuevoEl panel tiene los mismos interruptores en «Sincronización de chat», y añade tres cosas que ningún comando ofrece: el formato del chat — cómo se ve una línea en Discord (como el jugador mediante un webhook, como recuadro o como línea sencilla), plantillas propias para entrada, salida, muerte y progreso, y un filtro de palabras en ambos sentidos —, la vida del token con periodo de gracia y fecha de caducidad, y el historial del chat, leído directamente de Discord.
Dentro del juego el plugin trae /mcsync: status muestra si la conexión está en pie y qué comandos acepta el servidor, reload relee la configuración sin reiniciar, y toggle desactiva el chat de Discord para ti mismo. Los dos primeros requieren el permiso mcsync.admin; toggle lo puede usar cualquiera — es tu propia pantalla.
Hay 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 |
| Folia | 1.20.1 hasta la actual (el archivo de Paper) |
| 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 — eso es lo que aquí ha ocupado el lugar de RCON.
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 add, whitelist remove y whitelist list. Por defecto — justo lo que necesita el canal de whitelist. whitelist off y whitelist reload quedan expresamente fuera. |
| allow | La whitelist más todo lo listado en commands.allow. |
| all | Cualquier comando. Eso entrega la consola de tu servidor a quien esté autorizado en Discord. |
# plugins/mc-sync/config.yml
commands:
mode: allow
allow:
- say
- whitelist add
- lp user * parent addEl 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. Si el servidor devuelve salida de consola, aparece en la respuesta; muchos comandos, eso sí, solo responden dentro del juego o no responden, y entonces queda vacía.
Lo mismo se puede hacer desde el panel, y ahí con salida: la consola muestra lo que responde el servidor y quién está conectado.
Consola, botones y horarios
Ejecutar comandos y ver el resultado — en el navegador en lugar de un canal de Discord.
La consola del panel toma el mismo camino que /server-command run: la misma conexión, la misma comprobación en el servidor de Minecraft, el mismo registro. Lo que añade es la salida. Arriba está lo que el servidor dice de sí mismo — saludo, jugadores, versión —, debajo quién está jugando, luego la ventana de consola con el campo de comandos dentro, y al final el historial de lo último lanzado.
- Abre tu servidor de Discord en el panel y elige «Consola» a la izquierda.
- Si hay varios: elige el servidor de Minecraft. Con uno solo el paso desaparece.
- Escribe el comando — sin la barra inicial — y envíalo. La flecha arriba recupera el anterior, y un clic en el nombre de un jugador lo escribe en el campo.
La consola en vivo muestra lo que el servidor de Minecraft imprime, mientras lo imprime. Depende de un interruptor en la configuración:
# plugins/mc-sync/config.yml
console:
live: trueDos cosas existen solo aquí y no como comando:
| Herramienta | Qué hace |
|---|---|
| Botones | Un botón con etiqueta para un comando que necesitas constantemente. Un clic lo escribe en el campo — solo se envía después, para que ningún reinicio ocurra por accidente. |
| Horarios | Un comando a una hora, opcionalmente en ciertos días de la semana. Ningún día seleccionado significa todos los días. La hora vale en la zona horaria de tu navegador, y cualquier horario se puede desactivar sin borrarlo. |
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.
La sección «Lista blanca» del panel muestra quién está en ella — con el nombre de quien lo envió, e incluyendo los nombres que alguien escribió directamente en el servidor. Desde ahí también va lo contrario: añadir o quitar un nombre y, con «Pegar una lista», una lista entera de golpe, un nombre por línea. Comas, puntos y comas, viñetas y comillas se limpian por el camino.
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.
En el panel, la sección se llama «Pantallas» y reúne ambas cosas en un solo sitio. Puede hacer dos cosas que el comando no puede. Primero, la vista previa: eliges tipo, canal y servidor, y debajo aparece cómo se verá el embed en el canal, antes de publicarlo y no después. Segundo, la edición: una pantalla en marcha se puede cambiar en lugar de detenerla y crear otra. En un canal de voz eso incluye su nombre: una plantilla con marcadores como {status} o {players}, para que no se quede con una frase en inglés para siempre.
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.
La sección «Cuentas vinculadas» del panel los muestra todos a la vez: qué nombre de Discord corresponde a qué nombre de Minecraft, desde cuándo, cuándo se le vio por última vez y qué reglas de role sync le afectan. Ahí también se puede cortar un vínculo — útil cuando alguien ha cambiado de cuenta de Minecraft.
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.
El panel lo envuelve en un formulario, con selector de rol y los dos campos uno al lado del otro, y debajo la línea que se ejecutará realmente en el servidor — con el nombre puesto en lugar de {player}. Si falta el marcador, lo dice: sin él se ejecuta el mismo comando para todos, algo que puede ser intencionado pero rara vez lo es.
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.
El panel reúne los mismos cinco ajustes en «Avisos» como un formulario — rol y canales como listas desplegables, los cuatro informes como interruptores. Quien quiera un aviso que no vaya a Discord sino a un correo, un webhook o el teléfono, lo encontrará en la vigilancia.
Vigilancia y página de estado
Enterarte de una caída por correo, webhook, push o Discord. Y una página que muestra el estado a todo el mundo.
La vigilancia es tuya, no de un servidor de Discord. No necesita ni el bot ni permisos en ningún sitio, solo que inicies sesión con Discord. La encuentras en el panel, en /dashboard/watch, como una tarjeta junto al selector de servidores. Los enlaces de los propios correos — confirmar y darse de baja — siguen funcionando sin iniciar sesión.
Cada dirección registrada recibe un ping cada minuto. No se avisa hasta que lleva callada el margen que hayas fijado — así un tropiezo breve del hosting no cuenta como caída.
| De qué se avisa | Necesita conexión |
|---|---|
| El servidor deja de responder / vuelve | no |
| Más o menos jugadores que un umbral | no |
| La versión ha cambiado | no |
| Chat sync caído o de vuelta | sí |
| Token nunca usado o aparecido en público | sí |
| Comando de servidor rechazado | sí |
| Aviso desde la consola | sí |
| Solicitud de whitelist en espera | sí |
Se avisa por cuatro vías, y se permiten varias a la vez: correo, webhook (Discord, Slack, ntfy, Gotify o algo propio — solo por https), push a este navegador y, si has iniciado sesión, como mensaje privado de Discord. A cada vía se le puede dar un retraso: solo se usa si el asunto sigue vigente pasado ese tiempo. Así varias vías forman una escalada en lugar de cuatro copias del mismo mensaje.
La página de estado pública responde a la otra mitad de la pregunta: no «avísame», sino «míralo tú mismo». Se publica en el panel, en «Servidores», recibe un nombre en la dirección y queda en /s/<nombre> — sin inicio de sesión, para cualquiera. Viene con una insignia SVG lista para incrustar en un README o en una firma de foro.
De paso, el bot registra el estado de cada servidor consultado cada treinta segundos. De ahí salen /diagram, los embeds de gráfico y el área «Estadísticas» del panel: allí a lo largo de 24 horas, 7 o 30 días, con el máximo y la proporción de consultas alcanzables. Por eso un servidor consultado hoy por primera vez todavía no tiene un historial de una semana.
Permisos y roles
Quién ve cada comando, quién puede ejecutarlo, quién entra en el panel — 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 |
|---|---|
| Solo administradores | Discord oculta el comando al resto. Eso se puede cambiar por rol o por persona en Integraciones, dentro de los ajustes del servidor. |
| Se concede por rol | 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. |
| Solo en servidores de Discord | Necesita un servidor — el comando no existe en un mensaje directo. |
| También por mensaje privado | 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 el estilo de chat «como el jugador») y leer mensajes en el canal que usa el chat sync. Si falta algo, lo dice durante la configuración.
El panel tiene una segunda capa propia. Quien pueda gestionar el servidor de Discord ahí lo tiene todo de todos modos; en «Permisos de acceso» se habilitan otros roles, área por área. Lo que ahí figure solo puede dar, nunca quitar.
| Área | Qué permite |
|---|---|
| Ver | Abrir el servidor en el panel. Se añade solo en cuanto alguien puede hacer cualquier otra cosa. |
| Consola | Ejecutar comandos, gestionar horarios y botones. Qué llega a pasar lo sigue decidiendo el servidor de Minecraft. |
| Lista blanca | Añadir y quitar nombres. |
| Ajustes | Cambiar entradas de servidor, conexiones, formato del chat y avisos. |
| Paneles | Gestionar embeds y canales de voz. |
| Permisos | Role sync, permisos de comandos y esta propia lista de acceso. |
| Tokens | Emitir, renovar y caducar tokens — y con ello conectar un servidor de Minecraft. |
El registro
Quién cambió qué y cuándo — y cómo volver a encontrarlo.
El registro guarda cada cambio: quién lo hizo, cuándo, sobre qué — y qué se rechazó. Ahí está un comando de consola ejecutado, igual que un token renovado, un vínculo cortado o un acceso que alguien intentó sin permiso. Se puede filtrar por acción, periodo y nombre, y descargar en CSV.
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 en api.token, se copió mal, o el servidor no se reinició después de introducirlo. /mcsync status dentro del juego dice cuál de las tres. |
| 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. Una entrada de esa lista se compara palabra por palabra con el principio del comando. |
| 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. |
| En el panel no hay ningún servidor de Discord que elegir | Solo aparece donde tienes el permiso «Gestionar servidor». Ese es justo el permiso que pide el panel — para todo lo demás están los permisos de acceso. |
| Falta la sección «Consola» en la columna izquierda | Falta el permiso «Consola» en «Permisos de acceso». Solo se oculta lo que está realmente cerrado. |
| La consola en vivo se queda vacía | console.live está en false, o la versión del plugin es anterior a esta función. Los comandos que ejecutes y sus respuestas aparecen igualmente. |
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.