Ventrilo Server 3.0 (簡単な解説+FreeBSD/Mac OS X へのインストール)

Ventrilo Server 3.0.0 での設定内容です。

インストール時に展開される ventrilo_srv.htm を元に記載しています。

現在のバージョン

  • Server: 3.0.3
  • Client: 3.0.5(Windows/Mac OS X)
  • Linux用クライアントは開発中とのことです。(2.3.0当時から)

Ventrilo Server ( Public Edition )

エディション

Public版の制限事項

購入するには?

  • VentriloのPro版はホスティング業者等、大口の顧客をターゲットにしているようで、1サーバで運用する等、個人向けの用途では購入出来ません。
  • 単に8Slot以上使いたい、と言う程度であれば、Ventriloの正規プロバイダ にてレンタルしてください。

日本向けには下記のプロバイダが紹介されています。

  • Underground Tournaments, LLC. http://ugt-servers.com/
    • 最安 $2.91〜
    • 東京にデータセンターが有ります。
  • VentriloServers.biz (ClanwarzGamingServers.com) http://ventriloservers.biz/
    • 10ユーザ$4.95〜
    • 東京にデータセンターが有ります。
  • Leet Voice Servers http://www.leetvoiceservers.com/
    • 10ユーザ$3.19 〜 100ユーザ$19.99
    • TS(Team Speak)なども有り
    • 東京にデータセンターが有ります。

インストー

手動インストール(Mac/FreeBSD)

公式サイトから持ってきた *.tar.gz を /usr/local/ventrilo/ に展開しました。

/usr/local/etc/rc.d/ventrilo.sh に

#!/bin/sh
/usr/local/ventrilo/ventrilo_srv -f/usr/local/ventrilo/ventrilo_srv -d
とか置いて適当に開始。

portsによるインストール(FreeBSD)

FreeBSD 6.1 をいじっていて、audio/ventrilo にskelが有るのを見つけたのでそちらから入れてみました。( make install)

/usr/local/etc/rc.d/ventrilo-server も入るので、FreeBSDならこちらの方が楽ですね。/etc/rc.conf にて

ventrilo_enable="YES"
ventrilo_port="3784"
ventrilo_srv="localhost"
を追加しました。

ventrilo_port="3784"
ventrilo_srv="localhost"

上記に付いては必要かどうか分かりません。Public版ではportの変更が出来ないため、有ってもなくても一緒だと思います。

設定

Ventrilo Server Public Edition での ventrilo_srv.ini における主要なパラメタを挙げておきます。

