Exchange Server ユーザマニュアル

この Exchange Server は、以下の用途を想定して開発したものです。

  • ガチャの景品をコピー可能なものと交換できる仕組みを導入したい
  • ガチャマシンごとに交換機を設置したい
  • チケットを(装着ではなく) REZ してもらい、交換したい

そのため、ガチャマシンと統一したデザインで、ガチャマシンの土台として設置した際に違和感なく見えるように作っています。

【最重要】ご利用を開始する前に

チケットに入れるスクリプト(名称 : exchange.lsl)のパーミッションは、初期状態では NO Mod / Copy / Trans になっています。インベントリ内で exchange.lsl を右クリック → プロパティを選択し、Copy 権限のチェックを消してください

また、チケットを設定する際にも、必ずこの項目を毎回チェックするようにしてください。

【重要】主な特徴・仕様・注意事項

  • チケットと交換機の間では暗号通信を行っています。この通信データは一度きりのもので、同一チケットであっても REZ するたびに内容が変わるため、万が一、スクリプトやSLの仕様に詳しい人が通信内容を傍受したとしても、それを解析し不正に景品を取得することはきわめて困難です。
  • 交換機を複数設置する前提でつくっています。チケットは、右図のように REZ ZONE の直上1m以内に REZ しないと反応しません。常識的な設置方法でこのエリア同士が重なることはまずないと思います(エリア同士が重なるように設置すると、意図せず混線します)。
  • 他店で発行されたチケットとは、いっさい通信できない仕様になっています。混線も誤作動もありません。
  • 1台あたりの景品登録数に上限は設けていませんが、多くても20個ぐらい(ガチャ1セット程度)の登録を想定して組んでいます。1台の交換機でより多くの景品との交換をご希望される場合は、別の製品をお探しください。
  • 交換機の上に乗せられる程度の、比較的小さなチケットを使った交換を想定して組んでいます。通信可能エリアに収まる大きさのチケットをご準備ください。
  • 交換機のサイズを拡大すれば通信可能エリアの縦横は広がりますが、高さは1mで固定です。
  • チケット本体は NO MOD である必要があります。 MOD 可のものでも作動はしますが、リスクを伴います。MOD 不可での運用が無難です。
  • チケットには「DO NOT UNPACK」などと明記しておくことをおすすめします。ご参考までに、私のチケットはこのような形状をしています。
  • 交換機の後部の一段高くなっている部分にはガチャマシンを置くことを想定しています。交換機とガチャマシンとはいっさい通信を行いませんので、他のマシン・他のスクリプトであっても問題ありません。
  • 交換機は他のオブジェクトとリンクしないでください。また、ルートプリムを変更しないでください。「EXCHANGE REZ ZONE」と書いてあるパーツがルートプリムです。
  • 交換機内のスクリプトは、他のオブジェクトに入れ替えても交換機として正常に作動します。が、いくつか注意点がありますのでカスタマイズの際には直接ご相談ください。
  • 装着で交換するものも流通しているようですが、装着中は自己消滅できない・名前の変更もできないという SL の仕様上、不正使用や詐欺行為(使用後のチケットを転売する)などのリスクがより高いと判断しています。このため、装着で交換するタイプのものを開発する予定は現時点ではありません。
  • 本職がスクリプターではなく細やかな対応ができません。不具合があれば当然修正しますが、迅速さ・的確さは期待しないでください。基本的に仕様はこのままでいく予定です(ご要望にはお応えできないと思います)。また、修正が不可能だと判断した場合は一方的に開発・サポートを打ち切る可能性もあります。このようなことから、「一般販売は行わず、日本語で意思疎通が可能な方に限り、無保証・無料で直接お渡しする」という流通形態をとっています。ご理解頂けます方のみご連絡ください

設定方法

この Exchange Server を利用するためには、前もって以下のものを準備しておく必要があります

  • COPY / NO Trans の景品(または、それを箱詰めした状態のもの)
  • NO Mod / NO Copy / TRANS のチケット

チケットは設定した後に箱詰めするので、現段階では箱詰めしないようにしてください。


1. 景品の設定

景品は、 Exchange Server に入れるだけです。


