Home > 戯言 > 迎春

迎春

  • 2009-01-01 (木) 15:36
  • 戯言

あけましておめでとうございます。

旧年中は死者のページにたくさんのアクセスを頂きありがとうございました。

今年も死者のページを宜しくお願いいたします。

最近、Mumble のサーバ弄っています。調べれば調べるほどに、いろいろ面白い機能があります。ただ、やはり開発段階と言うことがあり機能拡張を重視しているのか、細部の作り込みや安定性に欠けます。また、マルチプラットフォームを前提として作成されており、主にLinux で使用されることを前提にしているように思えます。Ventrilo Server と比較して、murmur が持つ特徴的な機能は次のようなものです。

以下は覚書程度なので、murmurの運用に興味がある人以外は見ない方が良いです(ぁ

設定データのデータベースへの保存

デフォルトで SQLite と呼ばれる データベース を採用しています。

このあたりについては、前回の記事で触れているので省略

murmur + MySQL で、運用をしようと思ったものの、外部から操作可能なのがユーザ登録程度にとどまるため断念しました。

ユーザ登録はできてもグループを登録した結果がサーバに反映されないんです。

D-Bus、ZeroC ICE によるサーバ操作

murmur は、D-Bus や ZeroC ICE で操作されることを前提に設計されています。

ユーザ登録や、バーチャルサーバの操作等はこれらを使用する仕様みたいです。

murmur の設定で、D-Bus の使用が有効化されていれば、murmur 起動と同時に D-Bus daemon (dbus-daemon.exe) が起動されそれにメッセージを送ることで、murmur を操作することができます。

WEB 上で dbus-daemon.exe で、ググるといらない子であるかのように扱われていますが、けっこう重要なものなんですね。

ただ、サーバに鍵をかけて身内しか入れないし、SQL を直接いじってユーザ追加をするって言うのであれば必要ないのかもしれません。

そいうときは、設定で D-Bus daemon を起動しないように設定すれば良いです。

# Murmur defaults to not using D-Bus. If you wish to use dbus, please
# specify so here.
#
dbus=session

このような記述が、murmur.ini にあると思うのでコメントアウトします。

#dbus=session

上の英語訳すとなんじゃこりゃって思いますよ

「murmur はデフォルトで D-Bus を使用しない。もしD-Busを使いたいなら、ここを設定してください。」

説明には上のように書いてあるのに、最初からコメントアウト外れてて D-Bus 使うように設定されているという(ぁ

コメントアウトしておけば、dbus-daemon.exe が起動しなくなるほか、murmur が D-Bus メッセージを待ち受けるのを止めるため若干負荷が軽減されます。

ただ、なぜか mumble の方を起動すると、dbus-daemon.exe が起動するという不可思議な現象が起きていますが・・・

次にZeroC ICE です。 mumble 1.1.5  あたりから導入された、D-Bus と似たような感じのツールです。

D-Bus と同等の機能を WEB ページ上で提供しようと言うコンセプトです。

ただ、サーバの管理者権限で持ってZeroC ICE をインストールしないといけないので、フリーのレンタルサーバでやるのはきつい感じです。つまりは、mumble + apache + php + ZeroC ICE をサーバにインストールしないとダメだと・・・w

まぁ、ZeroC ICE は、空くまでmurmur と通信するための基礎なので、実際に使えるようなWeb ページ用のスクリプトは提供されていません。もし、ZeroC ICE 使ってmurmur を操作するページを作りたいなら位置からスクリプトを書かないといけないという状況です。

ACL による詳細なアクセスコントロール

詳細すぎておぼるのが大変(ぁ

チャンネルごとに、ACLとユーザグループが作れたり、下位のチャンネルが上位のチャンネルのACLなどを継承できたりと多機能。

ただ、パスワードさえうちこめばチャンネルに入場できるというようなACLを設定できない点が問題。

バーチャルサーバ機能

Ventrilo なんかだと1つのサーバ PC で、複数の Ventrilo サーバを運用しようと思ったら Ventrilo Server を多重起動するしかないですが、 murmur だと複数のサーバを1つプロセスで起動できます。

Mumble の場合は、複数の人に鍵付サーバを提供する場合は、チャンネル別でわけるよりバーチャルサーバでサーバを複数建てた方が楽かもしれません。

低遅延性

mumble の低遅延性については

ボイスチャットソフト TeamSpeak2 と Mumbleの遅延を比較した

http://d.hatena.ne.jp/bluespear/20081207/1228649492

の記事が参考になります。

データがないので信用されないかも知れないが、個人的に試したところだと遅延の大きさは

Ventrilo >> mumble > Skype

mumble と Skype の差は体感だとほぼ0.1秒以下でした。

比較方法は、mumble と Skype を同時に繋いでどっちが早いか調べるというもの。

遅延に差がなければほぼ聞こえてくる音に違和感は感じられないはずだが、若干ずれていた。

ずれているのはわかるが、まじめに聞かないと、どっちが遅いのかがわからないくらいの差だった。

Ventrilo と mumble は比べるまでもない感じです。

Ventrilo を1:1で繋いで、片方のPCにマイクを、もう片方のPCにヘッドフォンをつけてどれくらい遅れるのか聞いてみました。

まぁ、「マイクのテスト中」と本気で早口で言ったら、言い終わった直後にヘッドフォンから声が聞こえてくるくらいの遅延でした。

UTF8対応(日本語が使用可能

文字コードがUTF8 、要するに多言語対応です。

ただ、多言語に完全対応するためにUTF8 にしたという感じではなくとりあえず UTF8 で作るのが最近の主流だから採用したって感じです。

まぁ、それでもユーザ名やチャンネル名にどうどうと日本語が使えるのはうれしいところです。

実際、mumble も 日本語入力周りで若干動作がおかしいですしね。

murmur の設定ファイルの murmur.ini は、日本語対応していなかったりしますしね。

データベース直接編集したら日本語も使えたりしますが(笑

サーバにログインしたときの Welcom Text ですが、murmur.ini で日本語を使うと文字化けしますが、データベース弄ったら文字化けしません。

murmur.sqlite ファイルを編集します。

config テーブルに図のように新しいレコードを追加します。

Firefox のアドオンの SQLite Manager の例ですが、

ws000000

SQL文にすると下のような感じかな

INSERT INTO config VALUES(1, ‘welcomtext’, ‘ここにメッセージ’)

これで、日本語の Welcom Text が使えます。

ws000002

mumble はバージョン上がってもプロトコルに変更がないのかも知らないけどバージョン違ってもアクセス可能です。

上のスクリーンショットは、mumble 1.1.4 から、最新のテストビルドバージョンのサーバにログインしています。

mumble サーバの需要

mumble のサーバを人数限定で貸し出すと言ったら借りたいという人はいるでしょうか?

サーバのバージョンは最新バージョンか、安定版の1.1.4 です。

まぁ、借りたいと思っている人がどの程度いるのかっていうのの把握のためにコメント残してくれるとありがたいです。

あくまで参考ですので、コメント残してくれたからと言っても実際貸し出すわけではないですが・・・

あと、フリーサーバの公開予定はありません。回線的に無理です。

自宅環境が FTTH にでもなれば話は別なんですが、自宅近くまで光ファイバ来てないんですよねorz

スポンサード リンク

Home > 戯言 > 迎春

検索
フィード
メタ情報

Return to page top