[Server] セクション
  • Name=Server 1(必須)
    • サーバの名称です。クライアントが接続してきた場合、クライアントのユーザ一覧の一番上に表示されます。
  • Phonetic=
    • TSSイベントで読み上げられるサーバ名の発音を書きます。空白の場合、TSSイベントでサーバ(Name)が使われます。
  • Comment
    • このオプションは現在使用されていません。代わりに、クライアントのサーバプロパティウィンドウから設定可能となっています。
  • Auth=0(必須)
    • 接続認証の設定です。
    • 0 = 認証を行いません。誰でも接続可能です。
    • 1 = 共通パスワードにて認証を行います。
    • 2 = ユーザ名/パスワードにて認証を行います。
  • Duplicates=1(必須)
    • 同一ログイン名でのログイン可否を設定します。Auth=2 の場合のみ利用可能です。同時接続を許可しない場合、既にログイン中のユーザ名でログインがあった場合、サーバは最初に接続しているユーザを切断します。
    • 0 = 同一のログイン名で複数ユーザ(クライアント)がログイン出来ません。
    • 1 = 同一のログイン名で複数ユーザ(クライアント)がログイン出来ます。
  • AdminPassword
    • 管理者パスワードです。クライアントから管理出来るようになります。空白の場合、クライアントから管理者権限を使えません。
    • 既にログインしているユーザのみが、メニューオプションから管理者権限を取得できます。
  • Password
    • 共通パスワードです。 Auth=1 の時に使用されます。全ユーザがこのパスワードを用いてログインします。
    • ログイン出来ない場合サーバは「認証できません」と言うエラーメッセージを返します(オプション)
  • SendBuffers=0
    • このオプションは各クライアントへのTCP送信バッファを設定します(バイト単位)
    • SendBuffers=0の場合、デフォルト値(131072 バイト)が使用されます。小さい値で設定するよりも、0にしてデフォルト値での利用をお勧めします。
    • クライアントの接続時、サーバのログファイルに MSG_CONN で始まる行が出力されます。その行の一番後ろの2組の数字 (A,B) (C,D) が出力されています。
    • Aはサーバのプラットフォームで設定されたバッファサイズ、BはVentriloサーバが変更した後のシステムから通知されるバッファサイズです。数値はOSによって異なります。
  • RecvBuffer=0
    • このオプションは各クライアントへのTCP受信バッファを設定します(バイト単位)
    • RecvBuffer==0の場合、デフォルト値(131072 バイト)が使用されます。
    • クライアントの接続時、サーバのログファイルに MSG_CONN で始まる行が出力されます。その行の一番後ろの2組の数字 (A,B) (C,D) が出力されています。
    • Cはサーバのプラットフォームで設定されたバッファサイズ、DはVentriloサーバが変更した後のシステムから通知されるバッファサイズです。数値はOSによって異なります。
  • Diag=0
    • 開発用の設定です。
    • 0 = 診断モードオフ
    • 1 = 診断モードオン
  • LogonTimeout=5
    • This option specifies in seconds how long a client has to logon to the server before it is automatically disconnected. Once logged on the option has no meaning.--このオプションはログイン前の、自動切断されるまでの時間を設定します。一旦ログオンしてしまえば、自動切断されません
    • (認証までの時間?ちょっとよくわかんない。)
  • CloseStd=1
    • デーモンモードでエラー塔の出力をSTDOUTに出力するかどうか(だと思う。自信なし)
    • 0 = Don't close standard input, output and error handles.
    • 1 = Close standard input, output and error handles.
    • This option instructs the server to close or leave-intact the standard input, output and error file handles when starting in daemon mode. At the time of this writing the Ventrilo server is compiled on RedHat 7.2 systems but there seems to be an incompatibility with closing these standard file handles on RedHat80 systems thus causing the program to crash. Setting this option to 0 will force the program to leave the file handles open and prevent it from crashing on RH80 systems. The only downside to this will be if the program was started in daemon mode via an SSH terminal session. When you "exit" the terminal session it will hang waiting for all file handles in spawned processes to close, and you will be forced to manually kill the SSH terminal program. This doesn't seem to happen with normal xterm, gnome-terminal or telnet sessions. *shrug*
    • Note: Starting with version 2.0.0 this doesn't seem to be an issue anymore due to changes made to the build process. However, the option remains available in case it is needed in the future.
  • TimeStamp=0
    • コンソールの出力メッセージにタイムスタンプを表示するかどうか。(リモートコンソールも含む)
    • 0 = 表示しない
    • 1 = 表示する
  • PingRate=10
    • このオプションはサーバがクライアントに対して行うpingの間隔を設定します。単位は秒で、デフォルトは10秒です。リモートコンソールコマンドのpingtraceを使用して接続状況を診断する場合、小さい値にすると便利です。
  • ExtraBuffer=0
    • This option allows the administrator to give each outbound client data stream additional buffer space but it's allocated and controlled by the server instead of relying on the TCP stack implementation. A value of 0 instructs the server to use it's default value of 128K bytes of extra buffer space. Any attempt to change the value will usually make any existing problems worse. It remains intact for historical purposes.
  • ChanWidth=0
    • サブチャンネル毎の最大数。0は無制限
    • This option specifies a maximum number of parallel sub-channels that can be created in each channel. It has no effect on root level channels which only server admin's can create. A value of 0 means there is no limit.
  • ChanDepth=0
    • チャンネル階層の深さ制限。0は無制限
    • This option specifies the maximum number of nested sub-channels (depth) that can be created. A value of 0 means the server will use it's default max value of 8 nested channels.
  • ChanClients=0
    • チャンネル毎の最大クライアント数
    • This option specifies the maximum number of clients allowed in any channel. A value of 0 means there is no limit to the number of clients per channel.
  • DisableQuit=1
    • 0=Allow remote consoles to issue the "quit" command.
    • 1=Disable (prevent) remote console from issuing the "quit" command.
    • This option prevents remote console commands (those typed into the chat window when logged in with server admin rights) from issuing the "quit" command which would instruct the server to exit the system. However, if the server was started in a non-daemon mode the local console can still issue the quit command.
  • VoiceCodec=0
    • 後述
    • This option tells the server which codec all clients must use. The value is a 0 based index into a list of possible codec's. To see the list of currently supported codec types issue the command "ventrilo_srv -?" and the program will display a table of codec's and their associated formats.
  • VoiceFormat=1
    • 後述
    • This option is the second part of VoiceCodec. Each codec can have one or more possible formats that control the quality and bandwidth usage of the specified codec. To see the list of currently supported codec formats issue the command "ventrilo_srv -?" and the program will display a table of codec's and their associated formats.
  • SilentLobby=0
    • メインロビーで音声を使用出来るかどうかを設定します。
    • 0 = 使用可能
    • 1 = 使用不可。メインロビーで会話が出来ません。
  • AutoKick=0
    • 設定した時間(秒)後に自動的にクライアントをキックする設定です。0の場合autokickされません。
    • This option enables auto-kicking of a client after it has been connected for X number of seconds. A value of 0 disables the autokick feature, otherwise it specifies the number of seconds that a client is allowed to remain connected before the server will automatically disconnect them. This feature is primarily intended for professional hosting services who setup servers for potential customers to test the quality of the hosters network and machines, while at the same time prevent people from hijacking the server for their own private use.
  • MaxClients
    • このオプションは現在使われていないようです。
    • 最大クライアント数。Public版ではこのオプションは無効です。
    • Public版では最大クライアント(スロット)数=8でハードコーディングしてあります。 8以上のクライアントで使用したい場合は公式ライセンスをしているレンタル会社から借りてください。
