A propdump is an ASCII representation of all the property (i.e. objects) built in a world. Propdumps are not usually needed during the normal operation of a world server, but there are a few cases where they can be useful. The most common use for a propdump file is for moving a world from one world server to another. A propdump combined with an atdump from the same world together contain a complete description of that world.
To create a propdump file for a world, simply select the world in the world list and then select Save Property... from the File menu, or right-click on the world and select Save Property... from the pop-up menu.
In the dialog box that comes up, choose a folder and file name for the propdump file. A progress bar will then appear tracking the progress of the property dump. Depending on the number of objects in the world and the speed of the connection to the server, a propdump can take anywhere from a few seconds to several minutes to complete.
The operation of the world itself is not affected by the propdump; the world does not need to be stopped beforehand. Users in the world will not be affected during the propdump.
Uploading a propdump
Once a propdump has been generated, it can be uploaded to any world. Uploading a propdump to a world replaces any property in that world with the contents of the propdump. Thus, care should be taken to be sure that any existing objects in a world are either backed up (in their own propdump) or else are truly not wanted.
To upload a propdump to a world, simply select the world in the world list and then select Load Property... from the File menu, or right-click on the world and select Load Property... from the pop-up menu. In the file dialog that appears, choose the file to load from. A progress bar will appear, tracking the progress of the upload.
As with dumping property, a world does not need to be stopped in order to upload a propdump, and it may be done while users are in the world. Any users in the world will see the old property around them being replaced with new property as the upload proceeds.
Format of a propdump file
As the purpose of a propdump is to supply a platform-independent version of property data that can be moved from one server to another, the format of the file itself is not intended to be particularly useful to a human reader. Still, people ask us from time to time what the various fields of a propdump represent. A brief description of the propdump format is provided below. However, it should be noted that Activeworlds Inc. reserves the right to change this format at any time without notice!
Each line of a propdump file corresponds to one object in the world. A typical line might look like this:
105 1145108945 3877 475 58999 450 0 0 4 11 0 0 42 motonorider0001f88507000000000000000000000000320a1e78640000000000000000000000000000000000000000
The first column gives the citizen number of the owner of the object. The second column gives the time the object was built, in "Unix" time (seconds since January 1, 1970.) The third, fourth, and fifth columns give the x, y, and z positions of the object, in centimeters. The sixth, seventh and eight columns give the yaw, (y-axis rotation), tilt (X-axis rotation) and roll (Z-axis rotation) of the object. Note that this rotation is actually expressed in degreeds times ten. So, if an object has a yaw of 905, then it is really rotated 90.5 degrees.
The ninth, tenth, and eleventh columns are the lengths of the object name, the object description, and the object action. Twelfth column is the length of the binary data attached to the object.
The final column is the actual contents of the name, description, and action concatenated together, followed by the binary data in two-digit hex format. So, if the binary data is 42 bytes long (as in the above example) then there will be 84 total hexidecimal digits in this last string. This binary data is used by particle emitters, zones, and movers to contain the options for that object.
It is also possible to generate propdumps of an entire world server, using the separate propdump utility included with the server installation. To generate a propdump in this manner, the server process must first be stopped. A propdump might then be placed in a file using the following command:
propdump > propdump.txt
Propdumps generated in this form are generally only useful for reloading again using the propload utility. There are really only two possible situations in which you might want to do this:
- When an entire world server and all of its worlds are to be moved to a server on a different OS platform (e.g. from Windows to Unix).
- When the world server database has suffered some form of corruption and needs to be rebuilt.
Server propdumps are different from the propdumps described above in that they have an extra column at the beginning of each line denoting the world that each object was built in (since world servers can contain multiple worlds.)