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!