2. 景品とチケットのひも付け

  1. Exchange Server 内のノートカード「prize-list.conf」を開きます
  2. 1行目はそのままにしておいて、2行目以降に次の書式で設定を書いていきます
    (チケット名)|(景品名)
  3. ノートを保存します

例) 1つの交換機で2種類の交換を行う場合

この際、交換機が設定を読み上げます

  • [NO LINK] test ticket 01 --//--> ☑ test prize 01 … 景品は存在するが、チケットの設定がまだ済んでいないことを表す(現時点までの設定は正しく行われています)
  • [NO PRIZE / NO LINK] test ticket 01 --//--> ☐ test prize 01 … 景品が存在せず、チケットの設定もまだ済んでいないことを表す(現時点までの設定が正しくおこなわれていません)

景品が存在しない場合は、景品名をよく確認して再入力してください。


3. チケットの登録

  1. チケットを交換機の「REZ ZONE」と書かれた上に置きます
  2. チケット名が、先ほど「prize-list.conf」に記載したものと同じであることを確認します
  3. 同梱の「exchange.lsl」をチケット内に入れ、チケットをクリックします

交換機から以下のように聞こえると、設定完了です

[OK] Set up complete. DONT FORGET to
     1) open "prize-list.conf" and add LinkID to [test ticket 01] >> cf03fdf8-7975-1464-0c67-6543a6452248
     2) change permission of [test ticket 01] : NO MOD / NO COPY / trans
     3) change permission of the SCRIPT in [test ticket 01] : NO MOD / NO COPY / trans

もし、チケットの上に赤字の「ERROR」が表示された場合は、チケット名にスペルミスがないかどうか確認して、再度チケットをクリックして再設定を試みてください。

また、いつまでたっても、チケットの上の「try accessing server」の文字が消えないときは、交換機の通信可能エリア内にチケットがなく通信が届いていません。適切な位置に動かし、再度チケットをクリックしてください。


4. 仕上げ

前章で交換機から聞こえた通りの作業を終えると完了です。

  1. 「prize-list.conf」を開き、該当行末に「|」を入力後、LinkIDを追記します
    test ticket 01|test prize 01|cf03fdf8-7975-1464-0c67-6543a6452248

    この LinkID は、設定者であるあなた以外は知りようのないもので、通信時のパスワードのはたらきをします。セキュリティー上、他人に教えないようにしてください。

  2. チケットのパーミッションが NO MOD / NO COPY / trans になっていることを確認します
  3. チケット内のスクリプトのパーミッションが NO MOD / NO COPY / trans になっていることを確認します

ここまで済みましたら、このチケットを箱詰めし、ガチャマシンに入れてください

尚、最終的には、交換機は以下のように設定内容を発言するはずです

  • [LINK SET] test ticket 01 -----> ☑ test prize 01 … 正常にすべての設定が完了したことを表します

2. 景品とチケットのひも付けでのものも含めると、合計4つの状態が存在することになります。

  • [LINK SET] test ticket 01 -----> ☑ test prize 01 … 正常(交換可能)
  • [NO LINK] test ticket 01 --//--> ☑ test prize 01 … 異常(LinkID が設定されていない / 交換不可能)
  • [NO PRIZE] test ticket 01 -----> ☐ test prize 01 … 異常(LinkID の設定は済んでいるが、景品が見つからない / 交換不可能)
  • [NO PRIZE / NO LINK] test ticket 01 --//--> ☐ test prize 01 …異常(景品が見つからない / 交換不可能)

交換機の運用を開始する前に

以下の項目をチェックしてください

  1. 交換機の名前を変更する(運用開始後は交換機から通知が届きます。すべて同じ名前だと、どの交換機からの通知か判別つきません)
  2. 交換機をクリックし、ダイアログから「DATA」を選択。すべての景品が [LINK SET] になっていることを確認する
  3. チケットを交換機の上に REZ した際に、適切な景品が送られてくることを確認する
  4. 交換機をクリックし、ダイアログから「LOG」を選択。交換したログが正常に記録されていることを確認する

以上の項目をすべてクリアしたら、設定は完了です。おつかれさまでした。

運用を開始した後は

誰かが交換を試みた際には、そのことを知らせる通知(IM)が届きます。必要に応じて対応してください。

OK | チケット名 | アバター名 (TicketID : UUID)
» 正常に交換が行われました ⇒ 対応は不要です

