|
https://web-beta.archive.org/web/20070630174916/http://www.ece.uwaterloo.ca:80/~broehl/vrml/lnvj/cdrom/software/sony/SERVER/BRE20B1B.EXE Community Place Bureauをついに見つけた!.. ですがV2.0βのためか接続に失敗して使い物にならない結果に。 グヌヌ... Community Place Bureau World Location Server (WLS)と Community Place Bureau Worldが別物の可能性も。This server will allow you to share VRML1.0 and VRML2.0 worlds using the
Community Place VRML2.0 browser. Sharing a world is simple, you need to add
one line to an existing VRML1.0 or VRML2.0 world file which will tell the
Community Place browser where the world server can be found on the 'net.
You then run the server on a PC of your choice and anybody loading the
VRML1.0 or VRML2.0 file into a Community Place browser will be automatically
connected to the shared world.
When connected, users can see avatar representations of other users, use
a simple chat facility to talk to each other and, if you set it up,
express a little emotion with our avatar action panels.
So why are we telling you this here? Because the use of a Community Place
Bureau server running on your PC will not only allow you to share
scenes, but it will allow you to share behaviours as well! Sounds
fun, it is; shared animation, games, collaborative tools and a host of
other 3D ideas are trivial to build if you have the desire.
Download the server
-
Download
a Community Place Bureau test version for Windows95/NT.
- The Bureau install package includes an ascii text configuration file named
cpbureau.conf whose parameters like port and password you may wish to modify.
- If you have the server, go to How do I use it.
There are two parts, running the server and connecting a client.
Running the server
The Win95 server is a simple Community Place Bureau server that runs
under Windows95. You simply download it and start it up. The server has a
simple menu bar allowing you to control it. When you first bring up the
Bureau program, it is in the stopped state. Pull down the View menu and
click on the Status option. A small status window will be displayed with
information about the server status, i.e. stopped or running, connected users,
and the port the server is listening on.
The server starts up at a well known TCP port (5126). To change this,
pull down the Options menu and select Port. You will be prompted
for a new value. Choose any port number greater than 5000. If you are
unsure which port to use, leave it at the default value.
Next, pull down the Run menu and select Start, the server will now start
listening for connections at the port specified. In the status window,
the status will change to Running.
The server is now waiting for Community Place browsers, or "clients" to
connect. Once a client connects to the server port, the server handles
everything, it tracks a user's location and avatar, telling other browsers
about this visitor, it passes chat
messages, and it handles everything needed to support shared
behaviours.
The status window will also be updated to show any connections. It's a
good idea to leave the status window open to see who is connected and
if the server is running OK.
Connecting to the server
To connect to a server you need to do two things, tell the browser to
connect by prototyping and adding a Sony_WorldInfo node to your VRML 2.0
file and by providing at least one avatar so that people can see each
other.
Adding the server information to the VRML file
This information is read in by the Community Place browser when it loads
your VRML file. At minimum, you must add the "cpBureau" (previously VsServer) line
to define the internet address location of the machine that
is running your Community Place Bureau server and the port on which that server is listening
for conenctions.
The format for the Sony_WolrdInfo PROTO is as follows:
PROTO Sony_WorldInfo [
field MFString archive []
field SFInt32 armLength -1
field SFBool avatarRoom FALSE
field SFInt32 backgroundImageType 0
field SFString cpBureau ""
field SFString cpBureauWLS ""
field SFBool collisionSound TRUE
field SFBool collisionDisplay TRUE
exposedField SFBool turnButtonAvailable TRUE
exposedField SFBool floatButtonAvailable TRUE
exposedField SFBool homeButtonAvailable TRUE
field SFInt32 soundDeviceRate 22050
field SFInt32 soundDeviceBits 8
]{}
You will next need to instantiate the PROTO node in similar manner to the example given following:
Sony_WorldInfo {
armLength 5
avatarRoom TRUE
cpBureau "fred.research.sony.com:5126"
}
The hostID should be the full internet name of the machine
either as an ascii name, eg fred.research.sony.com or as an IP
address, eg 123.231.12.1
The port is the number that you choose when starting the server
as discussed above.
NOTE: Other useful Sony PROTO nodes are described in the document named exten-e.htm
which was included with your Community Place browser download.
The avatar file
When Community Place connects to a server, it will tell the server the
name of the avatar it is using. The server uses this information to
tell other browsers which avatar to use to represent you when they
meet you in Cyberspace. You don't need to worry about the details at
this moment. All you need to do is ensure that an avatar VRML file is
available to the Community Place browser when it loads your world.
When Community Place reads your world file, it will search in the
directory where you placed the world file, and look for the directory
avtimg where it expects to find the image files for avatars.
Image files are used to
display a small avatar icon in the avatar choice menu in the browser.
So, you have to make avtimg sub directory under the directory in
which your main VRML world file resides.
The following self extracting archive file contains images for the
default avatars also offered for download below. This archive, when
uncompressed into the directory where your main VRML world file resides,
will automatically create a sub directory named avtimg and copy the avatar image files into that sub directory.
Now you can select an avatar from the browser pulldown menu (or by right
clicking your mouse inside the Community P plug-in window). When you
select
one of the avatars, the browser will look for it's geometry file in a
sub
directory named avtwrl under your world directory where the actual model files for
the avatar are kept.
So, you must also make an avtwrl sub directory under your VRML
world maindirectory
and place within it the files contained in the following self extracting
archive. Note: when you use this self extract utility to uncompress
avatar geometry files into the directory where your main VRML world file
resides, the /avtwrl sub directory will be created and populated
automatically.
In conclusion; to allow people to share your VRML file. Start the
server running, add the VsServer WorldInfo node to your VRML file, and create
avtwrl and avtimg directories with the necessary files.
After that all you need to do is tell people to load the world you've
created and they will automatically connect to your server.
We've provided these two avatars for you to use to get started. Of
course, you can set up any avatars you like for your users. The
browser doesn't care. Feel free to edit or replace boy and girl.
NOTE: Please see the documents named avatar-e.htm and action-panel-e.html which were included
with your Community Place browser download package for information on how to configure your
own avatar files for multi-user VRML 2.0 support.
Lastly, a note on how you serve your world and avatar files.
There are two approaches:
- In one approach, you package up the world, avatar files, and
any sound and script files using some sort of archive utility.
Place this on your web server and you let people download it. Users
then load the files from their local disk and connect to your Bureau server.
- A second approach is to keep the files on the web server and
allow people to load them dynamically. In this case, they will
download your file from the web server, connect to your Bureau server,
and then when they disconnect, the file will be lost. Next time they
want to join your world, they will go back to your web server and
reload the file. This is the same approach most people are familiar
with for HTML docs.
There are pro's and con's for both approaches. The first approach
works well if the worlds are complex, large and unlikely to
change. The second approach works well if the worlds are less complex
(or use VRML in a clever fashion) and change a lot. Contact us if you
would like more advice on this issue.
Testing the server
To test that the server is running, do all of the above and then
start two Community Place browser windows on the same machine. Load your
VRML world file in each of these browser windows.
If you have properly followed the steps given above, the two browsers
will connect to the server and will be able to see each other's avatars.
After that, all you need to do is tell users about the location of
your new world and when they download and connect they too will
share.
Problems
There are several things that can go wrong, here's a few common mistakes.
- When you first test the world and the server with 2 browsers
on the same machine as the server:
- if the browser fails to connect to the server, then either
the server isn't running, or you've got the address:port wrong. You
will know you've connected because an info window will appear saying
the browser has connected, and the status panel of the server will
register the new connection.
- if you connect but don't see the other avatar, first make
sure both browsers are viewing the same part of the scene, for
performance reasons the server only tells one browser about other
users in the same area. If you navigate both browsers to the same
location and you don't see each other, then it's possible that you've
forgotton to place the avatar files.
- When you test the browser and the server on different machines:
- if the browser fails to connect, then it's possible that your
server machine is not reachable from your browser machine. This is a
network configuration problem and may need a system administrator to
help out. The server needs to be run on a machine that is accessible
to the client machine. The client can run through a firewall but will
not find a server hidden behind another firewall.
- If you know that the server is on an internet reachable (or is
reachable from your client) machine then if you suspect that the
client is behind a firewall, use the preferences panel in the pull
down menu of the cyberpassage browser to tell the browser where the
nearest socks host is.
Restrictions
There are a couple of restrictions with this release of the
server. First, it will expire on 1 October '97, after which you must
download a new release. Second, the server is restricted to
support a maximum of 12 connections. The publically accessible servers
that we maintain to support Circus Park and other multi-user worlds allow
many more connections. However these servers operate on well
connected workstation nodes. Our experience has shown that most people who set up
a PC server tend to do so on low powered machines with limited
internet connections. In such a case overall system performance is poor
ruining the experience for most users.
If you are interested in running a larger server, please contact us.
もちろん逆コンパイルして新たなサーバーソフトを作るのは簡単のはず。
Action panels
You may have noticed that our publically shared worlds, such as Circus
Park, offer an action panel. You can add these to your shared worlds
with a little extra work. Mainly this consists of copying and setting up
the required files in the same directory as your source VRML2.0 file.
Shared Behaviours
The scripting language used by the Community Place browser is Java. This is what
we use to create animated objects. The shared worlds like Sony
Circus Park contain active objects that are scripted using Java and a
set of simple shared behaviour extensions to VRML 2.0.
If you play around in the worlds we've created you'll notice some
objects animate themselves without your clicking them. This is probably
because they are shared among all browsers in the world and somebody
else has clicked on the object. You can check this out by meeting a
friend in Cyberspace, clicking an object and asking her if she sees it
animated.
If you know how to write e-VRML behaviors, or VRML2.0 Java behaviors,
then you can use the Sony extensions to write shared behaviors.
If you are interested in running your own server to support your own
shared world and wish to know how to build shared behaviours, please
contact us.
|
|