Problems with creating a CroquetPartipiantWithMenu

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems with creating a CroquetPartipiantWithMenu

Thomas, Adam
Hi list,

I've been working with the Croquet SDK v1.0 and Cobalt v0.01 builds for
use in the Canberra Institute of Technology. Because we are
collaborating over multiple network segments and over the Internet with
another Institute we have a need to deploy a Croquet server in our DMZ.
I have followed the examples in the '06.04.14 Croquet Programming
1.0B.pdf' file from the Croquet SDK build to develop the router and
participant scripts.

I'm currently stuck trying to update the participant script to use the
new CroquetParticipantWithMenu class. Running the script in the
CroquetSDK build generates errors on Mouse Enter events and locks up the
VM. Opening the script in the Cobalt build connects to the router and
opens the island but nothing happens unless I click the mouse on the
squeak desktop. Every time I click on the desktop the Croquet window
updates. I know it's connected to the router and receiving updates
because I can have another participant walk in front of my avatar and
next time I click on the desktop I can see the other participant.

For further info on my current setup see
http://eduversal-studios.wikispaces.com/CIT

Any tips on how to initialise the participant correctly would be greatly
appreciated.

Here is my current participantwithmenu.st script:

participant := CroquetParticipantWithMenu new.
participant setup.
harness := participant harness.

participant position: 50@50.

address := '161.50.19.254'.
port := 8080.
id := TObjectID readHexFrom: '35396f525945454344427a696f436c4c'.

controller := TSimpleController new.
controller connectTo: address port: port sessionID: id.
p := controller login: 'guest' password:  'guest'.
p wait. "until connected"
p := controller join.    "receive messages"
p wait. "until joined"
p := controller sync. "request replicated state"
p wait.    "until sync-ed"

controller install: p result.
island := controller island.

controller beServer.
controller heartbeat: 20.
harness addController: controller.

entry := controller island future at: #masterSpace.
pc := entry future postcard.

pc whenResolved:[
 harness addIsland: island postcard: pc value.
 sync := harness  viewPortal future postcardLink: pc value.
 sync whenResolved:[
     harness startRender.
     participant openInWorld.
 ]. "ready to render"
].

--
Adam Thomas.
 
-----------------------------------------------------------------------
This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.
-----------------------------------------------------------------------
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Patrick Shouse
I think you need a heart-beat. Check out this thread . . .

http://www.nabble.com/basic-tea-time-questions-tt9647734.html#a9649151

Thomas, Adam wrote
Hi list,

I've been working with the Croquet SDK v1.0 and Cobalt v0.01 builds for
use in the Canberra Institute of Technology. Because we are
collaborating over multiple network segments and over the Internet with
another Institute we have a need to deploy a Croquet server in our DMZ.
I have followed the examples in the '06.04.14 Croquet Programming
1.0B.pdf' file from the Croquet SDK build to develop the router and
participant scripts.

I'm currently stuck trying to update the participant script to use the
new CroquetParticipantWithMenu class. Running the script in the
CroquetSDK build generates errors on Mouse Enter events and locks up the
VM. Opening the script in the Cobalt build connects to the router and
opens the island but nothing happens unless I click the mouse on the
squeak desktop. Every time I click on the desktop the Croquet window
updates. I know it's connected to the router and receiving updates
because I can have another participant walk in front of my avatar and
next time I click on the desktop I can see the other participant.

For further info on my current setup see
http://eduversal-studios.wikispaces.com/CIT

Any tips on how to initialise the participant correctly would be greatly
appreciated.

Here is my current participantwithmenu.st script:

participant := CroquetParticipantWithMenu new.
participant setup.
harness := participant harness.

participant position: 50@50.

address := '161.50.19.254'.
port := 8080.
id := TObjectID readHexFrom: '35396f525945454344427a696f436c4c'.

controller := TSimpleController new.
controller connectTo: address port: port sessionID: id.
p := controller login: 'guest' password:  'guest'.
p wait. "until connected"
p := controller join.    "receive messages"
p wait. "until joined"
p := controller sync. "request replicated state"
p wait.    "until sync-ed"

controller install: p result.
island := controller island.

controller beServer.
controller heartbeat: 20.
harness addController: controller.

entry := controller island future at: #masterSpace.
pc := entry future postcard.

pc whenResolved:[
 harness addIsland: island postcard: pc value.
 sync := harness  viewPortal future postcardLink: pc value.
 sync whenResolved:[
     harness startRender.
     participant openInWorld.
 ]. "ready to render"
].