VoiceCodecとVoiceFormatについて
  • VoiceCodec=0
    • コーデックを指定します。
  • VoiceFormat=1
    • フォーマットを指定します。
    • コーデックとフォーマットについては、コマンドラインから

# ./ventrilo_srv -h
で表示されます。

  # ./ventrilo_srv -h
  Ventrilo Server - Public - 2.3.1

  Command line options:

  -f  = Path and Filename prefixing i.e. -f/ventrilo/3784
  Where the 3784 would denote a port number and the program will
  append extensions like: .ini .ban .log .pid to the path and prefix.
 
  -d  = Enable daemon mode.
 
  Codec Format Description:
  0     0    GSM 6.10 (8 KHz, 16 bit) 1625 bytes/sec
  0     1    GSM 6.10 (11 KHz, 16 bit) 2210 bytes/sec
  0     2    GSM 6.10 (22 KHz, 16 bit) 4420 bytes/sec
  0     3    GSM 6.10 (44 KHz, 16 bit) 8905 bytes/sec
  1     0    DSP Group TrueSpeech (8 KHz, 16 bit) 1056 bytes/sec
  2     0    Lernout & Hauspie (8 KHz, 16 bit) 600 bytes/sec
  3     0    Speex (8 KHz, 16 bit, 0 Qlty) 424 bytes/sec
  3     1    Speex (8 KHz, 16 bit, 1 Qlty) 620 bytes/sec
  3     2    Speex (8 KHz, 16 bit, 2 Qlty) 865 bytes/sec
  3     3    Speex (8 KHz, 16 bit, 3 Qlty) 1110 bytes/sec
  3     4    Speex (8 KHz, 16 bit, 4 Qlty) 1110 bytes/sec
  3     5    Speex (8 KHz, 16 bit, 5 Qlty) 1502 bytes/sec
  3     6    Speex (8 KHz, 16 bit, 6 Qlty) 1502 bytes/sec
  3     7    Speex (8 KHz, 16 bit, 7 Qlty) 1922 bytes/sec
  3     8    Speex (8 KHz, 16 bit, 8 Qlty) 1922 bytes/sec
  3     9    Speex (8 KHz, 16 bit, 9 Qlty) 2384 bytes/sec
  3    10    Speex (8 KHz, 16 bit, 10 Qlty) 3168 bytes/sec
  3    11    Speex (16 KHz, 16 bit, 0 Qlty) 620 bytes/sec
  3    12    Speex (16 KHz, 16 bit, 1 Qlty) 865 bytes/sec
  3    13    Speex (16 KHz, 16 bit, 2 Qlty) 1110 bytes/sec
  3    14    Speex (16 KHz, 16 bit, 3 Qlty) 1355 bytes/sec
  3    15    Speex (16 KHz, 16 bit, 4 Qlty) 1698 bytes/sec
  3    16    Speex (16 KHz, 16 bit, 5 Qlty) 2188 bytes/sec
  3    17    Speex (16 KHz, 16 bit, 6 Qlty) 2678 bytes/sec
  3    18    Speex (16 KHz, 16 bit, 7 Qlty) 3070 bytes/sec
  3    19    Speex (16 KHz, 16 bit, 8 Qlty) 3560 bytes/sec
  3    20    Speex (16 KHz, 16 bit, 9 Qlty) 4344 bytes/sec
  3    21    Speex (16 KHz, 16 bit, 10 Qlty) 5324 bytes/sec
  3    22    Speex (32 KHz, 16 bit, 0 Qlty) 669 bytes/sec
  3    23    Speex (32 KHz, 16 bit, 1 Qlty) 1061 bytes/sec
  3    24    Speex (32 KHz, 16 bit, 2 Qlty) 1306 bytes/sec
  3    25    Speex (32 KHz, 16 bit, 3 Qlty) 1551 bytes/sec
  3    26    Speex (32 KHz, 16 bit, 4 Qlty) 1943 bytes/sec
  3    27    Speex (32 KHz, 16 bit, 5 Qlty) 2433 bytes/sec
  3    28    Speex (32 KHz, 16 bit, 6 Qlty) 2874 bytes/sec
  3    29    Speex (32 KHz, 16 bit, 7 Qlty) 3266 bytes/sec
  3    30    Speex (32 KHz, 16 bit, 8 Qlty) 3756 bytes/sec
  3    31    Speex (32 KHz, 16 bit, 9 Qlty) 4540 bytes/sec
  3    32    Speex (32 KHz, 16 bit, 10 Qlty) 5520 bytes/sec

ちなみにウチでは下記の設定を使っています。


VoiceCodec=3
VoiceFormat=32

[Intf] セクション

このセクションは特定のネットワークインターフェイスからの接続を設定しますが、Public Editionでは使用できません。