TICKET ERROR | チケット名 | アバター名 (TicketID : UUID)
» 誰かが別の交換機にチケットを REZ しました ⇒ 基本的に対応は不要ですが、何度も場所を間違えているようでしたら正しい交換機を案内してあげてください。

まずありえないとは思いますが、手動では不可能なスピードで同一人物の TICKET ERROR が出る場合、交換機に対して不正アクセスを試みている可能性があります。このようなケースが生じたときは、交換機をいったん片付け、fk0724 までご連絡ください

SERVER ERROR | チケット名 | アバター名 (TicketID : UUID)
» 誰かが交換を試みましたが交換機内に景品が見当たりません ⇒ 設定が不十分だったことが考えられます。設定を見直し、該当アバターに連絡してください。

尚、この際送られてくる IM 通知は交換機にログとして残っています。ログは、本体をクリックしダイアログから「LOG」を選択することで、直近の99件を確認することが可能です。

想定し得る、お客様からの問い合わせ

1. 交換する際に、送られてきた景品を受け取り損ねた

» 誤ってダイアログの「辞退(Discard)」を選択した場合、正常に交換が終了したにも関わらずインベントリに届かないケースが発生する可能性があります。正常に交換が終了した場合は、チケットを使った人に次のようなアナウンスが行われます。

If you fail to receive, please tell this ID to shop owner
---------------------------------------------------
TicketID : 2333c649-c6bb-7f9c-6cf1-e9b48ad2058c
---------------------------------------------------

まずは、TicketID を尋ねてください。次に、アバター名とチケット名、ならびに TicketID がログに存在し、交換が正常に行われているかどうか確認してください。これらの条件をクリアしている場合は手動で景品を渡して差し支えありません(すでにチケットは消滅していますし、景品は譲渡不可なので重複しても問題ない)。

2. TICKET ERROR が出て交換できない

» 複数の交換機を設置している場合、別の交換機の上に REZ するとこのエラーが出ます。その際、交換を試みた人には [ERROR] It seems that you try at the wrong zone. Check the REZ ZONE and try again, please. とアナウンスしています。通常、これで場所を間違えたことに気づくはずなのですが、問い合わせがあった場合は正しい交換機の場所を案内してあげてください。

3. SERVER ERROR が出て交換できない

» 設定ミスで、交換機の中に該当景品が存在しない場合に SERVER ERROR が発生します。この場合は交換機の設定を見なおしてください。チケットそのものは生きていますので景品を手渡しする場合は同時にチケットの回収も行うようお気をつけください。

尚、チケットを使った人には [SERVER ERROR] The corresponding prize is not in the server. It seems that the service is temporarily suspended by the store. Please try again later. (You don't have to tell this error to the shop owner. The server already sent him/her this error and your avatar name.) とアナウンスされます。

4. REZ に失敗しチケットが消えた

» REZ 権限がない土地で REZ した場合、インベントリから消えたように見えますが、リログするとインベントリに戻ります。そうお伝えください。

5. チケットを誤って Unpack してしまった

» 「Unpack されたスクリプトは、あらゆるデータがリセットされ初期状態に戻る」というのが SL の仕様のようです。そのため、別のオブジェクトに入れても交換機では使えません。手動での直接交換に応じるか、Unpack したら無効とするかは、運用前に決めておくと良いと思います。私のところでは、一応、報告があれば空のチケットと引き換えに交換に応じるようにしています。

6. スクリプトをリセットしてしまった

» リセットされたチケットは復旧不可能です。使えません。チケットを NO Mod に設定している状態ではスクリプトをリセットすることができません。Mod 可で運用する場合はリセット可能なのでこの問い合わせがあるかもしれません。判断および対応はお任せします。


参考)公開に先立ち、 anhelo においてこのシステムを試験導入し、実際にお客様に使って頂きました。約500件の交換中、4.の問い合わせが1件、5.の問い合わせが1件発生し、TICKET ERROR、SERVER ERROR、その他の事故ともに発生ナシという結果でした。「どこで交換すればいい?」という問い合わせは定期的にあります(これはもう諦めていますw)。また、「交換してくれ」と手動でチケットを送ってくるケースが1件ありました(来るのが面倒だったのでしょうか…)。