Natenoms Wiki

Weil Teilen Spaß macht :)

User Tools

Site Tools


Sidebar

Translations of this page:

Navigation



Lizenz dieses Wikis
Über dieses Wiki
Feed des Wikis
Impressum


Was gerade in meinem Blog geschieht:

en:mumble:clienten_und_projekte:mumble-ruby:installation

Mumble-Ruby installation

mumble/clienten_und_projekte/mumble-ruby/installation In this howto we install Mumble-Ruby into a new users´ context.

We use a Debian 'Wheezy' (stable), Ubuntu should work, too. Even Debian Squeeze (oldstable) does the job, if you install libopus0 and libopus-dev from the backports.

Dependencies

Install the following dependencies as root or via sudo:

apt-get install curl libyaml-dev git libopus-dev build-essential zlib1g zlib1g-dev libssl-dev
Add a new user

As root or via sudo:

adduser botmaster

All relevant scripts will run with this user context.

Install and setup Mumble-Ruby with RVM (Ruby Version Manager)

From now on work as the new user:

su - botmaster

Thanks to [http://rvm.io RVM] (Ruby Version Manager) this howto runs on a Debian, regardless of the Ruby version.

Install the GPG key of rvm:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

We need at least Ruby 1.9.x, here we use the latest stable version:

curl -L https://get.rvm.io | bash -s stable

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”>

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed

100 184 100 184 0 0 282 0 –:–:– –:–:– –:–:– 368 100 20511 100 20511 0 0 21614 0 –:–:– –:–:– –:–:– 21614 Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz

Installing RVM to /home/botmaster/.rvm/

  Adding rvm PATH line to /home/botmaster/.profile /home/botmaster/.bashrc /home/botmaster/.zshrc.
  Adding rvm loading line to /home/botmaster/.bash_profile /home/botmaster/.zlogin.

Installation of RVM in /home/botmaster/.rvm/ is almost complete:

  • To start using RVM you need to run `source /home/botmaster/.rvm/scripts/rvm`

in all your open shell windows, in rare cases you need to reopen all shell windows.

# botmaster, # # Thank you for using RVM! # We sincerely hope that RVM helps to make your life easier and more enjoyable!!! # # ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io </source> hidden_end

source ~/.rvm/scripts/rvm
rvm autolibs disable
rvm install ruby --latest

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”> Searching for binary rubies, this might take some time. Found remote file https://rvm.io/binaries/debian/7/x86_64/ruby-2.1.1.tar.bz2 ruby-2.1.1 - #configure ruby-2.1.1 - #download

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed

100 23.0M 100 23.0M 0 0 2047k 0 0:00:11 0:00:11 –:–:– 2379k ruby-2.1.1 - #validate archive ruby-2.1.1 - #extract ruby-2.1.1 - #validate binary ruby-2.1.1 - #setup ruby-2.1.1 - #making binaries executable. ruby-2.1.1 - #downloading rubygems-2.2.2

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed

100 404k 100 404k 0 0 584k 0 –:–:– –:–:– –:–:– 674k No checksum for downloaded archive, recording checksum in user configuration. ruby-2.1.1 - #extracting rubygems-2.2.2. ruby-2.1.1 - #removing old rubygems. ruby-2.1.1 - #installing rubygems-2.2.2………….. ruby-2.1.1 - #gemset created /home/botmaster/.rvm/gems/ruby-2.1.1@global ruby-2.1.1 - #importing gemset /home/botmaster/.rvm/gemsets/global.gems.. ruby-2.1.1 - #generating global wrappers. ruby-2.1.1 - #gemset created /home/botmaster/.rvm/gems/ruby-2.1.1 ruby-2.1.1 - #importing gemsetfile /home/botmaster/.rvm/gemsets/default.gems evaluated to empty gem list ruby-2.1.1 - #generating default wrappers. </source> hidden_end

Setup Ruby environment

Now setup the environment for Ruby:

rvm --create use @bots

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”> ruby-2.1.1 - #gemset created /home/botmaster/.rvm/gems/ruby-2.1.1@bots ruby-2.1.1 - #generating bots wrappers. Using /home/botmaster/.rvm/gems/ruby-2.1.1 with gemset bots </source> hidden_end

Install Mumble-Ruby
git clone https://github.com/perrym5/mumble-ruby.git

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”> Cloning into 'mumble-ruby'… remote: Counting objects: 240, done. remote: Compressing objects: 100% (138/138), done. remote: Total 240 (delta 118), reused 180 (delta 87) Receiving objects: 100% (240/240), 37.75 KiB, done. Resolving deltas: 100% (118/118), done. </source> hidden_end

cd mumble-ruby

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”> ruby-2.1.1 - #gemset created /home/botmaster/.rvm/gems/ruby-2.1.1@mumble_ruby_gem ruby-2.1.1 - #generating mumble_ruby_gem wrappers. </source> hidden_end

rvm use @bots
gem build mumble-ruby.gemspec

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”> Using /home/botmaster/.rvm/gems/ruby-2.1.1 with gemset bots botmaster@debian:~/mumble-ruby$ gem build mumble-ruby.gemspec WARNING: licenses is empty, but is recommended. Use a license abbreviation from: http://opensource.org/licenses/alphabetical WARNING: open-ended dependency on activesupport (>= 0) is not recommended

if activesupport is semantically versioned, use:                                                       
  add_runtime_dependency 'activesupport', '~> 0'                                                       

WARNING: open-ended dependency on ruby_protobuf (>= 0) is not recommended

if ruby_protobuf is semantically versioned, use:                                                       
  add_runtime_dependency 'ruby_protobuf', '~> 0'                                                       

WARNING: open-ended dependency on hashie (>= 0) is not recommended

if hashie is semantically versioned, use:                                                                  
  add_runtime_dependency 'hashie', '~> 0'                                                                  

WARNING: open-ended dependency on opus-ruby (>= 0) is not recommended

if opus-ruby is semantically versioned, use:                                                                  
  add_runtime_dependency 'opus-ruby', '~> 0'                                                                  

WARNING: See http://guides.rubygems.org/specification-reference/ for help

Successfully built RubyGem                                                                                       
Name: mumble-ruby                                                                                                
Version: 1.0.2                                                                                                    
File: mumble-ruby-1.0.2.gem

</source> hidden_end

rvm @bots do gem install mumble-ruby-*.gem

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”> Fetching: atomic-1.1.15.gem (100%) Building native extensions. This could take a while… Successfully installed atomic-1.1.15 Fetching: thread_safe-0.2.0.gem (100%) Successfully installed thread_safe-0.2.0 Fetching: minitest-5.3.0.gem (100%) Successfully installed minitest-5.3.0 Fetching: tzinfo-1.1.0.gem (100%) Successfully installed tzinfo-1.1.0 Fetching: i18n-0.6.9.gem (100%) Successfully installed i18n-0.6.9 Fetching: activesupport-4.1.0.rc1.gem (100%) Successfully installed activesupport-4.1.0.rc1 Fetching: ruby_protobuf-0.4.11.gem (100%) Successfully installed ruby_protobuf-0.4.11 Fetching: hashie-2.0.5.gem (100%) Successfully installed hashie-2.0.5 Fetching: ffi-1.9.3.gem (100%) Building native extensions. This could take a while… Successfully installed ffi-1.9.3 Fetching: opus-ruby-0.0.1.gem (100%) Successfully installed opus-ruby-0.0.1 Successfully installed mumble-ruby-1.0.2 Parsing documentation for activesupport-4.1.0.rc1 Installing ri documentation for activesupport-4.1.0.rc1 Parsing documentation for atomic-1.1.15 Installing ri documentation for atomic-1.1.15 Parsing documentation for ffi-1.9.3 Installing ri documentation for ffi-1.9.3 Parsing documentation for hashie-2.0.5 Installing ri documentation for hashie-2.0.5 Parsing documentation for i18n-0.6.9 Installing ri documentation for i18n-0.6.9 Parsing documentation for minitest-5.3.0 Installing ri documentation for minitest-5.3.0 Parsing documentation for mumble-ruby-1.0.2 Installing ri documentation for mumble-ruby-1.0.2 Parsing documentation for opus-ruby-0.0.1 Installing ri documentation for opus-ruby-0.0.1 Parsing documentation for ruby_protobuf-0.4.11 Installing ri documentation for ruby_protobuf-0.4.11 Parsing documentation for thread_safe-0.2.0 Installing ri documentation for thread_safe-0.2.0 Parsing documentation for tzinfo-1.1.0 Installing ri documentation for tzinfo-1.1.0 Done installing documentation for activesupport, atomic, ffi, hashie, i18n, minitest, mumble-ruby, opus-ruby, ruby_protobuf, thread_safe, tzinfo after 29 seconds 11 gems installed </source> hidden_end

Now your Mumble-Ruby is operational :)

