Connecting a virtual world object to an external service

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Connecting a virtual world object to an external service

aiaustin
I am askig round to see if anyone knows of a simple setup to make a
connection (HTTP in/out I assume?) between an inworld
object/avatar/NPC attachment and an external web service.  To make
the connection and then handle two way commands/instructions/queries/responses.

Some time ago we had a MyCyberTwin chatbot doing this for a simple
http in/out script attached to an avatar or object to provide in
world chatbot facilities.  MyCyberTwin was sold to IBM and that
server end is no longer available as an example.

Anything you have or know of?

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Connecting a virtual world object to an external service

Seren Seraph
+1 the question with variations.
In SL I know the various mail and HTML type communications have message
length and number per second and queueing length (incoming to object)
limits that are pretty severe.  

So my question is whether there are optional opensim server modules for
a much better and more modern story.   I don't see offhand why I can't
have a message event loop equal to any other web client hardling as a
module that can directly message any receiving object on receipt.  Nor
do I see why I can't hook memory enough to it to queue up however many
messages (across all receivers) I choose.

Is there work to do a object script client to a websocket that is not
throttled?




On 01/13/2017 01:03 PM, Ai Austin wrote:

> I am askig round to see if anyone knows of a simple setup to make a
> connection (HTTP in/out I assume?) between an inworld
> object/avatar/NPC attachment and an external web service.  To make the
> connection and then handle two way
> commands/instructions/queries/responses.
>
> Some time ago we had a MyCyberTwin chatbot doing this for a simple
> http in/out script attached to an avatar or object to provide in world
> chatbot facilities.  MyCyberTwin was sold to IBM and that server end
> is no longer available as an example.
>
> Anything you have or know of?
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Connecting a virtual world object to an external service

