Documentación

Guías

Desde la primera invitación, pasando por el panel, hasta comandos que se ejecutan en tu servidor desde Discord. Cada sección se lee por su cuenta — no hace falta empezar por arriba.

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.

  1. Invita al bot desde invite.mc-sync.eu y elige tu servidor de Discord.
  2. Ejecuta /setup. Primero pregunta qué quieres configurar, luego hace exactamente una pregunta por paso.
  3. /server add name: Survival address: tu-direccion.net registra tu servidor una vez — después /status, /embed, /voice-channel y /default-ip pueden usarlo por su nombre.
  4. /language fija el idioma en el que el bot te responde.
  5. Si prefieres hacer clic a escribir: el panel hace lo mismo, con vista previa y listas desplegables en lugar de comandos.

/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.

  1. Abre mc-sync.eu/dashboard e inicia sesión con Discord.
  2. 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í.
  3. Elige una sección a la izquierda. Su dirección es /dashboard/<id-del-servidor>/<sección> y se puede guardar como marcador.

Las secciones de la columna izquierda, agrupadas por la pregunta que responden:

SecciónQué se puede hacer ahí
ResumenCuántos servidores de Minecraft hay registrados, cuántos de ellos conectados, cuántas cuentas vinculadas — y qué falta todavía en la configuración.
ServidoresLa 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.
ConsolaEjecutar comandos, leer la consola del servidor en vivo, crear botones y horarios.
Sincronización de chatCrear conexiones, renovar y caducar tokens, ajustar el formato del chat, leer el historial.
EstadísticasLa evolución del número de jugadores en 24 horas, 7 o 30 días.
Lista blancaAñadir y quitar nombres — de uno en uno o una lista entera de golpe.
Cuentas vinculadasQuién ha conectado su cuenta de Discord con qué nombre de Minecraft.
Sincronización de rolesReglas: un rol otorgado o retirado, un comando se ejecuta.
PermisosQué rol de Discord puede lanzar qué comandos del servidor.
Paneles informativosEmbeds y canales de voz de estado, con vista previa antes de publicar.
AvisosRol de aviso, canal de auditoría, canal de consola y lo que el servicio informa por su cuenta.
Permisos de accesoQué rol de Discord puede hacer qué dentro del panel.
RegistroQuié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 list

Ambas 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.

  1. Descargar el archivo adecuado: mc-sync.eu/plugin. Hay uno por loader y rango de versiones.
  2. Colocarlo en plugins (Spigot, Paper, Folia) o mods (Fabric, Quilt, Forge, NeoForge) y reiniciar el servidor una vez. Así se crea el archivo de configuración.
  3. En Discord, ejecutar /chat-sync add channel: #tu-canal name: Survival. El bot responde con un token, visible solo para ti.
  4. Poner el token en la configuración y reiniciar el servidor otra vez. /mcsync status dentro 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: true

Qué se transmite lo decides después, opción por opción. Todas están en /chat-sync settings:

OpciónQué activa o desactiva
chat-messagesLos mensajes de chat normales del juego
join-leave-messagesEntradas y salidas
death-messagesMensajes de muerte
advancementsProgresos (desde Minecraft 1.12)
languageIdioma de los mensajes que redacta el propio bot
activePausa la sincronización sin borrarla
channelLa mueve a otro canal
/chat-sync list
/chat-sync settings server: #minecraft - Survival death-messages: False
/chat-sync settings server: #minecraft - Survival channel: #minecraft-nuevo

El 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:

LoaderVersiones de Minecraft
Spigot1.8.8 hasta la actual
Paper1.16.5 hasta la actual
Folia1.20.1 hasta la actual (el archivo de Paper)
Forge1.8.8 hasta la actual (salvo 1.13.2)
Fabric1.19.2 hasta la actual
Quilt1.19.2 hasta la actual
NeoForge1.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 Notch

Del lado del servidor, commands.mode decide qué llega a ejecutarse:

commands.modeQué se ejecuta
offNada, ni siquiera la whitelist.
whitelistSolo 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.
allowLa whitelist más todo lo listado en commands.allow.
allCualquier 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 add

El 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.

  1. Abre tu servidor de Discord en el panel y elige «Consola» a la izquierda.
  2. Si hay varios: elige el servidor de Minecraft. Con uno solo el paso desaparece.
  3. 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: true

Dos cosas existen solo aquí y no como comando:

HerramientaQué hace
BotonesUn 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.
HorariosUn 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 list

mode decide qué pasa con un nombre válido:

ModoSignificado
Add to the whitelistMediante el plugin. Por defecto.
Verify onlyEl 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
typeContenido
StatusDisponibilidad, MOTD, versión, edición, jugadores
WhitelistLos nombres autorizados. Requiere el plugin.
DiagramEvolución del número de jugadores
Player statsTotales informados por el chat sync vinculado
ConnectionEstado 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.eu

Para 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.

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
AjusteQué hace
roleAvisado en una caída real — nunca en una desconexión breve.
audit-channelCada /server-command run, incluidos los intentos rechazados.
console-channelAvisos y errores del servidor de Minecraft — no el registro completo.
notificationsCuatro 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 avisaNecesita conexión
El servidor deja de responder / vuelveno
Más o menos jugadores que un umbralno
La versión ha cambiadono
Chat sync caído o de vuelta
Token nunca usado o aparecido en público
Comando de servidor rechazado
Aviso desde la consola
Solicitud de whitelist en espera

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.

InsigniaSignificado
Solo administradoresDiscord 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 rolEl 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 DiscordNecesita un servidor — el comando no existe en un mensaje directo.
También por mensaje privadoInstalable 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.

ÁreaQué permite
VerAbrir el servidor en el panel. Se añade solo en cuanto alguien puede hacer cualquier otra cosa.
ConsolaEjecutar comandos, gestionar horarios y botones. Qué llega a pasar lo sigue decidiendo el servidor de Minecraft.
Lista blancaAñadir y quitar nombres.
AjustesCambiar entradas de servidor, conexiones, formato del chat y avisos.
PanelesGestionar embeds y canales de voz.
PermisosRole sync, permisos de comandos y esta propia lista de acceso.
TokensEmitir, 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 vesCausa habitual
Un comando no aparece en DiscordRequiere 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 juegoNormalmente 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 marchaEl 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 actualizarsePuede 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 antiguosEs 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 comandoComprueba /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 elegirSolo 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 izquierdaFalta el permiso «Consola» en «Permisos de acceso». Solo se oculta lo que está realmente cerrado.
La consola en vivo se queda vacíaconsole.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.