--
Adam Thomas.
 
-----------------------------------------------------------------------
This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.
-----------------------------------------------------------------------
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
In my experience, the stepping behavior also happens when I put a break in the code and the heartbeats get "backlogged".
Reply | Threaded
Open this post in threaded view
|

RE: Problems with creating a CroquetPartipiantWithMenu

Thomas, Adam
In reply to this post by Patrick Shouse
> -----Original Message-----
> From: pshouse [mailto:[hidden email]]
> Sent: Monday, 8 September 2008 1:06 PM
> To: [hidden email]
> Subject: Re: [croquet-dev] Problems with creating a
> CroquetPartipiantWithMenu
>
>
> I think you need a heart-beat. Check out this thread . . .
>
> http://www.nabble.com/basic-tea-time-questions-tt9647734.html#a9649151

Isn't that what the setting heartbeat in the controller is supposed to
do?

>
>
> Thomas, Adam wrote:
> >
> > Hi list,
> >
> > I've been working with the Croquet SDK v1.0 and Cobalt v0.01 builds
> > for use in the Canberra Institute of Technology. Because we are
> > collaborating over multiple network segments and over the Internet
> > with another Institute we have a need to deploy a Croquet
> server in our DMZ.
> > I have followed the examples in the '06.04.14 Croquet Programming
> > 1.0B.pdf' file from the Croquet SDK build to develop the router and
> > participant scripts.
> >
> > I'm currently stuck trying to update the participant script
> to use the
> > new CroquetParticipantWithMenu class. Running the script in the
> > CroquetSDK build generates errors on Mouse Enter events and
> locks up
> > the VM. Opening the script in the Cobalt build connects to
> the router
> > and opens the island but nothing happens unless I click the
> mouse on
> > the squeak desktop. Every time I click on the desktop the Croquet
> > window updates. I know it's connected to the router and receiving
> > updates because I can have another participant walk in front of my
> > avatar and next time I click on the desktop I can see the
> other participant.
> >
> > For further info on my current setup see
> > http://eduversal-studios.wikispaces.com/CIT
> >
> > Any tips on how to initialise the participant correctly would be
> > greatly appreciated.
> >
> > Here is my current participantwithmenu.st script:
> >
> > participant := CroquetParticipantWithMenu new.
> > participant setup.
> > harness := participant harness.
> >
> > participant position: 50@50.
> >
> > address := '161.50.19.254'.
> > port := 8080.
> > id := TObjectID readHexFrom: '35396f525945454344427a696f436c4c'.
> >
> > controller := TSimpleController new.
> > controller connectTo: address port: port sessionID: id.
> > p := controller login: 'guest' password:  'guest'.
> > p wait. "until connected"
> > p := controller join.    "receive messages"
> > p wait. "until joined"
> > p := controller sync. "request replicated state"
> > p wait.    "until sync-ed"
> >
> > controller install: p result.
> > island := controller island.
> >
> > controller beServer.
> > controller heartbeat: 20.
> > harness addController: controller.
> >
> > entry := controller island future at: #masterSpace.
> > pc := entry future postcard.
> >
> > pc whenResolved:[
> >  harness addIsland: island postcard: pc value.
> >  sync := harness  viewPortal future postcardLink: pc value.
> >  sync whenResolved:[
> >      harness startRender.
> >      participant openInWorld.
> >  ]. "ready to render"
> > ].
> >
> > --
> > Adam Thomas.
> >  
> >
> ----------------------------------------------------------------------
> > - This email, and any attachments, may be confidential and also
> > privileged.
> > If you are not the intended recipient, please notify the sender and
> > delete all copies of this transmission along with any
> attachments immediately.
> > You should not copy or use it for any purpose, nor disclose its
> > contents to any other person.
> >
> ----------------------------------------------------------------------
> > -
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Problems-with-creating-a-CroquetPartipia
ntWithMenu-tp19365076p19365201.html
> Sent from the Croquet - Dev mailing list archive at Nabble.com.
>
>
 
-----------------------------------------------------------------------
This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.
-----------------------------------------------------------------------
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
In reply to this post by Thomas, Adam
Have you tried hitting Alt-. A couple times?
What error do you get?

Darius


On 9/7/08, Thomas, Adam <[hidden email]> wrote:

> Hi list,
>
> I've been working with the Croquet SDK v1.0 and Cobalt v0.01 builds for
> use in the Canberra Institute of Technology. Because we are
> collaborating over multiple network segments and over the Internet with
> another Institute we have a need to deploy a Croquet server in our DMZ.
> I have followed the examples in the '06.04.14 Croquet Programming
> 1.0B.pdf' file from the Croquet SDK build to develop the router and
> participant scripts.
>
> I'm currently stuck trying to update the participant script to use the
> new CroquetParticipantWithMenu class. Running the script in the
> CroquetSDK build generates errors on Mouse Enter events and locks up the
> VM. Opening the script in the Cobalt build connects to the router and
> opens the island but nothing happens unless I click the mouse on the
> squeak desktop. Every time I click on the desktop the Croquet window
> updates. I know it's connected to the router and receiving updates
> because I can have another participant walk in front of my avatar and
> next time I click on the desktop I can see the other participant.
>
> For further info on my current setup see
> http://eduversal-studios.wikispaces.com/CIT
>
> Any tips on how to initialise the participant correctly would be greatly
> appreciated.
>
> Here is my current participantwithmenu.st script:
>
> participant := CroquetParticipantWithMenu new.
> participant setup.
> harness := participant harness.
>
> participant position: 50@50.
>
> address := '161.50.19.254'.
> port := 8080.
> id := TObjectID readHexFrom: '35396f525945454344427a696f436c4c'.
>
> controller := TSimpleController new.
> controller connectTo: address port: port sessionID: id.
> p := controller login: 'guest' password:  'guest'.
> p wait. "until connected"
> p := controller join.    "receive messages"
> p wait. "until joined"
> p := controller sync. "request replicated state"
> p wait.    "until sync-ed"
>
> controller install: p result.
> island := controller island.
>
> controller beServer.
> controller heartbeat: 20.
> harness addController: controller.
>
> entry := controller island future at: #masterSpace.
> pc := entry future postcard.
>
> pc whenResolved:[
>  harness addIsland: island postcard: pc value.
>  sync := harness  viewPortal future postcardLink: pc value.
>  sync whenResolved:[
>      harness startRender.
>      participant openInWorld.
>  ]. "ready to render"
> ].
>
> --
> Adam Thomas.
>
> -----------------------------------------------------------------------
> This email, and any attachments, may be confidential and also privileged. If
> you are not the intended recipient, please notify the sender and delete all
> copies of this transmission along with any attachments immediately. You
> should not copy or use it for any purpose, nor disclose its contents to any
> other person.
> -----------------------------------------------------------------------
>
Reply | Threaded
Open this post in threaded view
|

RE: Problems with creating a CroquetPartipiantWithMenu

Thomas, Adam
Hi Darius,

I belive this is the info you are after.

The procces to get this was to run the participant script. Wait untill I
thought it was connected press 'Alt+.' twice. Then select 'Mail out bug
report' option in the 'User Interupt' window's menu.

11 September 2008 10:06:20 am

VM: Win32 - a SmalltalkImage
Image: Croquet1.0beta [latest update: #2]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Documents and Settings\Adam Thomas\My
Documents\cobalt-base-current-build-20080703
Trusted Dir C:\Documents and Settings\Adam Thomas\My
Documents\cobalt-base-current-build-20080703\Adam Thomas
Untrusted Dir C:\My Squeak\Adam Thomas

EventSensor>>processEvent:
        Receiver: an EventSensor
        Arguments and temporary variables:
                evt: #(2 239184138 46 0 8 0 0 0)
                type: 2
                a: nil
        Receiver's instance variables:
                mouseButtons: 0
                mousePosition: 584@545
                keyboardBuffer: a SharedQueue(0)
                interruptKey: 2094
                interruptSemaphore: a Semaphore(a Process in
Semaphore>>wait)
                eventQueue: a SharedQueue(0)
                inputSemaphore: a Semaphore()
                lastEventPoll: 239225459
                hasInputSemaphore: false

EventSensor>>fetchMoreEvents
        Receiver: an EventSensor
        Arguments and temporary variables:
                eventBuffer: #(2 239184138 46 0 8 0 0 0)
                type: 2
        Receiver's instance variables:
                mouseButtons: 0
                mousePosition: 584@545
                keyboardBuffer: a SharedQueue(0)
                interruptKey: 2094
                interruptSemaphore: a Semaphore(a Process in
Semaphore>>wait)
                eventQueue: a SharedQueue(0)
                inputSemaphore: a Semaphore()
                lastEventPoll: 239225459
                hasInputSemaphore: false

EventSensor>>nextEventFromQueue
        Receiver: an EventSensor
        Arguments and temporary variables:

        Receiver's instance variables:
                mouseButtons: 0
                mousePosition: 584@545
                keyboardBuffer: a SharedQueue(0)
                interruptKey: 2094
                interruptSemaphore: a Semaphore(a Process in
Semaphore>>wait)
                eventQueue: a SharedQueue(0)
                inputSemaphore: a Semaphore()
                lastEventPoll: 239225459
                hasInputSemaphore: false

EventSensor>>nextEvent
        Receiver: an EventSensor
        Arguments and temporary variables:

        Receiver's instance variables:
                mouseButtons: 0
                mousePosition: 584@545
                keyboardBuffer: a SharedQueue(0)
                interruptKey: 2094
                interruptSemaphore: a Semaphore(a Process in
Semaphore>>wait)
                eventQueue: a SharedQueue(0)
                inputSemaphore: a Semaphore()
                lastEventPoll: 239225459
                hasInputSemaphore: false


--- The full stack ---
EventSensor>>processEvent:
EventSensor>>fetchMoreEvents
EventSensor>>nextEventFromQueue
EventSensor>>nextEvent
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
processEvents.  capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor
terminateActive]}