Mister Blue
One possibility is the dispatcher region module (https://github.com/cmickeyb/dispatcher). It presents an HTTP/REST interface to the region (with security) for external control of objects in the region. It has been used to move vehicles around regions (driven by a traffic simulator) and n-body physics display (driven by a physics simulation) and there is no reason it cannot be used for NPCs or chatbots.

On Sat, Jan 14, 2017 at 3:26 PM, Seren Seraph <[hidden email]> wrote:
+1 the question with variations.
In SL I know the various mail and HTML type communications have message
length and number per second and queueing length (incoming to object)
limits that are pretty severe.

So my question is whether there are optional opensim server modules for
a much better and more modern story.   I don't see offhand why I can't
have a message event loop equal to any other web client hardling as a
module that can directly message any receiving object on receipt.  Nor
do I see why I can't hook memory enough to it to queue up however many
messages (across all receivers) I choose.

Is there work to do a object script client to a websocket that is not
throttled?




On 01/13/2017 01:03 PM, Ai Austin wrote:
> I am askig round to see if anyone knows of a simple setup to make a
> connection (HTTP in/out I assume?) between an inworld
> object/avatar/NPC attachment and an external web service.  To make the
> connection and then handle two way
> commands/instructions/queries/responses.
>
> Some time ago we had a MyCyberTwin chatbot doing this for a simple
> http in/out script attached to an avatar or object to provide in world
> chatbot facilities.  MyCyberTwin was sold to IBM and that server end
> is no longer available as an example.
>
> Anything you have or know of?
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Connecting a virtual world object to an external service

Seren Seraph



On 01/14/2017 04:54 PM, Mister Blue wrote:
One possibility is the dispatcher region module (https://github.com/cmickeyb/dispatcher). It presents an HTTP/REST interface to the region (with security) for external control of objects in the region. It has been used to move vehicles around regions (driven by a traffic simulator) and n-body physics display (driven by a physics simulation) and there is no reason it cannot be used for NPCs or chatbots.

That is cool to know about.  :) 

Staring as a noob at some opensim server code it is sort of surprising how widely knowledge of what the protocol for a message is is distributed through classes and methods that want to send that message.  Also widely spread is knowledge of details like whether polling vs something more direct like websockets is in use. 

It would be nice if there was a Messenger class with subclasses and maybe a ResponseListener class with both base classes being protocol agnostic.  But so far it doesn't seem to be the way things have been done.


On Sat, Jan 14, 2017 at 3:26 PM, Seren Seraph <[hidden email]> wrote:
+1 the question with variations.
In SL I know the various mail and HTML type communications have message
length and number per second and queueing length (incoming to object)
limits that are pretty severe.

So my question is whether there are optional opensim server modules for
a much better and more modern story.   I don't see offhand why I can't
have a message event loop equal to any other web client hardling as a
module that can directly message any receiving object on receipt.  Nor
do I see why I can't hook memory enough to it to queue up however many
messages (across all receivers) I choose.

Is there work to do a object script client to a websocket that is not
throttled?




On 01/13/2017 01:03 PM, Ai Austin wrote:
> I am askig round to see if anyone knows of a simple setup to make a
> connection (HTTP in/out I assume?) between an inworld
> object/avatar/NPC attachment and an external web service.  To make the
> connection and then handle two way
> commands/instructions/queries/responses.
>
> Some time ago we had a MyCyberTwin chatbot doing this for a simple
> http in/out script attached to an avatar or object to provide in world
> chatbot facilities.  MyCyberTwin was sold to IBM and that server end
> is no longer available as an example.
>
> Anything you have or know of?
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users



_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Connecting a virtual world object to an external service

Mister Blue
Such things can be easily added to the LSL language as extension functions. Like many of the os* functions in OpenSImulator's LSL language, a region module can add new functions for that region. A file in the sources named 'ExtendedPhysics.cs' is an example of adding new constants and functions to the region (for physics, in this case). A new module could add messaging functions for any script in the region to use.

That said, keep in mind the problem of misuse. Any new functions should not allow overloading a region's CPU, file system, or locking out other users. The limits on the existing messaging systems were from the days that LL discovered SL scripts being used as email spambots.

The OpenSimulator project could use more documentation and the wiki is available. As you learn things about OpenSImulator, feel free to write a page or two.

On Sat, Jan 14, 2017 at 5:08 PM, Seren Seraph <[hidden email]> wrote:



On 01/14/2017 04:54 PM, Mister Blue wrote:
One possibility is the dispatcher region module (https://github.com/cmickeyb/dispatcher). It presents an HTTP/REST interface to the region (with security) for external control of objects in the region. It has been used to move vehicles around regions (driven by a traffic simulator) and n-body physics display (driven by a physics simulation) and there is no reason it cannot be used for NPCs or chatbots.

That is cool to know about.  :) 

Staring as a noob at some opensim server code it is sort of surprising how widely knowledge of what the protocol for a message is is distributed through classes and methods that want to send that message.  Also widely spread is knowledge of details like whether polling vs something more direct like websockets is in use. 

It would be nice if there was a Messenger class with subclasses and maybe a ResponseListener class with both base classes being protocol agnostic.  But so far it doesn't seem to be the way things have been done.


On Sat, Jan 14, 2017 at 3:26 PM, Seren Seraph <[hidden email]> wrote:
+1 the question with variations.
In SL I know the various mail and HTML type communications have message
length and number per second and queueing length (incoming to object)
limits that are pretty severe.

So my question is whether there are optional opensim server modules for
a much better and more modern story.   I don't see offhand why I can't
have a message event loop equal to any other web client hardling as a
module that can directly message any receiving object on receipt.  Nor
do I see why I can't hook memory enough to it to queue up however many
messages (across all receivers) I choose.

Is there work to do a object script client to a websocket that is not
throttled?




On 01/13/2017 01:03 PM, Ai Austin wrote:
> I am askig round to see if anyone knows of a simple setup to make a
> connection (HTTP in/out I assume?) between an inworld
> object/avatar/NPC attachment and an external web service.  To make the
> connection and then handle two way
> commands/instructions/queries/responses.
>
> Some time ago we had a MyCyberTwin chatbot doing this for a simple
> http in/out script attached to an avatar or object to provide in world
> chatbot facilities.  MyCyberTwin was sold to IBM and that server end
> is no longer available as an example.
>
> Anything you have or know of?
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users



_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users



_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users