This is a HOWTO for `helioMOO' aka `a virtual helioseismological world' ----------------------------------------------------------------------- last updated Oct 11 1995 SGK 1) What is helioMOO? 2) How do I connect to helioMOO? 3) How do I get an account on helioMOO? 4) How do I use helioMOO? 5) Tricks and special features to the helioMOO. 1) What is helioMOO? `helioMOO' aka `a virtual helioseismological world', is a Object-Oriented MUD server (MUD: Multi-User Dungeon game), ran by Sylvain G. Korzennik (skorzennik@cfa.harvard.edu) for the helioseismological community. It is based on Xerox Parc's public domain LambdaMOO server (see URL: file://parcftp.xerox.com/pub/MOO). The original motivation (Ayg 95) is to provide a multiuser chatting capability for the Inversion Team. As it is being developped other uses might be included. 2) How do I connect to helioMOO? You do not need any special software to connect to helioMOO, except access to the Internet. You can connect using `telnet', but I recommend using emacs' mud mode. (You do not need to know how to use emacs, besides some basics). To connect via telnet, simply: telnet heliomoo.harvard.edu 8888 To connect via emacs, you first need to install emacs mud mode. Simply grab the file `mud.el' via anon-ftp from: cfa-ftp.harvard.edu:/pub/sylvain/helioMOO/mud.el or, using your favorite Web browser at URL: file://cfa-ftp.harvard.edu/pub/sylvain/helioMOO/mud.el and install it somewhere at you site. Now, edit your ~/.emacs file, (or create one), and add the line: (load-file /where/you/have/put/it/mud.el) replacing '/where/you/have/put/it/' by the appropriate directory specification. Alternatively, you can load `mud.el' as follow, type: ESC x, followed by `load-file' (without the quotes, look at the last line of the window), then CR, then at the "Load file:" prompt, delete what ever is written, and type the complete file name specification of the `mud.el' (i.e.: /where/you/have/put/it/mud.el). You should see a message like: Loading /where/you/have/put/it/mud-sgk.el...done on the last line of the window, if so you are ready to connect. To connect from emacs, start emacs (or re-load your modified ~/.emacs), and type ESC x, followed by `mud' (without the quotes,, look at the last line of the window, `helioMOO' should be you default choice), then hit CR twice, and you should see: Welcome to helioMOO aka `a virtual helioseismological world' You need to have an account and to connect first. > At the prompt (`>') type `connect your-name your-password' where `your-name' is your login name, and `your-password' the password; You can also log in under one of the guest accounts without a password. The 3 guest accounts are: Visitor1 Visitor2 Visitor3 Once connected, follow the instructions, or use `help' for help. To disconnect, use the command `@quit' (or terminate your session), to re-connect under emacs, do as for connecting (type: ESC x mud CR CR). Emacs experts can add the following function to their `~/.emacs' file: (defun heliomoo() "*connect to the helioMOO" (interactive) (mud "helioMOO" t) ) and list their name/password in a ~/.mud file, i.e.: server helioMOO MOO heliomoo.harvard.edu 8888 helioMOO YOURNAME YOURPASSWORD default-server helioMOO then execute `M-x heliomoo', or bind it to a key or menu entry. This will automatically connect and log you in. Remember to `chmod go-rwx ~/.mud'. 3) How do I get an account on helioMOO? Simple, e-mail your request to skorzennik@cfa.harvard.edu, with a line or two explaining why you want an account. 4) How do I use helioMOO? `helioMOO' is currently primarly used for multi-user chatting, here are some instructions and basic rules to make the multi-user chatting efficient: a) general instructions: to say something to everybody: `"hello everybody' to indicate a non-verbal action: `:nods' to say something to one person only: `whisper "I hate your guts" to Sylvain' to look at the room: `look' to look at an object: `look object name' to read a note: `read note name' to see who is in the helioMOO: `@who' (all examples are what is within the enclosing `') b) new users instructions: to change you password with `@password' to set what others see when they look at you use: `@describe' to change your gender, use: `@gender' to change your designated home room, use: `@sethome' to change your name and/or aliases, use: `@rename' to add word-wrap to the lines you see, use: `@linelength' c) some basic multi-chatting rules: *) agree on a moderator *) set up an agenda *) raise your hand to request the floor (`:raises his hand') *) wait for the moderator to give you the floor *) remember that the net is slow, give the others a chance *) when talking, end you sentences with `...' if you are not finished. *) try `:' alone for a list of usefull short cuts. 5) Tricks and special features to the helioMOO. a) MOO mode under Emacs explained When typing (i.e., carriage return), you are actually running the function `mud-send' that sends the line of text you have typed at the end of the buffer. Simple cut-and-paste will NOT send to the MOO what you have pasted in the buffer! To do this, you need to use C-c C-y (the mud-send-kill function), as explained below. Other usefull commands are M-n (or ESC n, mud-next-command) and M-p (or ESC p, mud-previous-command) that will recall the previous/next command you have issued. Also, C-c C-u (mud-cancel-input) will clear the line to (re-)type a new command, while C-c RET (mud-macro-command) is a powerfull way of typing ahead a bunch of commands, explained below. b) extension to `:' (the emote command) To speed up things I've extended the command `:' (i.e., emote). Typing `:' (or emote) alone produces: `emote' needs an argument, syntax: :... ... ::... ... :~... waves ... :)... smiles ... :%... looks around ... :|... nods his/her head ... :-... shakes his/her head ... :^... raises his/her hand ... :?... wonders ... Examples: :hopes this help --> Sylvain hopes this help ::'s patience is running out --> Sylvain's patience is running out :~hello --> Sylvain waves hello :| --> Sylvain nods his head :- --> Sylvain shakes his head :^ --> Sylvain raises his hand :?what it all mean --> Sylvain wonders what it all mean Note that you might want to set your gender right to use his/her instead of the pronoun `its' (help @gender). c) How to paste and send text when connected to the MOO via Emacs? To send the content of the last killed text use C-c C-y (control-c followed by control-y) that invoques the `mud-send-kill' function, instead of C-y (the nomal `yank' function). What you "yank" with C-c C-y will not be visible to you, so you might want to do a normal `yank' first (C-y) to check what you are sending. (Use `undo', C-_ to remove the yanked text if necessary). Using C-c C-y this way assumes that the text you are yanking contains valid commands (i.e., lines starting with " or :). To help sending a chunk of text (rather than MOO commands) , I've created the command `quote', that can be abbreviated down to `q'. If at the '>' prompt, you type `quote', or `q', you will get: [Type lines of input; use `.' to end or `@abort' to abort the command.] Now, you can type any text you want, except for a single dot in column 1 alone (`.'), that indicates end of input. Thus, if you use Emacs, put the text you want to paste in the kill buffer, then check what is pasted with C-y (use `undo', C-_ to remove that text if necessary) and use C-c C-y to actually send the text. Then add the `.', if it was not part of the text you've pasted. d) How to use C-c RET (mud-macro-command) Type C-c RET, then SP (to complete `nil') and RET. This will create a second sub-window in your Emacs window called *Expansion* for the MUD-Macro-Expansion mode. Type in it a sequence of MOO commands, then type C-c s (or C-c C-s) to send all the commands to the MOO, or C-c C-c to send the commands, and destroy that second window, or C-c C-] to get rid of that second window whithout sending anything. You can use normal Emacs cut-and-paste mechanisms in that window, to create the correct input to send to the MOO, or start with a quote command, insert the file you whish to send, and end it with a `.'.