DeepMatrix 3D multi-user system: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
 
(35 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Stub}}
{{Stub}}
{{X3D tutorial|none|beginner|}}
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">X3D tutorials</categorytree>
== Introduction ==
== Introduction ==


Line 9: Line 11:
DeepMatrix was originally developed by a team led by Gerhard Reitmayr from the now-defunct Geometrek.com site in the late nineties. This project in turn was based on the VNet EAI applet by Steven White and [http://www.ist.rit.edu/~jxs/ Jeff Sonstein].
DeepMatrix was originally developed by a team led by Gerhard Reitmayr from the now-defunct Geometrek.com site in the late nineties. This project in turn was based on the VNet EAI applet by Steven White and [http://www.ist.rit.edu/~jxs/ Jeff Sonstein].


The new version seems to work better and has additional features. Active project when last checked in Sept. 2010 - [[User:Daniel K. Schneider|Daniel K. Schneider]]
Current status: The new version is being developed by Russ Kinter, seems to work better and has additional features. However, it still is under development, i.e. some versions may or may not work depending on your system.  DeepMatrix was an active project when last checked in Sept. 2010 - [[User:Daniel K. Schneider|Daniel K. Schneider]]


== Short how to ==
== The system ==


So far '''I did not manage to run server and client properly'''. E.g. as of sept. 8, there is a bin/instantreality.jar archive missing in the Instant reality distribution for Ubuntu (I took the one found in the windows distribution). Servers seem to start up properly, but the clients can't connect. In addition, default configuration files won't work, e.g. server and client port numbers do not match.
=== Overview ===


The only program that ran properly was the Windows public client (the difference between local and public are just server and port numbers in the configuration files). It did connect to a remote VRML (or X3D) world.
According to the  [http://www.deepmatrix.org/documentation/README.html#FAQ FAQ] (retrieved 19:07, 15 September 2010 (CEST)), Deepmatrix {{quotation|is a system that allows different individuals to participate, inter-act and share together in realtime computer simulated 3D environments that are usually called "worlds". The individuals appear as computer generated images to other users sharing the same world. Users communicate by both typing messages and using shared events where the same animation can appear almost simultaneously on the users' computers.}}
 
It has three components:
# The application that generates the 3D images, i.e. an VRML/[[X3D]] client. At the time of writing "Instant Player" from
# The '''Deep Matrix client''' that does the networking. Instant Player and Deep Matrix commuicate with each other using the ''External Authoring Interface'' or "EAI".
# The "Deep Matrix server", the hub that unifies all the users on the network.
 
Both the Deep Matrix client and server are open source and programmed in Java.
 
[[image:deepmatrix-1.04-screenshot.jpg|thumb|800px|none|Screenshot of the DeepMatrix 1.04 client (below) and Instant Reality player (on top)]]
 
=== Building worlds and sharing objects ===
 
Read both:
 
* [http://www.deepmatrix.org/documentation/worlddeveloper.html World Developer Information] (Making Your World Multi-user in Deep MatrixIP9).
 
* [http://www.deepmatrix.org/documentation/avatar_sharedobjects.html Avatars and Shared Objects]
 
== Short installation notes for version 1.04 ==


=== Prerequisites ===
=== Prerequisites ===
Firstly, you must install Java (if needed) and the Instant Reality player


; (1) Java 1.6 or higher (as of Aug. 2010)
; (1) Java 1.6 or higher (as of Aug. 2010)


; (2) Install the '''very latest''' Instant Reality X3D/VRML player  
; (2) Install the '''very latest''' Instant Reality X3D/VRML player  
: Find your version in the [ftp://ftp.igd.fraunhofer.de/irbuild/ FTP] archive. Be careful to select the player and very right version
: Find your version in the [ftp://ftp.igd.fraunhofer.de/irbuild/ FTP] archive of Instantreality.org. Be careful to select the right version of the player for your system.
: e.g. File InstantReality-Ubuntu-10.04-x86-XXXX.deb File] for a typical 32-bit 10.04 LTS "Lucid Lynx" install of April 2010.
: e.g. ''File InstantReality-Ubuntu-10.04-x86-XXXX.deb File'' for a typical 32-bit 10.04 LTS "Lucid Lynx" install of April 2010.
: or file Windows-x86_64/InstantReality-Windows-XXXX-2.0.0.20206.msi for Vista/Win 7 64-bit versions.
: or file ''Windows-x86_64/InstantReality-Windows-XXXX-2.0.0.20206.msi'' for Vista/Win 7 64-bit versions.
 
Do '''not''' install the "official" public Instant Reality player you can find on the [http://www.instantreality.org/home/ Instantreality] web site. Get the latest version.


Do '''not''' install the "official" public version you can find on the [http://www.instantreality.org/home/ Deep MatrixIP9] web site.
; (3) Special remarks concerning Ubuntu


Installation under Ubuntu. Save the *.deb file then use ''dpkg'' to extract and install the archive, e.g.
Skip this if you only wish to run the server under Ubuntu.
 
* Save the *.deb file then use ''dpkg'' to extract and to install the archive, e.g.
  dpkg -i InstantReality-Ubuntu-10.04-x86-2.0.0.20235.deb
  dpkg -i InstantReality-Ubuntu-10.04-x86-2.0.0.20235.deb
It will be installed in /opt/instantReality/
It will be installed in /opt/instantReality/
Your also may have to install missing dependencies manually (I did, but then I messed around with other stuff beforehand ...).
apt-get install libboost-all-dev
apt-get -f install


=== Windows Vista / 7 ===
* As of sept. 8, there is a missing '''bin/instantreality.jar''' archive in the Instant reality distribution for Ubuntu. I took the one found in the Debian distribution, but you also may try to use the one distributed for Windows (it's Java code that should run under any OS). This problem is fixed for the 64-bit version as of Sep 20 2010 (and will be soon for the 32-bit).


(for version 1.03, downloaded sept. 8 2010)
=== Windows 7 ===
 
(for version version 1.04, downloaded sept. 15 2010, running under Windows 7-64bit with a 32-bit Java 1.6.0_21)


; (1) Install the prerequisites (above)
; (1) Install the prerequisites (above)
: Remark: On my Windows 7 I had to fix the path to include Java (first time since Win95 ....)
: Remark: On my Windows 7 I had to fix the path to include Java (first time this happened since Win95. If you don't know about fixing a path, read about [[Environment variable]]s and how to set the ''path'' variable)
 
I have just discovered that the 64-bit JRE automatically writes the path variable on Windows 7, so it is best to install both the 64 and 32 bit JREs (for the default 32-bit Internet Explorer) -R.K.


; (2) Download and install the DeepMatrix MU server from [http://www.deepmatrix.org/Downloads.html deepmatrix.org] or [http://sourceforge.net/projects/deepmatrix/files/ Source Forge]
; (2) Download and install the DeepMatrix MU server from [http://www.deepmatrix.org/Downloads.html deepmatrix.org] or [http://sourceforge.net/projects/deepmatrix/files/ Source Forge]
: Dezip the archive to c:\DeepMatrixIP9-v1_03
: Dezip the archive to c:\DeepMatrixIP9-v1_04
: If not, you will have to fix the file paths in several bat files. See the next step
: If not, you will have to fix the file paths in several bat files. See the next step


; (3 - optional) Fix the path in the bat files if needed.
; (3 - optional) Fix the path in the bat files if needed.
: Replace "DeepMatrixIP9-v1_03" by "soft\deepmatrix" in '''all''' the bat files
: Replace the path of "DeepMatrixIP9-v1_03". E.g. if this directory sits in subdirectory called ''c:\soft'' then replace "DeepMatrixIP9-v1_03" by "soft\deepmatrix" in '''all''' the bat files.
 
; (4) configure
In order to run both client an server on the same machine, keep something like the following:
* In file ''client_application/win_local_matrixclientrc''
# self explanatory
port 7744
# start room
Room Matrix
# Target host IP
Hostname 127.0.0.1
# Hostname 71.173.213.175
localbrowser 127.0.0.1
localport 4848
 
* In file ''server_application/matrixrc''
# port has to match client port parameter!
port 7744
 
'''Pay attention to this''':
* ''localport'' (e.g. 4848) must be different from ''port'' (e.g. 7744)
* ''port'' in files win_local_matrixclientrc'' and ''matrixrc'' must match (e.g. 7744)
* Only define a single ''Hostname'' (in the distro, there are two, I commented one)


; (5) Use
; (5) Use it
* open the DeepMatrixIP9/server_application  folder, double click the '''DeepMatrixIP9Server.bat''' file and give the server time to finish starting up.
* open the DeepMatrixIP9/server_application  folder, double click the ''DeepMatrixIP9Server.bat'' file and give the server time to finish starting up.
* open the DeepMatrixIP9-v1_01/client_application/Win_Local_Client folder and double click the ''DeepMatrixIP9_MU_Local_Client.bat''' file
* open the DeepMatrixIP9-v1_01/client_application/Win_Local_Client folder and double click the ''DeepMatrixIP9_MU_Local_Client.bat'' file


If everything goes well, the server will listen on port 7744. Else, open a shell (command prompt), cd to the directories and type the *.bat files
If everything goes well, the server will listen on port 7744. Else, open a shell (command prompt), cd to the directories and type in the *.bat files, e.g.
cd c:\DeepMatrixIP9-v1_03
cd server_application
DeepMatrixIP9Sserver.bat
Then do the same with the client, i.e. open another command prompt. This way you can see both the server and the client's error messages ...
 
Example of a client error message:
Trying to connect to browser: 5 vrml.eai.ConnectionException: Not a Hermes Event - /127.0.0.1:4848


=== Ubuntu ===
=== Ubuntu ===


(for version 1.03, Aug 2010)
(for version 1.04, downloaded Sept. 11 2010)


; Download the whole package
; (1) Download the whole package
* Get [http://www.deepmatrix.org/downloads/DeepMatrixIP9-v1_03/DeepMatrixIP9-v1_03.zip V1_03] from the [http://www.deepmatrix.org/downloads/ Downloads]
* Get [http://www.deepmatrix.org/downloads/DeepMatrixIP9-v1_03/DeepMatrixIP9-v1_04.zip V1_03] from the [http://www.deepmatrix.org/downloads/ Downloads]. Fastest way is to use ''wget'' in a server console.
wget http://www.deepmatrix.org/downloads/DeepMatrixIP9-v1_04/DeepMatrixIP9-v1_04.zip


;(2) Read the [http://www.deepmatrix.org/documentation/ documentation] (Remark: As of sept. 8 the documentation button in the [http://www.deepmatrix.org/ homepage] was broken ...)
;(2) Read the [http://www.deepmatrix.org/documentation/ documentation] (Remark: As of sept. 8 the documentation button in the [http://www.deepmatrix.org/ homepage] was broken ...)


;(3) Unzip the archive into a folder /opt/DeepMatrixIP9-v1_03 and fix permissions
;(3) Unzip the archive into a folder /opt/DeepMatrixIP9-v1_04 and fix permissions
* Folder name should be precisely /opt/DeepMatrixIP9-v1_03/, else you'll have to change the sh scripts. Remark: Using such fixed pathes in a shell script is a bit strange, probably the developer is used to Windows.
* Folder name should be precisely /opt/DeepMatrixIP9-v1_04/, else you'll have to change the sh scripts.  
  sudo mkdir /opt/DeepMatrixIP9-v1_03
  sudo mkdir /opt/DeepMatrixIP9-v1_04
Then unzip, e.g. type
Then unzip, e.g. type
  unzip -d /opt/DeepMatrixIP9-v1_03/ the_zip_file.zip
  unzip -d /opt/DeepMatrixIP9-v1_04/ the_zip_file.zip


;(4) Make the shell scripts executable
If you installed as root, you also could chown all files to yourself (since some files may need editing). It's also better security, to run a server with a non-root ID.... as your like
 
;(4) Make the shell scripts executable and chown the files
Make sure that you fix at least the three following ones (but there may be more ...)
Make sure that you fix at least the three following ones (but there may be more ...)
   
   
Line 76: Line 142:


Therefore it's a better idea to make them all executable with the following find command
Therefore it's a better idea to make them all executable with the following find command
  find /opt/DeepMatrixIP9-v1_03 -name "*.sh" -type f -exec chmod 775 {} \;
  find /opt/DeepMatrixIP9-v1_04 -name "*.sh" -type f -exec chmod 775 {} \;


; (5) Fix hostname and the port numbers
; (5) Fix hostname and the port numbers
* Ports in server and client must match ... and they probably don't! Fix the files ''client_application/win_local_matrixclientrc'' and ''client_application/win_public_matrixlcientrc'', then ''server_application/matrixrc''. There is no difference between the configuration of a linux and a windows client.
Ports in server and client configuration files must match ... and they probably don't! Fix the following files:
  localport XXXX
* ''client_application/win_local_matrixclientrc''
* Also, there should be only one hostname (yours)
* ''server_application/matrixrc''
  hostname XXXX
 
There is no difference between the configuration of a linux and a windows client. If you use the same machine as server and client, do something like this:
 
* Change the target host name and port in file  ''/opt/DeepMatrixIP9-v1_03/client_application/win_local_matrixclientrc''
  port 7744
Hostname 127.0.0.1
 
If you have a fixed IP number (like I do), you also can use it (instead of the IP for localhost (127.0.0.1)
Hostname your.fixed.ip.number
 
* Client local port (to connect to the player)
  localport 4848
: If you use another portname also fix file ''Screen.x3dv''
port 4848
 
* Verify in file ''/opt/DeepMatrixIP9-v1_03/server_application/matrixrc'' that the port matches the port in the client file.
port 7744
 
Finally, you may have to adjust the script that connects to Deepmatrix author's demo server
* ''client_application/win_public_matrixlcientrc''


; (6) Fix case of file and directory names (if needed)
; (6) Fix case of file and directory names (if needed)
Developer works with windows and may overlook case.....
The developer works with windows and may overlook case.....
 
To figure out which ones, look at the log file ''/opt/DeepMatrixIP9-v1_03/server_application/matrix_log'' or look at the error messages that appear when the server starts (see next point).
 
Rename at least the following directories and file names
mv server_application/matrix server_application/Matrix
mv server_application/Matrix/matrix_Objects.txt server_application/Matrix/Matrix_Objects.txt
mv server_application/blacksun server_application/Blacksun
mv server_application/Blacksun/blacksun_Objects.txt server_application/Blacksun/Blacksun_Objects.txt
mv server_application/chess server_application/Chess
mv server_application/Chess/chess_Objects.txt server_application/Chess/Chess_Objects.txt
mv client_application/world/Avatars/charlene2.wrl client_application/world/Avatars/Charlene2.wrl
 
Maybe (?): Quote the last line from file ''server_application/matrixrc''. There is no Seven_Emerald_Tablets.


Top figure out which ones, look at the log file ''/opt/DeepMatrixIP9-v1_03/server_application/matrix_log''
or look at the error messages that appear when the server starts (see next point).


;(7) Start the server (otherwise you also can use a public server somewhere else ...)
;(7) Start the server (otherwise you also can use a public server somewhere else ...)
  /opt/DeepMatrixIP9-v1_03/server_application/Linux_DeepMatrixIP9Server.sh &
Open a new terminal under your name, then runit
  /opt/DeepMatrixIP9-v1_04/server_application/Linux_DeepMatrixIP9Server.sh &
You should see something like:
You should see something like:
  ........
  ........
Line 97: Line 194:
  9/8/10 5:10:28 PM main : MatrixD listening on /127.0.0.1:7744
  9/8/10 5:10:28 PM main : MatrixD listening on /127.0.0.1:7744


; (6) Run the client
; (8) Run the client
  /opt/DeepMatrixIP9-v1_03/client_application/Linux_Client/Local_Linux_Client.sh
Again, I suggest to run the client under your name
  /opt/DeepMatrixIP9-v1_04/client_application/Linux_Client/Local_Linux_Client.sh
 
=== Configuring a client and server on different machines ===
 
This is for both Windows and Linux.
 
(1) On your client machine'''s''', edit files ''client_application/win_public_matrixclientrc'':
 
* Use the port parameter you defined for your server, e.g. port 7744 and change the host IP number.
# self explanatory
port 7744
 
# Target host IP
Hostname XXX.YYY.ZZZ.XXX
 
(2) On your server machine, edit file ''server_application/matrixrc'':
 
serverIP XXX.YYY.ZZZ.XXX
waitingConnections 20
 
Of course, serverIP must match host Hostname in file ''win_public_matrixclientrc''
 
=== Open issues ===
 
==== Ubuntu Instant Player sep 10 2010 ====
 
The Ubuntu Instant Player client can't display H-amin nodes, i.e. you will see grey boxes instead of the avatars.
 
'''This bug is fixed (in principle) in release InstantReality-Ubuntu-10.04-x64-2.0.0.20279.deb'''. A fixed 32-bit version is for any time soon - 13:14, 20 September 2010 (CEST)
 
Trace in the linux client shell window:
 
./Linux_Client/Local_Linux_Client.sh
......
 
RTH addConsumer bAvatar is false
libavalonHAnimNodePool.so: cannot open shared object file: No such file or directory
libavalonHAnimNodePool.so: cannot open shared object file: No such file or directory
BrowserEvent: URL_ERROR
cVFU failed: vrml.eai.InvalidURLException
 
The following screen shot was taken on a Ubuntu box at the same time as the screen shot above. Avatar is looking in the other direction and sees "Harry" who is incorrectly rendered. Client can't find the avatar file.
 
This might fixed in a new release of the Instant Player (so this bug has nothing to do with Deep Matrix server or client ....)
 
[[image:deepmatrix-1.04-problem.png|thumb|400px|none|Screenshot of the DeepMatrix 1.04 client (below) and Instant Reality player (on top)]]


== Links ==
== Links ==


; Deepmatrix.org
; Deepmatrix.org
* [http://www.deepmatrix.org/documentation/README.html ReadMe file]
* [http://www.deepmatrix.org/ Deepmatrix.org] (home)
* [http://www.deepmatrix.org/documentation/README.html ReadMe file] (also within the distribution)
* [http://www.deepmatrix.org/screenshots/Screenshots.html Screenshots and comments]
* [http://www.deepmatrix.org/screenshots/Screenshots.html Screenshots and comments]
* [http://www.deepmatrix.org/phpBB3/ forum]
* [http://www.deepmatrix.org/phpBB3/ forum]

Latest revision as of 07:06, 3 November 2010

Draft

Introduction

“DeepMatrix is an open-source Java server/client 3D multi-user system capable of both chat and shared events working in conjunction with VRML/X3D browsers. Users appear as avatars in a shared 3D scene. [...] The latest version of DeepMatrix is composed of a Java server and Java standalone-client application. It uses the latest Sun Java Runtime Environment and is designed to work with standalone VRML/X3D viewers that have Java EAI or External SAI capability.” (deepmatrix.org)

Presently, DeepMatrix works with the free Instant Player client.

DeepMatrix was originally developed by a team led by Gerhard Reitmayr from the now-defunct Geometrek.com site in the late nineties. This project in turn was based on the VNet EAI applet by Steven White and Jeff Sonstein.

Current status: The new version is being developed by Russ Kinter, seems to work better and has additional features. However, it still is under development, i.e. some versions may or may not work depending on your system. DeepMatrix was an active project when last checked in Sept. 2010 - Daniel K. Schneider

The system

Overview

According to the FAQ (retrieved 19:07, 15 September 2010 (CEST)), Deepmatrix “is a system that allows different individuals to participate, inter-act and share together in realtime computer simulated 3D environments that are usually called "worlds". The individuals appear as computer generated images to other users sharing the same world. Users communicate by both typing messages and using shared events where the same animation can appear almost simultaneously on the users' computers.”

It has three components:

  1. The application that generates the 3D images, i.e. an VRML/X3D client. At the time of writing "Instant Player" from
  2. The Deep Matrix client that does the networking. Instant Player and Deep Matrix commuicate with each other using the External Authoring Interface or "EAI".
  3. The "Deep Matrix server", the hub that unifies all the users on the network.

Both the Deep Matrix client and server are open source and programmed in Java.

Screenshot of the DeepMatrix 1.04 client (below) and Instant Reality player (on top)

Building worlds and sharing objects

Read both:

Short installation notes for version 1.04

Prerequisites

Firstly, you must install Java (if needed) and the Instant Reality player

(1) Java 1.6 or higher (as of Aug. 2010)
(2) Install the very latest Instant Reality X3D/VRML player
Find your version in the FTP archive of Instantreality.org. Be careful to select the right version of the player for your system.
e.g. File InstantReality-Ubuntu-10.04-x86-XXXX.deb File for a typical 32-bit 10.04 LTS "Lucid Lynx" install of April 2010.
or file Windows-x86_64/InstantReality-Windows-XXXX-2.0.0.20206.msi for Vista/Win 7 64-bit versions.

Do not install the "official" public Instant Reality player you can find on the Instantreality web site. Get the latest version.

(3) Special remarks concerning Ubuntu

Skip this if you only wish to run the server under Ubuntu.

  • Save the *.deb file then use dpkg to extract and to install the archive, e.g.
dpkg -i InstantReality-Ubuntu-10.04-x86-2.0.0.20235.deb

It will be installed in /opt/instantReality/ Your also may have to install missing dependencies manually (I did, but then I messed around with other stuff beforehand ...).

apt-get install libboost-all-dev
apt-get -f install
  • As of sept. 8, there is a missing bin/instantreality.jar archive in the Instant reality distribution for Ubuntu. I took the one found in the Debian distribution, but you also may try to use the one distributed for Windows (it's Java code that should run under any OS). This problem is fixed for the 64-bit version as of Sep 20 2010 (and will be soon for the 32-bit).

Windows 7

(for version version 1.04, downloaded sept. 15 2010, running under Windows 7-64bit with a 32-bit Java 1.6.0_21)

(1) Install the prerequisites (above)
Remark: On my Windows 7 I had to fix the path to include Java (first time this happened since Win95. If you don't know about fixing a path, read about Environment variables and how to set the path variable)

I have just discovered that the 64-bit JRE automatically writes the path variable on Windows 7, so it is best to install both the 64 and 32 bit JREs (for the default 32-bit Internet Explorer) -R.K.

(2) Download and install the DeepMatrix MU server from deepmatrix.org or Source Forge
Dezip the archive to c:\DeepMatrixIP9-v1_04
If not, you will have to fix the file paths in several bat files. See the next step
(3 - optional) Fix the path in the bat files if needed.
Replace the path of "DeepMatrixIP9-v1_03". E.g. if this directory sits in subdirectory called c:\soft then replace "DeepMatrixIP9-v1_03" by "soft\deepmatrix" in all the bat files.
(4) configure

In order to run both client an server on the same machine, keep something like the following:

  • In file client_application/win_local_matrixclientrc
# self explanatory
port 7744
# start room
Room Matrix
# Target host IP
Hostname 127.0.0.1
# Hostname 71.173.213.175
localbrowser 127.0.0.1
localport 4848
  • In file server_application/matrixrc
# port has to match client port parameter!
port 7744

Pay attention to this:

  • localport (e.g. 4848) must be different from port (e.g. 7744)
  • port in files win_local_matrixclientrc and matrixrc must match (e.g. 7744)
  • Only define a single Hostname (in the distro, there are two, I commented one)
(5) Use it
  • open the DeepMatrixIP9/server_application folder, double click the DeepMatrixIP9Server.bat file and give the server time to finish starting up.
  • open the DeepMatrixIP9-v1_01/client_application/Win_Local_Client folder and double click the DeepMatrixIP9_MU_Local_Client.bat file

If everything goes well, the server will listen on port 7744. Else, open a shell (command prompt), cd to the directories and type in the *.bat files, e.g.

cd c:\DeepMatrixIP9-v1_03
cd server_application
DeepMatrixIP9Sserver.bat

Then do the same with the client, i.e. open another command prompt. This way you can see both the server and the client's error messages ...

Example of a client error message:

Trying to connect to browser: 5 vrml.eai.ConnectionException: Not a Hermes Event - /127.0.0.1:4848

Ubuntu

(for version 1.04, downloaded Sept. 11 2010)

(1) Download the whole package
  • Get V1_03 from the Downloads. Fastest way is to use wget in a server console.
wget http://www.deepmatrix.org/downloads/DeepMatrixIP9-v1_04/DeepMatrixIP9-v1_04.zip
(2) Read the documentation (Remark
As of sept. 8 the documentation button in the homepage was broken ...)
(3) Unzip the archive into a folder /opt/DeepMatrixIP9-v1_04 and fix permissions
  • Folder name should be precisely /opt/DeepMatrixIP9-v1_04/, else you'll have to change the sh scripts.
sudo mkdir /opt/DeepMatrixIP9-v1_04

Then unzip, e.g. type

unzip -d /opt/DeepMatrixIP9-v1_04/ the_zip_file.zip

If you installed as root, you also could chown all files to yourself (since some files may need editing). It's also better security, to run a server with a non-root ID.... as your like

(4) Make the shell scripts executable and chown the files

Make sure that you fix at least the three following ones (but there may be more ...)

cd /opt/DeepMatrixIP9-v1_03
chmod a+x server_application/Linux_DeepMatrixIP9Server.sh
chmod a+x client_application/Linux_Client/*.sh
chmod a+x client_application/browser_scripts/*.sh

Therefore it's a better idea to make them all executable with the following find command

find /opt/DeepMatrixIP9-v1_04 -name "*.sh" -type f -exec chmod 775 {} \;
(5) Fix hostname and the port numbers

Ports in server and client configuration files must match ... and they probably don't! Fix the following files:

  • client_application/win_local_matrixclientrc
  • server_application/matrixrc

There is no difference between the configuration of a linux and a windows client. If you use the same machine as server and client, do something like this:

  • Change the target host name and port in file /opt/DeepMatrixIP9-v1_03/client_application/win_local_matrixclientrc
port 7744
Hostname 127.0.0.1

If you have a fixed IP number (like I do), you also can use it (instead of the IP for localhost (127.0.0.1)

Hostname your.fixed.ip.number
  • Client local port (to connect to the player)
localport 4848
If you use another portname also fix file Screen.x3dv
port 4848
  • Verify in file /opt/DeepMatrixIP9-v1_03/server_application/matrixrc that the port matches the port in the client file.
port 7744

Finally, you may have to adjust the script that connects to Deepmatrix author's demo server

  • client_application/win_public_matrixlcientrc
(6) Fix case of file and directory names (if needed)

The developer works with windows and may overlook case.....

To figure out which ones, look at the log file /opt/DeepMatrixIP9-v1_03/server_application/matrix_log or look at the error messages that appear when the server starts (see next point).

Rename at least the following directories and file names

mv server_application/matrix server_application/Matrix
mv server_application/Matrix/matrix_Objects.txt server_application/Matrix/Matrix_Objects.txt
mv server_application/blacksun server_application/Blacksun
mv server_application/Blacksun/blacksun_Objects.txt server_application/Blacksun/Blacksun_Objects.txt
mv server_application/chess server_application/Chess 
mv server_application/Chess/chess_Objects.txt server_application/Chess/Chess_Objects.txt
mv client_application/world/Avatars/charlene2.wrl client_application/world/Avatars/Charlene2.wrl

Maybe (?): Quote the last line from file server_application/matrixrc. There is no Seven_Emerald_Tablets.


(7) Start the server (otherwise you also can use a public server somewhere else ...)

Open a new terminal under your name, then runit

/opt/DeepMatrixIP9-v1_04/server_application/Linux_DeepMatrixIP9Server.sh &

You should see something like:

........
MatrixD listening on /127.0.0.1:7744
9/8/10 5:10:28 PM main : MatrixD listening on /127.0.0.1:7744
(8) Run the client

Again, I suggest to run the client under your name

/opt/DeepMatrixIP9-v1_04/client_application/Linux_Client/Local_Linux_Client.sh

Configuring a client and server on different machines

This is for both Windows and Linux.

(1) On your client machines, edit files client_application/win_public_matrixclientrc:

  • Use the port parameter you defined for your server, e.g. port 7744 and change the host IP number.
# self explanatory
port 7744
# Target host IP
Hostname XXX.YYY.ZZZ.XXX

(2) On your server machine, edit file server_application/matrixrc:

serverIP XXX.YYY.ZZZ.XXX
waitingConnections 20

Of course, serverIP must match host Hostname in file win_public_matrixclientrc

Open issues

Ubuntu Instant Player sep 10 2010

The Ubuntu Instant Player client can't display H-amin nodes, i.e. you will see grey boxes instead of the avatars.

This bug is fixed (in principle) in release InstantReality-Ubuntu-10.04-x64-2.0.0.20279.deb. A fixed 32-bit version is for any time soon - 13:14, 20 September 2010 (CEST)

Trace in the linux client shell window:

./Linux_Client/Local_Linux_Client.sh
......
RTH addConsumer bAvatar is false
libavalonHAnimNodePool.so: cannot open shared object file: No such file or directory
libavalonHAnimNodePool.so: cannot open shared object file: No such file or directory
BrowserEvent: URL_ERROR
cVFU failed: vrml.eai.InvalidURLException

The following screen shot was taken on a Ubuntu box at the same time as the screen shot above. Avatar is looking in the other direction and sees "Harry" who is incorrectly rendered. Client can't find the avatar file.

This might fixed in a new release of the Instant Player (so this bug has nothing to do with Deep Matrix server or client ....)

Screenshot of the DeepMatrix 1.04 client (below) and Instant Reality player (on top)

Links

Deepmatrix.org
Research using (old) Deepmatrix
Articles of historical interest