Funciones

Comandos desde Discord

Ejecuta comandos de Minecraft en tu servidor desde Discord y decide quién puede enviar qué comandos.

/server-command run ejecuta comandos en tu servidor de Minecraft sin RCON y sin un puerto abierto. El comando viaja por la conexión de la sincronización del chat. Hay dos sitios con voz: en Discord decides quién puede enviar comandos, y en la configuración del servidor decides qué comandos acepta.

Configurar

  1. Conecta el servidor como se describe en Sincronización del chat.
  2. Fija en la configuración qué comandos acepta el servidor. De serie solo son whitelist add, whitelist remove y whitelist list.
yaml
# Spigot, Paper, Folia: plugins/mc-sync/config.yml
commands:
  mode: allow
  allow:
    - say
    - kick
    - lp user * parent add
properties
# Fabric, Quilt, Forge, NeoForge: config/mc-sync.properties
commands.mode=allow
commands.allow=say,kick,lp user * parent add
  1. Ejecuta /mcsync reload. En Forge anterior a Minecraft 1.19, reinicia el servidor en su lugar.
  2. Permite comandos a un rol. Los administradores de Discord no lo necesitan.
  1. En el panel, abre «Permisos».
  2. Elige el rol en «Permitir comandos a un rol».
  3. Escribe los nombres de los comandos en «Comandos permitidos», por ejemplo say, kick.
  4. En «¿En qué servidores?», elige servidores concretos o déjalo vacío para todos.
  5. Haz clic en «Guardar».
  1. Envía un comando, sin barra inicial:
/server-command run command: say Hello from Discord

Solo tú ves la respuesta. Indica el servidor en el que se ejecutó el comando y muestra la salida si el servidor devuelve alguna.

El comando va al servidor que elijas con server. Sin él, el bot usa el servidor al que pertenece el canal (chat o whitelist) y, si no, el único servidor conectado. Si hay varios servidores conectados y el canal no pertenece a ninguno, no se ejecuta nada y el bot enumera los canales en los que está claro.

En el panel tienes para esto la consola, con salida en vivo, botones y programaciones.

Ajustes

En el servidor de Minecraft

ClaveEfecto
commands.modeoff: nada. whitelist: solo whitelist add, remove y list (predeterminado). allow: la whitelist más commands.allow. all: todos los comandos.
commands.allowComandos adicionales para allow. Una entrada se compara palabra por palabra desde el principio del comando, después puede venir cualquier cosa. * equivale a exactamente una palabra.
commands.consoleFallbackSolo Spigot, Paper, Folia. Si un comando de plugin rechaza que se capture su salida, true lo ejecuta una vez más sin salida. Predeterminado: false.

whitelist add permite whitelist add Notch, pero no whitelist off. lp user * parent add permite dar un rango, no quitarlo. Las tres claves se aplican tras /mcsync reload.

En Discord

QuiénPuede
Administradores del servidor de Discordejecutar cualquier comando que acepte el servidor de Minecraft, y conceder comandos
Roles con una autorizaciónejecutar los comandos concedidos
Todos los demásnada

Una autorización cubre la primera palabra: whitelist permite todos los comandos whitelist que acepte el servidor. * lo permite todo. Hasta dónde llega un comando lo limita commands.allow. Limitar una autorización a servidores concretos solo es posible en el panel. /server-command permission remove role: @Moderator le quita todas las autorizaciones a un rol.

El bot registra en un canal cada comando que ha ejecutado o rechazado, si fijas uno: /notices channel purpose: commands channel: #commands, o en el panel en «Avisos e informes» → «Canales» → «Registro de comandos».

Problemas

«No puedes ejecutar este comando»

Tu rol no tiene autorización en Discord. El bot indica el comando que un administrador tiene que permitir con /server-command permission add.

«El servidor no permite este comando»

El servidor de Minecraft lo rechaza. Pon commands.mode en allow, añade el comando en commands.allow y ejecuta /mcsync reload.

El bot no sabe a qué servidor te refieres

Elige el servidor con server: o envía el comando en el canal de chat de ese servidor.

La respuesta no tiene salida

Muchos comandos solo responden en el juego o no responden. En Forge de 1.8 a 1.12.2 el comando se ejecuta, pero no vuelve ninguna salida.

Un comando de plugin dice que no admite la captura de la salida

En Spigot, Paper o Folia, pon commands.consoleFallback: true. El comando se ejecuta entonces otra vez en la consola real, sin salida.

«El servidor no respondió»

El servidor no estaba conectado o tardó demasiado. No hay forma de saber si el comando se ejecutó de todos modos. Compruébalo en el juego antes de repetirlo.