bot de discord.py orientado al hosteo de un server de minecraft, mediante la rcon
git clone https://github.com/retuci0/rcon-bot/para clonar el repositoriocd rcon-botpara cambiar de directorio al del botpython -m venv .venvpara crear un entorno virtualsource .venv/bin/activate(linux) o.\.venv\Scripts\activate(windows) para activar el entorno virtualpip install -r requirements.txtpara instalar requisitospython bot.pypara iniciar el bot
python>=3.12
crea un archivo llamado
config.yamly rellénalo con esto, sustituyendo los datos necesarios:
discord:
token: "" # TOKEN DEL BOT (desde discord.dev)
prefix: "!" # prefijo de comandos (ej.: !abrir)
admin_users: [806597513943056464,] # usuarios que pueden usar !cerrar y !comando
allowed_channels: ["general",] # canales en los que funcionará el bot
server:
directory: "/srv/minecraft/mc-server" # directorio del server (path absoluto)
file: "paper.jar" # nombre del archivo .jar del server
script: "/srv/minecraft/bot/start.sh" # directorio del script de inicio (path absoluto del script start.sh que viene con el bot)
session: "server" # nombre de la sesión de tmux
jvmargs: "-Xmx2G -Xms2G" # args de la JVM
inactivity_time: 300 # tiempo de inactividad para cerrar el server de manera automática, en segundos
rcon:
host: "127.0.0.1" # ip del server
port: 25575 # puerto de la rcon
password: "CONTRASEÑA_RCON" # contraseña de la rcontras hacer un cambio en la config., recuerda reiniciar el bot
configura lo siguiente en
server.properties:
enable-rcon=true
rcon.password=CONTRASEÑA_RCON
rcon.port=25575una vez iniciado el server, puedes acceder a la consola ejecutando tmux attach -t server, reemplazando server por el nombre dado a la sesión en config.yaml
!abrir: abre el server!cerrar: cierra el server!estado: muestra el estado del server (abierto | cerrado, jugadores en línea, tps)!ip: muestra la ip pública del server y los puertos!comando ...: ejecuta un comando en el server!recargar: recarga la configuración, para aplicar cambios sin la necesidad de reiniciar el bot