Skip to content
56K

56K

Slow IT just 4 fun

Menu
Menu

Brincando com a lua – 002 – Lua Mumble, Instalación y primera conexión

Posted on 11/03/202106/02/2023 by fanta

Lua-mumble es un modulo Lua que nos permitirá conectar e interaccionar con servidores mumble. Con eso entre otras cosas lo que vamos a poder hacer es escribir bots.

Lo primero que vamos a necesitar es disponer de Lua en el sistema. Concretamente de la versión 5.1.5.

Aquí están descritos los pasos para disponer de Lua 5.1.5 en nuestro sistema: Compilar Lua 5.x en GNU+Linux Debian 10

Por lo tanto si disponemos ya de esa versión de lua solamente nos quedará compilar el modulo Lua-mumble.

 

Compilar el modulo Lua-mumble

Esto puede realizarse de la siguiente forma en una Debian 10.
En otras distros posiblemente cambiará el nombre de los paquetes y esas dependencias se tendrán que suplir mediante otros programas de paquetería o compilando.

# apt install -y libluajit-5.1-dev protobuf-compiler libprotobuf-c-dev libssl-dev libopus-dev libvorbis-dev git gcc make pkg-config libprotoc-dev protobuf-c-compiler
$ git clone https://github.com/bkacjios/lua-mumble
$ cd lua-mumble
$ make clean
$ make
# make install

Instalar en Local un servidor mumble para pruebas

Para probar podemos instalar mumble y mumble-server en local simplemente así:

# apt install mumble-server mumble

Esto es bueno ya que dispondremos de un cliente mumble al que configurar un servidor mumble de pruebas.
El servidor de pruebas en local estará accesible atacando a 127.0.0.1 por el puerto por defecto (el 64738).

 

Nuestro «Hola mundo» con lua-mumble

Nos crearemos un directorio llamado prueba1 y generaremos un certificado así:

$ mkdir -p /tmp/prueba1
$ cd /tmp/prueba1
$ openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
$ ls -larth

Eso nos generará 2 archivos. Uno llamado cert.pem y otro llamado key.pem

Ahora ya podemos comenzar a crear un script que se conecte a nuestro servidor mumble de pruebas.

Un ejemplo de código Lua para conectar es este:

local mumble = require("mumble")
local client = assert(mumble.connect("localhost", 64738, "cert.pem", "key.pem"))
client:auth("Botijo")

 

Veremos que el usuario Botijo (nuestro bot) se desconecta cuando pasen 30 segundos.

Para evitar eso hemos de añadir lo siguiente a nuestro script:

while client:isConnected() do
    client:update()
    mumble.sleep(0.01)
end

De esta forma ya tendríamos nuestro primer bot escrito en Lua. No hace nada especia pero se conecta a un server Mumble.

Espero que les gustase este primer post sobre lua-mumble y le encuentren alguna utilidad.
En un futuro posiblemente escribiré algo más sobre lua-mumble.

Saludos cordiales.

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
🍅 STREAMING
🍊 LINUX
🥝 GAMES
🥥 THREADS
🧅 SECURITY
🥑 RETRO
🍆 HARDWARE
🍇 MISC
©2023 56K | Built using WordPress and Responsive Blogily theme by Superb