Document 6510671

Transcription

Document 6510671
How to Set Up A MOO In Windows
or “You've decided you want a MOO … what next?”
In the old days, MOOs ran under Linux or Unix, and they took a fair bit of knowledge to get running
properly. You‟d get the parts of the MOO in a language called „source code‟, and you‟d have to build them
into a form your particular hardware and operating system could use. You‟d have to obtain a client
program and go through similar steps. Of course, there would have to be network access and network
security. And in the 70‟s and 80‟s, getting enough computer resources to run a MOO was difficult – if you
were running your text world courtesy of a University or business you were probably sharing a larger
computer with many other people – you‟d have to carefully monitor how much memory, disk space, and
network bandwidth your project was taking up, or you‟d risk incurring the wrath of the system
administrators.
These days, things are much simpler. With the release of WinMOO, there is a MOO server that will run on
any modern form of Windows. Windows itself is standardized, so whether you‟re running on a cutting
edge business-class server or an old Windows NT machine you‟ve rescued from the back of the closet,
WinMOO works the same way. Most hobbyists have a local-area network already running in their home,
so that solves most of the networking issues people would have faced in the old days.
If you‟re curious about how MOOs work, it‟s fairly easy to get one up and running. This article will show
you how to get a small MOO running on your home network. Once you're comfortable with the concepts
and you've done building on your practice MOO, you can consider setting up a MOO the whole world can
access!
There are three parts to a MOO:
-
a MOO server – this is the program that handles communication with the players, and
handles the updating and storing the information that describes your game world.
-
a MOO database – this component is a single large file, specially formatted, that holds all the
information that describes your game world – people‟s names, place and item descriptions,
and the „logic‟ describing how your game world is laid out – what rooms connect to what.
-
a client program – this utility allows players and game administrators to communicate with the
server.
The MOO Server
WinMOO Server is a port of LambdaMOO Server from Linux. „Port‟ means that the original computer
code has been tweaked, and the whole thing rebuilt, so that it now runs under a different Operating
System. WinMOO is the only MOO server I‟m aware of that runs under Windows, so that's what we‟ll use.
The place to get WinMOO is Chirs Unkel's website. Chris is the author of WinMOO.
http://www.chrisunkel.com/WinMOO/
Under the heading “Important Links” we want the first one, “WinMOO-0.1.0.beta8.zip”
If you‟ve been using Windows for any length of time, you probably know what to do with a .zip. Download
it to your computer, then unzip it into a folder. You should end up with 8 files, the largest being an
application called winmoo.exe.
That got us the server, but what about the database?
The MOO database
There are several databases you can use.WinMOO ships with a database, but it has so few features it's
definitely not for beginners. (You'll see it listed in the folder where you unzipped WinMOO – it's
'minimal.db') You can log in as Wizard (the head administrator of the MOO, with all the system
permissions, is called the 'archwizard') but everything else needs to be programmed.
A better alternative might be the one I use – JHCore. It at least already has facilities for creating rooms on
the virtual map, creating objects to fill those rooms, and it provides ways to set up new players and MOO
programmers (called 'builders').
Okay, so now it's time to give our server program a database to serve up. JHCore is available at http://sourceforge.net/projects/jhcore/files/JHCore/JHCore%20DEV%202/
What you get is a very linux-y looking filename – something.db.gz, but both WinZIP 8.0 and the unzipper
built into Windows 7 know how to handle it. What you want is a file that ends in just .db. You'll know it's
unpacked completely when its name ends in .db and its size is about 2386KB.
Move the .db file into the folder where you unpacked WinMOO.
The original name is a mouthful! You may want rename it, for simplicity's sake. Renaming is fine, as long
as you keep its extension a .db. I usually call mine jhcore.db. (Remember that some versions of Windows
already know what kind of file the file is trying to be,and make it too easy to end up with 'jhcore.db.db.'
You might want to double-check the name if you do rename the file, to make sure the name is what you
think it is.)
If we were to set the MOO going, how would we know it's working?
THE MOO CLIENT
With the server serving up connections, and the database writing down what happens during the
connection, what you need now is some way to connect.
The MOO uses an old kind of networking connection – a protocol called 'telnet'. If you've ever done any
kind of work where you have to connect to a remote Linux or Unix computer, or a networking device such
as a router, you may have used telnet before. If you've done that kind of work before, or if you've played a
MOO or MUD before, you may already have a favorite client program. A couple of common choices for
clients are putty and Pueblo. If you're using a relatively modern version of Windows - Windows 2000 or
later – there is a telnet client built in.
Choosing a telnet client is a very personal matter, snd it may take you a while to find one you're really
happy with. My usual choice is the program called Putty. I love the large choice of fonts and colors you
have in Putty - you can get your display looking exactly how you want it! Putty does have a minor issue
with LambdaMOO server, though - it requires an extra press of the Enter key where it shouldn't. Not a big
deal, but it will surprise you a few times until you remember it. Pueblo is an old standby, but its
preference-setting and startup can be fussy.For now I'll use the telnet client from Windows XP as an
example.
Putting All the Pieces Together
We know the database is unpacked and is in the right folder, and perhaps you've given it a name that's a
bit more manageable. The MOO server is WinMOO, and it's unzipped and ready for action. Our trusty
client program is all ready, too.
Ready to raise your Geek cred? The punchline to all this is that WinMOO is managed from the command
line!
If you're using Windows 98, 2000, or XP, go to the START menu, click on Run, and type in
cmd
and hit Enter. That should bring up the black and white command line window.
( If you need a refresher on how to use the command line window, try this reference guide. The
commands you'll need most are probably 'cd' and 'dir'
http://www.sophos.com/support/knowledgebase/article/13195.html )
Navigate to the folder where WinMOO and the database are. (Mine is Files\WinMOO> )
The syntax to set the moo going is
winmoo <dbname> <dbbackupname> portnumber
The <dbname>, you might guess, is the name of the database you're using, straight out of the folder
listing of names. As the MOO runs, it will occasionally back itself up, and it writes itself to a file called
<dbbackupname>. The portnumber, er, port number, is the port number it's running on the server. That
defaults to 7777, or you can set it to whatever you want. (Use a large, four-digit number – small numbers
may conflict with things like e-mail, web serving, or FTP.
For the way I set up my system, my entry on the command line would be,
c:\Program Files\WinMOO>winmoo jhcore.db jhback.db 7777
That means, “Start the MOO server. Put it on port 7777. To start it, read from the file 'jhcore.db'. When
you make backups, save them to 'jhback.db'.” (There's a common option in WinMOO and LambdaMOO,
'winmoo -o'. It's supposed to allow outbound communication from the MOO server, for instance,
emailing you when you create a character. I can't tell that it does anything in WinMOO, so I leave it off.)
The MOO server should respond to that command by loading things from the database into RAM, and
giving you a window full of text as it goes. There are bunch of LOADING entries and VALIDATING
entries, and it should end with “LISTEN #0 now listening on port 7777” (Or whatever port number you put
in the line above)
Now, to connect …
Launch another command line window. Type
telnet
and hit Enter. This launches the built-in telnet client in Windows 7, Vista, XP, and 2000. The window
should clear and it should say “Welcome To Microsoft Telnet Client” across the top.
Type the command
open localhost 7777
If you know networking, you know that 'localhost' is code for the phrase “the computer I'm typing this
command on” It tells the networked program stay inside the machine it's on, to not go out onto the
network looking for something. Of course, that number is the port number it will look for the MOO on –
make that the same as the port number you used in the winmoo command.
If the server is talking to the database correctly, and talking to the client program correctly, you'll be
greeted with a screenful of text starting with “Welcome to the JHCore database.” Congratulations, your
MOO is running!