[Bcc to ralph]
On Apr 15, 2007, at 9:34 AM, Ralf Plomann wrote: > Hello, > i played around the last couple of days with the collaborative. > > I have a two questions...burning :-) OK, but first some qualification to the use of the term "server." CroquetCollaborative.org runs a conventional Web server and application (Apache, PHP, etc.) for the conventional Web site. The core Croquet model runs the same 3D simulation directly on each participating machine. This is different from 3D MMORG environments in which the simulation runs only on a server which notifies each client of the results. However, all the Croquet communications does run through a single "router" per "world". The router merely authenticates and time stamps messages and distributes the messages to each participant, without actually executing the messages. The Collaborative runs 13 routers, multiplexed through a single "dispatcher" (so that only one TCP port is used). This dispatcher is on the same box as the Collaborative's Web/application servers. (See http://opencroquet.org/index.php/The_Core_Model) Croquet also has other mechanisms. The Collaborative currently handles all media (pictures, movies, sounds...) though a Croquet router so that it is basically acting as a media server, but it could be distributed over a peer network. (See http://opencroquet.org/ index.php/Off-Island_Resources) When you first join a simulation in progress, you need to get snapshot of the memory associated with that simulation. Croquet is designed so that any participant could supply that. However, upload bandwidth of most participants are limited by their ISP, and there isn't enough usage to ensure that there's always someone connected to supply the current definition. So we think that the purpose of the Collaborative is best served by providing a machine that is connected to each of the fixed set of current Collaborative worlds at all times. We call this a "continuity server". The Collaborative uses the same box for that, too. (Some early Croquet papers used the term "interactivity server" to encompass the combined functionality -- if not the implementation -- of the router, media network, and continuity server.) In addition, the Collaborative also runs VNC (aka RFB) servers, and an additional specialized lightweight server for launching new VNC server processes. We run that on the same box, too. So it is certainly fair to say that the Collaborative is running a server box, in many senses of the word. But it is probably inaccurate, and certainly imprecise, to say that there is a "Croquet server" involved. > > - Can you please tell me what's the internet connection speed of > your croquet collaborative server right now? > (I am thinking of setting up a little own server in Germany) Supranet is a very community-spirited commercial hosting-service in Madison, WI. They have allowed us to place our machine in their racks, and to connect to their pipe through a governor that can limit our bandwidth to 1 Mbps. When I get chance and notice no one connected, I'll run a test from the box to measure (e.g., visiting http://www.testmy.net/ from the box). > > - is it possible to run a collaborative server from shell/ > commandline e.g. for hosted servers without x-windows? Yes. The Unix VM's for Squeak/Croquet allow command-line and script file operation, and can be told to start up without using any display. (We call that "running headless.") The box DOES actually have X-windows, which I find convenient for maintenance. For example, I can start up normally in a VNC session and interact directly with the debugger. However, this box does not have OpenGL or OpenAL support, so I can't really run Croquet graphics. That is, I have to do "command line" sort of stuff within Squeak when I want to run Croquet on that box. The command used to start the Collaborative continuity server is: ...path.../squeak -headless path-to-startup-script.st The startup script for the Collaborative is, essentially: KMessageRouter runRouters: 5910 serverName: 'user-name-for-continuity-server' serverPassword: 'password-for-continuity-server' log: false. KHarness := KStandardHarness new defaultErrorHandler: #resetRouter:; setupUser: 'user-name-for-continuity-server' password: 'password-for-continuity-server' entryWorld: WisconsinWorld address: '127.0.0.1' port: 5910. KHarness syncAllWorlds. For our goals, we find it convenient to run things as an rc.d daemon, and we also do some additional logging and maintenance stuff. Our host asked us to run FreeBSD on the box, because they knew and trusted it for single use and for scaling if need be. But the Unix squeak VM folks don't normally compile for FreeBSD. I used Squeak-3.9-7. The file platforms/unix/src/plugins.ext was modified by removing UnixOSProcessPlugin because I couldn't get it to build otherwise. Not all of the Croquet VM tests pass. In particular, socket reuse and FFI does not pass. > > Greeting, > Ralf > > > -------------------------------- > http://www.appare.de Ah, so you're the guy who's been importing stuff made in Blender. Well done! |
Free forum by Nabble | Edit this page |