The Matrix server is a standalone Java program. Former versions were JDK 1.0.2 compatible. We switched to pure JDK1.1 so you will need a JDK1.1 or higher run time environment to run the server. It distributes all information between the client applets running on the users machines. The corresponding class file is matrix.server.MatrixD. The packages matrix, matrix.vrml and matix.server are necessary for the server program.
Synopsis :
java matrix.server.MatrixD [-loglevel level] [-port portnumber] [-rcfile name]
The first argument sets the detail level of logging information. This number has to be between 0 and 3 ( see also Loglevel in the description of the configuration file ). The second argument sets the TCP port number the server should listen to. The default value is 6666. The last argument gives the name and path of the configuration file the server should read on start-up. If none is given the default file called matrixrc is read.
If the server starts successfully, it will print some information to the console and then start to log information into the log file. If the standard output ( set below ) is given as the log file, the server will print all information to the console.
The server does not use an UDP port anymore. All communication is now conducted over the TCP stream.
# sample matrixrc file for demonstration Loglevel 2 # 0 - 3 port 1009 logfile /usr/tmp/matrix.log serverIP 126.23.46.1 waitingConnections 20 #here we start start world/Start.wrl cone world/cone.wrl 4 3 matrix matrix.wrl
The structure of such a file is very simple. Any characters after a # character are comment and ignored.
Any other line has the syntax name url.name is a name for a certain VRML world and url is its location on the net. The name has to be unique and is important for jumping between different VRML worlds. This will be described in detail in the following chapters. The URL is either absolute or relative to the codebase of the client applet.
Optional there can be one or two numbers following the URL. These control the use of multiple instances of one room. The first number gives the maximal number of users in one room. If there are more users moving or logging in to one room than this number, a new instance of the room is created and any new users get into the new instance. So there are two independent groups of users, who receive no updates from each other, but have the same background VRML. If the second number is used, it gives the maximal number of such instances. If more users try to enter this room, they are denied this service. If it is not present, any number of instances is created.