> -----Original Message-----
> From: Darius Clarke [mailto:[hidden email]]
> Sent: Thursday, 11 September 2008 4:10 AM
> To: [hidden email]; Thomas, Adam
> Subject: Re: [croquet-dev] Problems with creating a
> CroquetPartipiantWithMenu
>
> Have you tried hitting Alt-. A couple times?
> What error do you get?
>
> Darius
>
>
> On 9/7/08, Thomas, Adam <[hidden email]> wrote:
> > Hi list,
> >
> > I've been working with the Croquet SDK v1.0 and Cobalt v0.01 builds
> > for use in the Canberra Institute of Technology. Because we are
> > collaborating over multiple network segments and over the Internet
> > with another Institute we have a need to deploy a Croquet
> server in our DMZ.
> > I have followed the examples in the '06.04.14 Croquet Programming
> > 1.0B.pdf' file from the Croquet SDK build to develop the router and
> > participant scripts.
> >
> > I'm currently stuck trying to update the participant script
> to use the
> > new CroquetParticipantWithMenu class. Running the script in the
> > CroquetSDK build generates errors on Mouse Enter events and
> locks up
> > the VM. Opening the script in the Cobalt build connects to
> the router
> > and opens the island but nothing happens unless I click the
> mouse on
> > the squeak desktop. Every time I click on the desktop the Croquet
> > window updates. I know it's connected to the router and receiving
> > updates because I can have another participant walk in front of my
> > avatar and next time I click on the desktop I can see the
> other participant.
> >
> > For further info on my current setup see
> > http://eduversal-studios.wikispaces.com/CIT
> >
> > Any tips on how to initialise the participant correctly would be
> > greatly appreciated.
> >
> > Here is my current participantwithmenu.st script:
> >
> > participant := CroquetParticipantWithMenu new.
> > participant setup.
> > harness := participant harness.
> >
> > participant position: 50@50.
> >
> > address := '161.50.19.254'.
> > port := 8080.
> > id := TObjectID readHexFrom: '35396f525945454344427a696f436c4c'.
> >
> > controller := TSimpleController new.
> > controller connectTo: address port: port sessionID: id.
> > p := controller login: 'guest' password:  'guest'.
> > p wait. "until connected"
> > p := controller join.    "receive messages"
> > p wait. "until joined"
> > p := controller sync. "request replicated state"
> > p wait.    "until sync-ed"
> >
> > controller install: p result.
> > island := controller island.
> >
> > controller beServer.
> > controller heartbeat: 20.
> > harness addController: controller.
> >
> > entry := controller island future at: #masterSpace.
> > pc := entry future postcard.
> >
> > pc whenResolved:[
> >  harness addIsland: island postcard: pc value.
> >  sync := harness  viewPortal future postcardLink: pc value.
> >  sync whenResolved:[
> >      harness startRender.
> >      participant openInWorld.
> >  ]. "ready to render"
> > ].
> >
> > --
> > Adam Thomas.
> >
> >
> ----------------------------------------------------------------------
> > - This email, and any attachments, may be confidential and also
> > privileged. If you are not the intended recipient, please
> notify the
> > sender and delete all copies of this transmission along with any
> > attachments immediately. You should not copy or use it for any
> > purpose, nor disclose its contents to any other person.
> >
> ----------------------------------------------------------------------
> > -
> >
>
 
