From Edutechwiki - Reading time: 7 min“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
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:
Both the Deep Matrix client and server are open source and programmed in Java.
Read both:
Firstly, you must install Java (if needed) and the Instant Reality player
Do not install the "official" public Instant Reality player you can find on the Instantreality web site. Get the latest version.
Skip this if you only wish to run the server under Ubuntu.
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
(for version version 1.04, downloaded sept. 15 2010, running under Windows 7-64bit with a 32-bit Java 1.6.0_21)
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.
In order to run both client an server on the same machine, keep something like the following:
# 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
# port has to match client port parameter! port 7744
Pay attention to this:
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
(for version 1.04, downloaded Sept. 11 2010)
wget http://www.deepmatrix.org/downloads/DeepMatrixIP9-v1_04/DeepMatrixIP9-v1_04.zip
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
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 {} \;
Ports in server and client configuration files must match ... and they probably don't! Fix the following files:
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:
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
localport 4848
port 4848
port 7744
Finally, you may have to adjust the script that connects to Deepmatrix author's demo server
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.
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
Again, I suggest to run the client under your name
/opt/DeepMatrixIP9-v1_04/client_application/Linux_Client/Local_Linux_Client.sh
This is for both Windows and Linux.
(1) On your client machines, edit files client_application/win_public_matrixclientrc:
# 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
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 ....)