Creating Interreality: The Virtual Object System: Version 0.12.0 | ||
---|---|---|
Prev | Chapter 3. Using VOS to Explore and Build Virtual Worlds | Next |
Mesh is a command-line client for browsing and editing vobject structures. It is modeled after Unix command line shells and features line editing, command history and tab completion using the GNU readline library. It is intended to be useful for inspecting and interacting with vobjects for the purposes of learning about, editing, and debugging vobject structures.
Mesh takes the following optional command line arguments.
Usage: mesh [-a] [-n NAME] [-s] URL mesh [-x] -c "COMMAND" -a Use an avatar, send and recieve talk messages. -n NAME Use NAME as your name with -a -s Find service directory. URL A 'vop:' URL to start at (default is local site). -c "COMMAND" Execute COMMAND and exit. Separate multiple commands with ';' -x Don't exit after executing COMMAND. -l Listen on TCP port 1324 for commands. WARNING: *anyone* can connect and execute commands in your mesh session (and in your shell)!!The first URL specified on the command line will be current object when the shell starts. If no URL is supplied, then mesh will start at mesh's local site.
If support was compiled in, mesh can use the "readline" library to interactively read command input. If you have customized your readline config, it should be fully supported in mesh. For full readline documentation, including key bindings for cursor movement and history searching, consult your readline info page or manual. Some of the most useful keys are: TAB to attempt to automatically complete a Vobject URL in-line (aka tab completion); CTRL-A to go to the beginning of the line; CTRL-E to go to the end of the line; CTRL-L to clear the screen; CTRL-P or UP ARROW go to the previous line in the command history; CTRL-N or DOWN ARROW go to the next line in the command history; CTRL-R lets you search the command history.
mesh understands the following commands. You may separate multiple commands on one line by separating them with a semicolon (;). Normally all text following percent sign (%) is considered a "comment" and is ignored. To include a literal hash mark in your input, you must quote it with a slash (\%).
Browsing commands: cd, ls, parents, popd, pushd, sites, types, urls, walk
Object manipulation commands: addtype, create, insert, load, save
Property commands: property help, property read, property replace, property write
Other features: daemonize, echo, exit, help, listen, logfile, meshscript, msg, save, set, setlog, vopscript
Add the supplied type string to the current object. Note: this adds the type string but will not extend the functionality of the object.
Change the current object
Aliases: go
Create a new local object with the given name and zero or more types, as a child of the current object. If the Expat XML library was available when mesh was compiled, then required subobjects will be added for each type, based on info in OTDs (the OTDs should be installed in /usr/share/vos/otd).
Aliases: new
See also: insert
Make mesh a non-interactive background process
Aliases: bg
Print text to standard output, followed by a newline.
Exit the program
Aliases: quit, CONTROL-D
See also: daemonize
Print a list of available commands.
Aliases: h, ?
Insert object as a new child of the current object with the given name.
See also: create
Causes mesh to become a listener of the parents and children of the current object
Load COD file [file] and insert objects under the current object. [file] may be a plain COD file or compressed with gzip.
See also: save
Redirect logging to specified output file
See also: setlog
List children of current object
Aliases: dir, look
Run the supplied mesh script file
Aliases: ms
See also: vopscript
Send message to a user (or any "talkative" object). This command is only available when you run mesh with the "-a" command-line options.
Variations: you can send a public message to all users in the current object with a single quote (') at the beginning of the line, and a reply to the last message sent to you with a double quote (") at the beginning of the line.
List all parents of the current object
Go to object on top of the history stack
Aliases: back
Display property commands.
If current object is a property, print value and type.
If current object is a property, set new value and type.
If current object is a property, change value.
Change current object, pushing previous object to the history stack
Save the current object and children as a COD file named [file].
See also: load
Change internal mesh settings. Run "set help" for more information.
Changes log level of a particular channel
See also: logfile
List all the presently known sites
List the type strings of the current object
List all the known valid paths to the current object
Aliases: pwd
Run the supplied VOS script
Aliases: vs
See also: meshscript
Print out every path descending from the current object