-----------------------------------------------------------------------
This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.
-----------------------------------------------------------------------
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
Hi Adam, 

First, can I bother you to only use the Cobalt version?
That's what all of us use here now, since it has several fixes and will help us to diagnose your problem. 

I'm still researching it. 

Cheers,
Darius
Reply | Threaded
Open this post in threaded view
|

RE: Problems with creating a CroquetPartipiantWithMenu

Thomas, Adam
Hi Darius,
 
Sure, I'll stick to running tests from my cobalt-base-current-build-20080703. Despite what the dump says the image squeak ran was cobalt.1.image unless I have _really_broken it.
 
I just did a fresh unzip of the cobalt zip and the email bug report still showed Croquet0.1beta so I'm guessing there is a version string it the image file that needs updating.
 
A quick grep confirms it:
 
cobalt-base-current-build-20080703$ grep Croquet1.0beta cobalt.1.image
Binary file cobalt.1.image matches
 
Further to my origonal problem, I've noticed that the simulation will run if I 'middle mouse' drag a window behind the Croquet window (this is within squeak). It doesn't work if I'm just moving the windows outline.
 
Thanks
Adam.


From: Darius Clarke [mailto:[hidden email]]
Sent: Thursday, 11 September 2008 1:46 PM
To: [hidden email]; Thomas, Adam
Subject: Re: [croquet-dev] Problems with creating a CroquetPartipiantWithMenu

Hi Adam, 

First, can I bother you to only use the Cobalt version?
That's what all of us use here now, since it has several fixes and will help us to diagnose your problem. 

I'm still researching it. 

Cheers,
Darius
 

-----------------------------------------------------------------------

This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.

-----------------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
Can we start with the simplest case and work up from there?
 - Let's just get two worlds to hook-up peer to peer.  

Also, is there a reason you run the router as a separate process from the persistent client?

Cheers,
Darius
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
And, yes, the version string probably needs updating. :-)

Reply | Threaded
Open this post in threaded view
|

RE: Problems with creating a CroquetPartipiantWithMenu

Thomas, Adam
In reply to this post by Darius Clarke
Hi Darius
 
Running the two copies of cobalt on either one of my machines works fine. I can open the worlds by dragging the cobalt icon and then (on one client) open a portal to the other world using the 'place>link to>portal to' menu option.
 
If I try and connect my Windows machine to me Linux machine using the 'portal to', I can create the portal but the Linux client locks up after one frame. I can't even create a portal to the Windows machine from my Linux machine. That's another oddity I hope to work out but isn't currently a priority.
 
If I run the router and the participant on my Windows machine I get the stepping problem.
 
As far as running the router and the persistant client as separate procceses go:
  - there was slightly more documentiation (an newsgroup post) on doing it this way
  - I can start and stop the persistant client without dropping the router
  - That bit is currently working and I'm not at a point where I feel like 'fixing' it.
 
--
Adam.
 

From: Darius Clarke [mailto:[hidden email]]
Sent: Thursday, 11 September 2008 2:33 PM
To: [hidden email]; Thomas, Adam
Subject: Re: [croquet-dev] Problems with creating a CroquetPartipiantWithMenu

Can we start with the simplest case and work up from there?
 - Let's just get two worlds to hook-up peer to peer.  

Also, is there a reason you run the router as a separate process from the persistent client?

Cheers,
Darius
 

-----------------------------------------------------------------------

This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.

-----------------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
Ok. I'll try to simulate this with VMWare copy of Ubuntu on my Windows PC. 

When you say the independent router setup is working, does that mean it all works in Windows ... or another configuration? 
I didn't mean to sound critical. There could be reasons like firewall and leveraging certain servers for optimizing CPU, etc. 

Does Linux to Linux work w/o locking on the first frame?

Are you referring to Andreas' Jun 2006 posts?

Cheers,
Darius
_____________

On Wed, Sep 10, 2008 at 10:00 PM, Thomas, Adam <[hidden email]> wrote:
Hi Darius
 
Running the two copies of cobalt on either one of my machines works fine. I can open the worlds by dragging the cobalt icon and then (on one client) open a portal to the other world using the 'place>link to>portal to' menu option.
 
