user := UIManager default request: 'Enter user name' initialAnswer:'guest'. pass := UIManager default requestPassword: 'Enter password for ', user storeString. participant := CroquetParticipant new. participant setup. harness := participant instVarNamed: 'harness'. "Eeek!" address := NetNameResolver addressForName: 'croquet.blagblagblag.org'. id := TObjectID readHexFrom: '35396f525945454344427a696f436c4c'. controller := TSimpleController new. controller connectTo: address port: 8080 sessionID: id. p := controller login: user password: pass. p wait. "until connected" p := controller join. "receive messages" p wait. "until joined" p := controller sync. "request replicated state" p wait. "until sync-ed" p result ifNil:[ island := controller newIsland. island future id: id name: 'Test'. sync := island future new: SimpleWorld. ] ifNotNil:[ controller install: p result. island := controller island. ]. controller beServer. "act as server" controller heartbeat: 20. "set heartbeat rate" 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" ].