Do the following after every login or at the start of Mumble-Ruby scripts

This is essential so that the correct environment is used for the bots. Execute both lines or add them to your start script:

source ~/.rvm/scripts/rvm
rvm use @bots
Test Mumble-Ruby

Now download a test Ruby script, to test Mumble-Ruby; the script connects the bot to a server and shows a list of all channels on that server in your console.

wget https://github.com/Natenom/mumble-ruby-related/raw/master/scripts/mumble-ruby-test.rb -O /home/botmaster/mumble-ruby-test.rb

See the script [https://github.com/Natenom/mumble-ruby-related/blob/master/scripts/mumble-ruby-test.rb here].

Now run the script:

ruby mumble-ruby-test.rb

toggle = left |title = Console output |titlestyle = background:palegreen; <source lang=“bash”> {0⇒#<Hashie::Mash channel_id=0 description_hash=“\xBE\x06\x88\xDB\x9B$\xF6\x01\xCD\xF2\xC1\xDE~V\xDCXw\xDA\xEEb” name=“ᎭᎪᎢᎬᎭᎾᎷ” position=0>, 1⇒#<Hashie::Mash channel_id=1 name=“AFK” parent=0 position=60>, 5⇒#<Hashie::Mash channel_id=5 description=“https://wiki.natenom.name/mumble/benutzerhandbuch/mumble/benutzerinterface?&#kanal_ziehen” name=“Empfangshalle” parent=0 position=0>, 3⇒#<Hashie::Mash channel_id=3 name=“Halle der kaguBischen Ahnungslosigkeit” parent=0 position=0>, 4⇒#<Hashie::Mash channel_id=4 description=“<a href=\”http://mumble-django.org\“>http://mumble-django.org</a>” name=“Mumble-Django rockt :)” parent=0 position=0>, 9⇒#<Hashie::Mash channel_id=9 name=“Ole und Gregor” parent=0 position=0>, 6⇒#<Hashie::Mash channel_id=6 description=“http://natenom.name” name=“Zocken” parent=0 position=0>, 10⇒#<Hashie::Mash channel_id=10 name=“lala” parent=3 position=0>, 7⇒#<Hashie::Mash channel_id=7 name=“Privat” parent=6 position=0>} </source> hidden_end

Bots with Mumble-Ruby
en/mumble/clienten_und_projekte/mumble-ruby/installation.txt · Last modified: 2017/02/20 13:19 by Natenom