If I try and connect my Windows machine to me Linux machine using the 'portal to', I can create the portal but the Linux client locks up after one frame. I can't even create a portal to the Windows machine from my Linux machine. That's another oddity I hope to work out but isn't currently a priority.
 
If I run the router and the participant on my Windows machine I get the stepping problem.
 
As far as running the router and the persistant client as separate procceses go:
  - there was slightly more documentiation (an newsgroup post) on doing it this way
  - I can start and stop the persistant client without dropping the router
  - That bit is currently working and I'm not at a point where I feel like 'fixing' it.
 
--
Adam.
 

From: Darius Clarke [mailto:[hidden email]]
Sent: Thursday, 11 September 2008 2:33 PM

To: [hidden email]; Thomas, Adam
Subject: Re: [croquet-dev] Problems with creating a CroquetPartipiantWithMenu

Can we start with the simplest case and work up from there?
 - Let's just get two worlds to hook-up peer to peer.  

Also, is there a reason you run the router as a separate process from the persistent client?

Cheers,
Darius
 

-----------------------------------------------------------------------

This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.

-----------------------------------------------------------------------


Reply | Threaded
Open this post in threaded view
|

RE: Problems with creating a CroquetPartipiantWithMenu

Thomas, Adam
Hey,
 
If I create an instance of CroquetParticipant rather than CroquetParticipantWithMenu I can connect to the router from various machines simultaneously and they all work first time. We have had a session with my Linux and Windows machines and even another Windows machine running on a separate campus (over our fibre based WAN) all connected and walking around in SimpleWorld.
 
The hardware on the router is very capable (duel core 2.8GHz Pentium D, 1GB RAM) . It's the same as what's running my Linux machine which can run two participants with no hassle.
 
Running two instances on the same Linux machine and conecting via 'portal to' works as expected.
 
--
Adam


From: Darius Clarke [mailto:[hidden email]]
Sent: Thursday, 11 September 2008 3:34 PM
To: [hidden email]; Thomas, Adam
Subject: Re: [croquet-dev] Problems with creating a CroquetPartipiantWithMenu

Ok. I'll try to simulate this with VMWare copy of Ubuntu on my Windows PC. 

When you say the independent router setup is working, does that mean it all works in Windows ... or another configuration? 
I didn't mean to sound critical. There could be reasons like firewall and leveraging certain servers for optimizing CPU, etc. 

Does Linux to Linux work w/o locking on the first frame?

Are you referring to Andreas' Jun 2006 posts?

Cheers,
Darius
_____________

On Wed, Sep 10, 2008 at 10:00 PM, Thomas, Adam <[hidden email]> wrote:
Hi Darius
 
Running the two copies of cobalt on either one of my machines works fine. I can open the worlds by dragging the cobalt icon and then (on one client) open a portal to the other world using the 'place>link to>portal to' menu option.
 
If I try and connect my Windows machine to me Linux machine using the 'portal to', I can create the portal but the Linux client locks up after one frame. I can't even create a portal to the Windows machine from my Linux machine. That's another oddity I hope to work out but isn't currently a priority.
 
If I run the router and the participant on my Windows machine I get the stepping problem.
 
As far as running the router and the persistant client as separate procceses go:
  - there was slightly more documentiation (an newsgroup post) on doing it this way
  - I can start and stop the persistant client without dropping the router
  - That bit is currently working and I'm not at a point where I feel like 'fixing' it.
 
--
Adam.
 

From: Darius Clarke [mailto:[hidden email]]
Sent: Thursday, 11 September 2008 2:33 PM

To: [hidden email]; Thomas, Adam
Subject: Re: [croquet-dev] Problems with creating a CroquetPartipiantWithMenu

Can we start with the simplest case and work up from there?
 - Let's just get two worlds to hook-up peer to peer.  

Also, is there a reason you run the router as a separate process from the persistent client?

Cheers,
Darius
 

-----------------------------------------------------------------------

This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.

-----------------------------------------------------------------------


 

-----------------------------------------------------------------------

This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.

-----------------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
Hi,

Since the persistent participant is not running a harness, perhaps CroquetParticipantWithMenu has a call to the non-existent harness which CroquetParticipant might not. Could you check for that? I'll check as well. 

Cheers,
Darius
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
Hi Adam,

