Compiling CircleMUD Version 3.0 under Microsoft Windows 95 or Windows NT by Jeremy Elson (jelson@circlemud.org) CircleMUD 3.0 compiles relatively easily under Windows 95 and NT using the Microsoft Visual C++ compiler version 4.x. It should be possible to compile it using other compilers, or previous versions of MSVC++ that are designed for Windows95/NT (they must support long filenames), but I haven't tried it and can't give you any help. However, it not easy (and maybe even impossible) to compile at all under Windows 3.x or DOS because they lack a number of features that Circle requires such as the Win32 API and long filenames. It is theoretically possible to compile under Windows 3.x by finding 3.x API equivalents to the Win32 API calls, and changing all the filenames in the entire distribution to fit the 8.3 DOS/Win3.x filenaming standard, but I will never do this. You can try it if you want, but don't write to me for help. The Win32 code was developed under Microsoft Visual C++ version 4.x. If you have a previous version of MSVC++, or if you have a different brand of compiler, I can't make any guarantees about how easily the code will compile or if it will even compile at all. You are welcome to try to compile the code using a different compiler (such as Turbo C++, Borland C++, etc.) however please *do not* write me mail asking for help because I have never used those compilers before and know *nothing* about them. Note MSVC++ 4.x is a commercial product and must be bought from your local software store. It can't be downloaded from any (legal) FTP sites, and I will not send you a copy, so please don't ask. Installation: 1) Download and uncompress the latest version of CircleMUD according to the instructions in the main README file. (The FTP site is ftp.circlemud.org, in the pub/CircleMUD directory). MAKE SURE to use an unzip program that can handle long filenames. 2) Open a window with an MS-DOS prompt. Note, this does not mean you are "compiling under DOS" -- the MS-DOS prompt is just a command-line interface to Windows 95. This step can be done by going to the Start menu, going to the Programs submenu, and selecting "MS-DOS prompt". All the following commands are performed at the MS-DOS prompt. 3) Use the CD command to switch to the main CircleMUD directory. For exmaple, type "CD \circle30bpl12", but this may vary depending on the version of Circle you downloaded and where you decided to uncompress it. 4) Go to the src directory and rename conf.h.win to conf.h, and replace the Makefile with Makefile.win. This can be accomplished with the following commands: cd src copy conf.h.win conf.h del Makefile copy Makefile.win Makefile 5) If you have MSVC++ 4.x installed in C:\MSDEV, skip to the next step. Otherwise, bring up the Makefile in your favorite text editor (for example, to use the DOS EDIT command, type "EDIT MAKEFILE".) Find the two lines that start with "CLFAGS =" and "LIB=", respectively. On BOTH lines, change the part that says "C:\MSDEV\" to reflect where your copy of MSVC++ 4.x is installed. Then, save the Makefile and exit the editor. You should still be in the "src" directory. 6) Make sure that MSVC++ binary directory (i.e., the directory where the actual programs are kept, such as NMAKE.EXE) is in your PATH. You can see what your path is by typing PATH. Your MSVC++ binary directory should be listed (for example, C:\MSDEV\BIN). Add MSVC's binary directory to your path if it's not already there. If you do not know how to change your path, contact someone who knows how to use the DOS command prompt for help, or check the manual to learn how to use the PATH command. 7) To compile Circle, stay in the src directory and type: NMAKE This will invoke Microsoft's make program and should build the entire CircleMUD server and create a file called 'circle.exe'. If you see the error message "Bad command or filename", then MSVC++'s binary directory is not in your path, so your computer can't find MS's NMAKE program. Go back to step 6. 8) Make sure your TCP/IP stack is installed, correctly configured, and running. If you are already using TCP/IP applications from your Windows machine such as Netscape or telnet, then no changes should be necessary; otherwise go to the Control Panel's "Network" settings, select "Add Protocol", and add Microsoft's TCP/IP. Consult the documentation for Windows 95 (do not write me mail) if you have any additional questions about how to set up TCP/IP under Windows 95. YOU MUST INSTALL AND CONFIGURE YOUR TCP/IP STACK, EVEN IF YOU ARE NOT CONNECTED TO THE INTERNET. 9) Go back to Circle's main directory (like in Step 3), and run the server by typing "src\circle". You should see boot messages appearing on the screen. Wait until the line "No connections. Going to sleep." appears at the bottom of the screen -- this means Circle is ready to accept connections. Go on to step 10 if you see this. If you see "Winsock Error #10047", your TCP/IP stack is not correctly configured; go back to Step 8. If you see "error changing to lib directory: no such file or directory", ke sure your current directory is Circle's MAIN directory, NOT the src directory (i.e., the same directory you were in at step 3). Then try again. 10) Start a telnet program (SEE NOTE BELOW). Open a connection to your own machine ("localhost", or whatever the name of your machine happens to be) on port 4000. You should see the MUD's login screen welcoming you and asking for your name. VERY IMPORTANT NOTE: The standard telnet program that comes free with Windows 95 and NT does *not* work correctly for connecting to any MUD because it does not support telnet's line-mode interface (so you can't see what you are typing). Do not use Microsoft's telnet applet -- instead, use EWAN, CRT, zMUD, or any other Winsock telnet application. EWAN and CRT can be downloaded from any number of sites (for example, www.windows95.com). zMUD is an excellent MUD client; for more information, see http://www.trail.com/~zugg/zmud.html. If you have problems, read this document again. If you're still having problems and you're *sure* that this document doesn't answer your question, try reading the CircleMUD FAQ at ftp://ftp.circlemud.org/pub/CircleMUD/FAQ. If all else fails, you can send me mail for help. Note, however, that if you ask me any question that is answered in this document, all I'll do is mail it to you. Jeremy Elson jelson@circlemud.org