G 全般

Mars Message Relay バージョン 2

Mars Message Relay
詳細
設備
コンテンツ
レビュー

What does it do?
--------------------
Allows chat & private channels to be relayed between regions.

One relay may be rezzed in each region and once configured will transmit whatever is said on one channel (chat=0 or private) to the other region where it is said using the same channel number to the entire region.

Note relayed messages will appear to have come from the relay itself so if you are communicating between two scripted objects you need to take this into account (i.e. include the name & UUID in the message itself)

How does it achieve this?
------------------------------
Communication between relays is established using emails (they need the UUID of each other relay in a notecard - see below).

These can be slow (20 sec delay on sending emails) so there are 20 mail client scripts to improve this together with a queuing system if over 20 messages generated in quick sequence. These may be deleted if you feel that many is unnecessary for your application (provided at least 2 remain).

Once they have communicated with the other servers a pair of HTTP URLs is exchanged and this is used from that point onwards. These guarantee sub 1 sec response times (typically 0.3 sec or better between regions). Each relay only uses one URL which is re-established and communicated to other relays whenever the scripts are reset or the region restarted (which trashes the URL).

Example
----------
Say we have the relay listening on channel 100, and we type /100Hello World or a script executes llRegionSay (100, "Hello World");

The relay in that region picks up that message and passes it to all other relays it knows about.

Each of these relays will issue llRegionSay (100, "Hello World");

So anything in those regions will "hear" it coming from the relay.

Note: channel 0 uses llShout which has 100m range from the relay.

Set up
--------
Rez a copy of the relay in the regions you wish to establish a comminications network in.

Identify its UUID (key) as you'll need this to tell other relays it exists

Edit the "settings" notecard (see below) and then click the relay to activate it.

If you change the settings (eg: adding or changing the UUID of a relay) then the script *Relay needs to be reset to re-activate.

Notecard: settings
----------------------
This is the initial driver of the relay.. Once running you may use a specified registration channel to add/change things

Each line has the format:
command=parameter 1,parameter 2 etc

Commands:-
key=UUID,optional comment (eg: region name)
- adds the UUID of a relay to the list
- note if the UUID is the UUID of the relay itself it is ignored so you may use the same notecard in all your relays

channel=number,optional comment (eg: why this channel is being listened to)
- adds a channel to be listened to
- note the receiving relays don't need to have this channel open so it can be one way only

xchannel=channel
- removes a channel

register=channel
- switches on a private registration channel where these commands may be issued once the relay is operating
- negative or zero switches this system off
- note only one of these is needed (last one is the one used)

ping
- sends a pink to all other relays & they respond so you may see the performance of your network.

example:
key=856d3cba-289e-4ad2-d210-96932282dd8b,Cariad
key=6c77ccf9-c61a-b0c6-cf13-02e6bce500f5,Pimuenti
key=194fdd87-1378-5673-1fea-d64ab7062e26,Pak
channel=1000,system A
channel=1001,system B
register=12345

now we may issue commands on channel 12345:-
eg: \12345xchannel=1000,to close channel 1000 etc.

Once activated you (or anyone in the same group as the relay) can get statistics by clicking the relay. If you click it you get additional information.

Note using the registration channel to open channels will be lost if the relay is reset.

Second Life の商品を表示
  • Grid wide communications system
  • Echo private chat channels between multiple SIMs
  • Dynamic adding/removing channels
  • Sub 1 second response times using HTTP/Email direct script to script comms
  • Easy setup - just needs UUID of other servers