I've run your setup purely in Windows with separate router, persistent client, and CroquetPartipiantWithMenu participant client all in Simple World. This seems to work in this setup. So, my original guess about a harness call was wrong.
Does CroquetPartipiantWithMenu participant client work for you in a pure Windows setup?

If so, I'll need to try it in Linux next.

Cheers,
Darius
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
Hi Adam,

Ok. I've experienced the jerky screen refresh problem on a second participant client in the SimpleWorld. When one client was CroquetPartipiantWithMenu and one was CroquetPartipiant, they worked smoothly together.

I'm looking at this some more.

Cheers,
Darius
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Darius Clarke
I'm out of steam tonight. 
I'll look at it tomorrow. 
Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

John Dougan
In reply to this post by Thomas, Adam
Hey there,

I've been talking with Darius about your problem, and it's got me
confused and I have no time at the moment to deconfuse myself.

I can see what you describe.  So I tried a different approach where I
started up a cobalt session, got the session id and port and pasted
those into my second image, where I ran your  client-menu script. After
a delay it worked just fine.  I then did the same process starting with
a SimpleDemoWorld demo and got the original broken behavior.   I'm not
terribly surprised that the demos aren't working that well in cobalt,
we're changing things around and they're going to be replaced with newer
demos that are based on the cobalt browser app.

Maybe you could try your demo from starting a Cobalt session hacked up
to use a fixed port and sessionId? I'm going to have to spend some time
seeing what s going on, but I'll observe that the
CroquetParticipantWithMenu approaches have somewhat more complex
startups than the CroquetParticipant ones and I can easily see that
tripping it up.

Cheers,
 -- John

Thomas, Adam wrote:

> Hi list,
>
> I've been working with the Croquet SDK v1.0 and Cobalt v0.01 builds for
> use in the Canberra Institute of Technology. Because we are
> collaborating over multiple network segments and over the Internet with
> another Institute we have a need to deploy a Croquet server in our DMZ.
> I have followed the examples in the '06.04.14 Croquet Programming
> 1.0B.pdf' file from the Croquet SDK build to develop the router and
> participant scripts.
>
> I'm currently stuck trying to update the participant script to use the
> new CroquetParticipantWithMenu class. Running the script in the
> CroquetSDK build generates errors on Mouse Enter events and locks up the
> VM. Opening the script in the Cobalt build connects to the router and
> opens the island but nothing happens unless I click the mouse on the
> squeak desktop. Every time I click on the desktop the Croquet window
> updates. I know it's connected to the router and receiving updates
> because I can have another participant walk in front of my avatar and
> next time I click on the desktop I can see the other participant.
>
> For further info on my current setup see
> http://eduversal-studios.wikispaces.com/CIT
>
> Any tips on how to initialise the participant correctly would be greatly
> appreciated.
>
> Here is my current participantwithmenu.st script:
>
> participant := CroquetParticipantWithMenu new.
> participant setup.
> harness := participant harness.
>
> participant position: 50@50.
>
> address := '161.50.19.254'.
> port := 8080.
> id := TObjectID readHexFrom: '35396f525945454344427a696f436c4c'.
>
> controller := TSimpleController new.
> controller connectTo: address port: port sessionID: id.
> p := controller login: 'guest' password:  'guest'.
> p wait. "until connected"
> p := controller join.    "receive messages"
> p wait. "until joined"
> p := controller sync. "request replicated state"
> p wait.    "until sync-ed"
>
> controller install: p result.
> island := controller island.
>
> controller beServer.
> controller heartbeat: 20.
> harness addController: controller.
>
> entry := controller island future at: #masterSpace.
> pc := entry future postcard.
>
> pc whenResolved:[
>  harness addIsland: island postcard: pc value.
>  sync := harness  viewPortal future postcardLink: pc value.
>  sync whenResolved:[
>      harness startRender.
>      participant openInWorld.
>  ]. "ready to render"
> ].
>
> --
> Adam Thomas.
>  
> -----------------------------------------------------------------------
> This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.
> -----------------------------------------------------------------------
>
>  

--
John Dougan
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Problems with creating a CroquetPartipiantWithMenu

Tapple Gao
In reply to this post by Darius Clarke
On Wed, Sep 10, 2008 at 09:35:54PM -0700, Darius Clarke wrote:
> And, yes, the version string probably needs updating. :-)

SystemVersion newVersion: 'Cobalt0.1alpha'

At least if you use the squeak version naming convention

--
Matthew Fulmer -- http://mtfulmer.wordpress.com/