• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

need help with mumble-ruby

Joined
Oct 20, 2009
Messages
2,873 (0.54/day)
Location
Corpus Christi, Texas
System Name FumoffuFumoffu
Processor Intel i7 4770K
Motherboard Gigabyte Z87X -UD3H
Cooling Corsair H100i
Memory 16GB DDR3 1600 Crucial Ballistix
Video Card(s) Sapphire AMD Radeon HD 7970 OC
Storage 1- WD 500GB 1- Samsung F2 1.5TB 1- Crucial M4 128GB SSD 1-256GB ADATA XPG SX900 ASX900S3 SSD
Display(s) Hanns-G HZ281HPB 27.5'' 3ms Full HD 1920x1200 WideScreen LCD Monitor
Case Corsair Graphite Series 600T
Audio Device(s) Creative Soundblaster X-Fi Titanium
Power Supply Corsair HX 750W Gold
Software Windows 7 Pro x64
Hey guys,

So I am running a headless mumble client called mumble-ruby. I ahve followed all the listed instructions for setting it up. The problem is that there is no information on how to setup the SSL cert for the headless client. This makes it so that i can not register the headless client when it connects to the server. i want to set ACLs for it but I can not if it is not registered.

Any suggestions?
 

Crone

New Member
Joined
Sep 15, 2013
Messages
2 (0.00/day)
Hey, I have also been playing with mumble-ruby recently and I stepped into this issue aswell.

I am not sure it can be done given the current API of client.rb but I will post here if I find anything. My best guess would be to implement a new function for the client doing exactly that by using the protocol documentation of mumble.

In any case if you find anything, it would be wonderful if you contact me via this thread or through a pm. I will do the same thing.

cya
 

Crone

New Member
Joined
Sep 15, 2013
Messages
2 (0.00/day)
Ok so I did it. In the end I needed to add code that generates and SSL certificate to the source files of the mumble-ruby gem.

I attached the required files.
You need to replace the files in /var/lib/gems/1.9.1/gems/mumble-ruby-0.0.3/lib/mumble-ruby/ (or wherever you have mumble ruby) with the ones I gave you (don't put config.rb there though). Of course store a backup first.

So here is how it works:

Lets assume we have a headless bot like this one

Code:
#!/usr/bin/ruby

require 'mumble-ruby'
require './config.rb'
cli = Mumble::Client.new('host', 64738, 'BotName','serverpassword', $options)
cli.connect
cli.on_text_message do |msg|
	if msg.message == '!text'
              cli.text_channel('cli.current_channel','reply')
	end
end
sleep(1)
print 'Press enter to terminate script';
gets
cli.disconnect

It is a simple bot that replies to the command !text with 'reply'. The deal is that you now need to parse $options to the client initialization function, which means it now has an extra argument. The config.rb file (notice that I require it) stores these options. They are certificate parameters required for the generation of the certificate.

So all you need to do is

1) edit the config.rb file to your needs
2) write a headless client and require the config.rb file (which must be in the same folder with the client, or you will need to require its full path) and initialize like I am.

Notice that there will be a new folder created in the headless client's folder with the name you gave to the client. This stores the certificates. The first time you may need to run the client as root since making a directory is kind of weird in this situation. After the first time you can run it normally. That's pretty much it, you can now register your client.

If you are wondering about the details of what I did, it's nothing crazy, I just found a simple certificate generation engine in a github bot project and implemented it to mumble-ruby's source. Just compare the source files and you'll figure it out.

If you have any questions, please pm me so I get emailed since I am not a regular forum member.
 

Attachments

  • mumble-ruby.zip
    8.8 KB · Views: 284
Last edited:
Top