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
- Conecta el servidor como se describe en Sincronización del chat.
- Fija en la configuración qué comandos acepta el servidor. De serie solo son
whitelist add,whitelist removeywhitelist list.
# Spigot, Paper, Folia: plugins/mc-sync/config.yml
commands:
mode: allow
allow:
- say
- kick
- lp user * parent add# Fabric, Quilt, Forge, NeoForge: config/mc-sync.properties
commands.mode=allow
commands.allow=say,kick,lp user * parent add- Ejecuta
/mcsync reload. En Forge anterior a Minecraft 1.19, reinicia el servidor en su lugar. - Permite comandos a un rol. Los administradores de Discord no lo necesitan.
- En el panel, abre «Permisos».
- Elige el rol en «Permitir comandos a un rol».
- Escribe los nombres de los comandos en «Comandos permitidos», por ejemplo
say, kick. - En «¿En qué servidores?», elige servidores concretos o déjalo vacío para todos.
- Haz clic en «Guardar».
- Ejecuta
/server-command permission add role: @Moderator commands: say,kick. - Comprueba con
/server-command permission listquién puede ejecutar qué y a qué servidor va un comando desde este canal.
- Envía un comando, sin barra inicial:
/server-command run command: say Hello from DiscordSolo 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
| Clave | Efecto |
|---|---|
commands.mode | off: nada. whitelist: solo whitelist add, remove y list (predeterminado). allow: la whitelist más commands.allow. all: todos los comandos. |
commands.allow | Comandos 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.consoleFallback | Solo 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én | Puede |
|---|---|
| Administradores del servidor de Discord | ejecutar cualquier comando que acepte el servidor de Minecraft, y conceder comandos |
| Roles con una autorización | ejecutar los comandos concedidos |
| Todos los demás | nada |
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.