2005年08月07日

Shockwave Multiuser Serverの立て方 [Multiuser]
Shockwave Multiuser Server(MUS)の立て方を知りたいという質問をもらったのでここに書いておきます。

■まずはMultiuser Server 3.0本体を用意
下記からダウンロードできます。
Macromedia - Support : Director Support Center
インストーラの指示に従ってインストールが終わったら、
MultiuserServer.exeを起動すればそれだけでサーバプログラムは稼動します。

起動したら、「状態」メニューの「サーバ」を選択すると、そのサーバのIPアドレスなどの情報が表示されます。(LAN内の場合、ローカルIPアドレスが表示されます)

■Multiuser Xtraを用意
とりあえずサーバの準備ができたら、クライアント側の準備です。
下記からMultiuser Xtraをダウンロードして、DirectorのXtrasフォルダに入れましょう。
このXtraの機能を使ってサーバに接続することになります。
TechNote : Director Multiuser Xtras are available for download

■試しに接続してみる
サーバもクライアントも同一パソコン上で動かしてみます。
Directorを起動し、メッセージウィンドウで下記のLingoを実行してください。
gMultiuserInstance = new(xtra "Multiuser")
put gMultiuserInstance.connectToNetServer("192.168.0.2",1626, [#userID:"myName", #password:"myPass", #movieID:"myMovie"])
--注:"192.168.0.2"の部分は、事前に調べたIPアドレスに変えて下さい
するとメッセージウィンドウには-- 0が返ります。
そこでMUSのウィンドウを見てみると、下記のような感じでログインに成功したログが表示されているはずです。
+ 2005/08/07 15:42:24 ムービー myMovie を作成しました。
+ 2005/08/07 15:42:24 myName(192.168.0.2)はムービー myMovie に接続しました。

■インターネット経由で接続できるようにする
モデムとパソコンが直結しているなら別ですが、ルータを使っている場合は外部からルータを経由してサーバPCにたどり着くようにルータの設定する必要があります。
設定の方法はルータによって異なるので省略しますが、いわゆるアドレス変換(NAT)という設定です。
WAN側IPアドレス、TCPポート1626 <---> LAN側IPアドレス(MUSサーバが稼動しているPCのローカルアドレス)
他にセキュリティソフトを入れている場合は、そちらの設定も必要になる場合があります。
これで接続先としてグローバルIPアドレスを指定すれば外部からアクセスできるようになるはずですが、LAN内から確認するのは難しいのでテスト用のムービーを作って友達にアクセスしてもらうなどしたほうが手っ取り早いです。

■ローカルから自分のグローバルIPアドレスでアクセスする
前述の「試しに接続してみる」ではローカルIPアドレスで接続してみましたが、実際公開する場合はグローバルIPアドレスでアクセスすることになります。
しかしほとんどのルータでは、LAN内から自分のグローバルアドレスを指定してもMUSが稼動しているPCにはたどり着かずルータの設定画面に行ってしまいます。
それでは自分で確認できないので、回避策としてhostsファイルを書き換えます。
hostsファイルとは、ホスト名とIPアドレスの変換をする際に参照されるファイルです。
ファイルの場所は下記です。
Windows XPの場合→「C:\WINDOWS\system32\drivers\etc」
Windows 2000の場合→「C:\WINNT\system32\drivers\etc」
Windows 95/98/MEの場合→「C:\Windows」

hosts書き換えの前に、MyDNS.JPddo.jpなどの無料ダイナミックDNSサービスでホスト名を取得しておきましょう。
そのうえで、hostsファイルをテキストエディタで開いて下記のような一文を追加します。下記は例なので、実際は環境に合わせてアドレスを記述してください。
192.168.0.2  example.ddo.jp
これで「MUSが稼動しているローカルアドレス」と「取得したホスト名」を関連付けられます。
example.ddo.jpに接続すれば、ローカル内からアクセスしてもちゃんとMUSサーバにたどり着きます。

■ポート番号
まれにポート制限をかけているプロバイダがあるかもしれません。
その場合は、MultiuserServer.exeと同階層にある「Multiuser.cfg」をテキストエディタで開いてServerPort=の項目を使用可能なポート番号に変更してみてください。

2005年08月03日

WindowsからOSXを操作 [Multiuser]
ここ数日、Mac miniでMultiuser Serverを走らせてるんですが、モニターやキーボードをつないでおくのは邪魔なので、VNCを使ってWindowsから操作してます。
これがすごく便利。
サイトの表示チェックをmacでしたい時も重宝します。

OSXVNC参考サイト
arclamp.jp アークランプ: VNCで、WindowsからMacを操作
typeholic.org: Mac miniをWindows中心環境で活用する
VNCでOSXを操作してみる

2005年02月20日

Shockwave Multiuser Serverで困った [Multiuser]
ログイン時のユーザ名に日本語を使うと、まれにログインできない名前があって
何でかなーと思っていたけどやっとわかった。
@や#は制御文字なので元々使っちゃいけないんですが、
Shift-JISで2バイト目に@を含む文字があるのでした。
「Аァ宗后叩拭法邸如院察掘機鼻諭...など」
これらを含むユーザ名ではログインできない。

回避策としてはURLencodeしちゃえばいい。
デコードはFlashのunescape()を使って。

2004年12月31日

Shockwave Multiuser Server メモ 2 [Multiuser]
■MUSサーバ接続時の暗号化について
通常、暗号キーを指定しても暗号化されるのはログイン時のユーザー名とパスワードだけですが、キーの頭に#Allをつけると、全パケットが暗号化されます。
gInstance.connectToNetServer("user","pass","abc.com",1626,"movie",0,"#AllABCD")
とすると、ABCDがキーとなります。

"#NoEncryption"をキーとすると、ログイン時のパケットも暗号化されずに送られます。

詳しくはこちら

2004年12月30日

Shockwave Multiuser Server メモ [Multiuser]
今になってMUSの情報を集めてみる。

英語サンプル、チュートリアル
Macromedia Director - Multiuser Overview
マニュアルには記載されていない情報
Macromedia Shcokwave Multiuser Server 3.0 リリースノート
サーバーサイドスクリプトのデバッグについて
TechNotes : dr0303 - (D8.5)Multiuser Debuggerの使用

Xtraはこちらからダウンロード可
TechNote : Director Multiuser Xtras are available for download
Multiuser Server 3.0本体はこちらからダウンロード可
Macromedia - Support : Director Support Center
Ver.1 日本語マニュアル
TechNotes : dr0177 - DR70:Multiuser Server および Xtra の使用
Ver.3 英語PDFマニュアル
Multiuser Server 3.0 documentation

以下、英語のTechNote日本語情報が極端に少ない。
どうしてマクロメディアのサイトはNot Foundが多いんだ。