startup Startup should be pretty easy. To compile, simply go into the src directory and type "make". Everything should compile automagically. From here, to start, you simply type ./NakedMud [port] & If you do not supply a port, the MUD will start up on port 4000 by default. If you're having troubles compiling when it gets to the scripts, you will want to read src/scripts/module.mk If you've got other problems and cannot figure out what to do, you can try giving me a description of your problem, and I'll see if I can help you out. No promises, though. Geoff Hollis hollis@ualberta.ca http://www.ualberta.ca/~hollis/ me "make"ing the file tanlaan@tanlaan:~/Desktop/nakedmudv3.1/src$ make Makefile:110: gameloop.d: No such file or directory Makefile:110: mud.d: No such file or directory Makefile:110: utils.d: No such file or directory Makefile:110: interpret.d: No such file or directory Makefile:110: handler.d: No such file or directory Makefile:110: inform.d: No such file or directory Makefile:110: movement.d: No such file or directory Makefile:110: action.d: No such file or directory Makefile:110: mccp.d: No such file or directory Makefile:110: save.d: No such file or directory Makefile:110: socket.d: No such file or directory Makefile:110: io.d: No such file or directory Makefile:110: strings.d: No such file or directory Makefile:110: event.d: No such file or directory Makefile:110: cmd_comm.d: No such file or directory Makefile:110: cmd_manip.d: No such file or directory Makefile:110: cmd_misc.d: No such file or directory Makefile:110: cmd_admin.d: No such file or directory Makefile:110: cmd_builder.d: No such file or directory Makefile:110: races.d: No such file or directory Makefile:110: log.d: No such file or directory Makefile:110: auxiliary.d: No such file or directory Makefile:110: account_handler.d: No such file or directory Makefile:110: char_gen.d: No such file or directory Makefile:110: world.d: No such file or directory Makefile:110: character.d: No such file or directory Makefile:110: room.d: No such file or directory Makefile:110: exit.d: No such file or directory Makefile:110: extra_descs.d: No such file or directory Makefile:110: object.d: No such file or directory Makefile:110: body.d: No such file or directory Makefile:110: zone.d: No such file or directory Makefile:110: room_reset.d: No such file or directory Makefile:110: account.d: No such file or directory Makefile:110: list.d: No such file or directory Makefile:110: property_table.d: No such file or directory Makefile:110: hashtable.d: No such file or directory Makefile:110: map.d: No such file or directory Makefile:110: storage.d: No such file or directory Makefile:110: set.d: No such file or directory Makefile:110: buffer.d: No such file or directory Makefile:110: bitvector.d: No such file or directory Makefile:110: numbers.d: No such file or directory Makefile:110: prototype.d: No such file or directory Makefile:110: hooks.d: No such file or directory Makefile:110: parse.d: No such file or directory Makefile:110: near_map.d: No such file or directory Makefile:110: command.d: No such file or directory Makefile:110: char_vars/char_vars.d: No such file or directory Makefile:110: set_val/set_val.d: No such file or directory Makefile:110: olc2/olc.d: No such file or directory Makefile:110: olc2/redit.d: No such file or directory Makefile:110: olc2/zedit.d: No such file or directory Makefile:110: olc2/esedit.d: No such file or directory Makefile:110: olc2/medit.d: No such file or directory Makefile:110: olc2/oedit.d: No such file or directory Makefile:110: olc2/bedit.d: No such file or directory Makefile:110: olc2/accedit.d: No such file or directory Makefile:110: olc2/pcedit.d: No such file or directory Makefile:110: olc2/protedit.d: No such file or directory Makefile:110: editor/editor.d: No such file or directory Makefile:110: editor/notepad.d: No such file or directory Makefile:110: items/items.d: No such file or directory Makefile:110: items/portal.d: No such file or directory Makefile:110: items/iedit.d: No such file or directory Makefile:110: items/container.d: No such file or directory Makefile:110: items/furniture.d: No such file or directory Makefile:110: items/worn.d: No such file or directory Makefile:110: scripts/scripts.d: No such file or directory Makefile:110: scripts/pychar.d: No such file or directory Makefile:110: scripts/pyobj.d: No such file or directory Makefile:110: scripts/pymud.d: No such file or directory Makefile:110: scripts/pyroom.d: No such file or directory Makefile:110: scripts/pyexit.d: No such file or directory Makefile:110: scripts/script_editor.d: No such file or directory Makefile:110: scripts/pyplugs.d: No such file or directory Makefile:110: scripts/pyevent.d: No such file or directory Makefile:110: scripts/pystorage.d: No such file or directory Makefile:110: scripts/pyauxiliary.d: No such file or directory Makefile:110: scripts/triggers.d: No such file or directory Makefile:110: scripts/trigedit.d: No such file or directory Makefile:110: scripts/trighooks.d: No such file or directory Makefile:110: time/time.d: No such file or directory Makefile:110: socials/socials.d: No such file or directory Makefile:110: socials/socedit.d: No such file or directory Makefile:110: alias/alias.d: No such file or directory Makefile:110: help/help.d: No such file or directory Building dependencies for help/help.c Building dependencies for alias/alias.c Building dependencies for socials/socedit.c Building dependencies for socials/socials.c Building dependencies for time/time.c Building dependencies for scripts/trighooks.c Building dependencies for scripts/trigedit.c Building dependencies for scripts/triggers.c Building dependencies for scripts/pyauxiliary.c Building dependencies for scripts/pystorage.c Building dependencies for scripts/pyevent.c Building dependencies for scripts/pyplugs.c Building dependencies for scripts/script_editor.c Building dependencies for scripts/pyexit.c Building dependencies for scripts/pyroom.c Building dependencies for scripts/pymud.c Building dependencies for scripts/pyobj.c Building dependencies for scripts/pychar.c Building dependencies for scripts/scripts.c Building dependencies for items/worn.c Building dependencies for items/furniture.c Building dependencies for items/container.c Building dependencies for items/iedit.c Building dependencies for items/portal.c Building dependencies for items/items.c Building dependencies for editor/notepad.c Building dependencies for editor/editor.c Building dependencies for olc2/protedit.c Building dependencies for olc2/pcedit.c Building dependencies for olc2/accedit.c Building dependencies for olc2/bedit.c Building dependencies for olc2/oedit.c Building dependencies for olc2/medit.c Building dependencies for olc2/esedit.c Building dependencies for olc2/zedit.c Building dependencies for olc2/redit.c Building dependencies for olc2/olc.c Building dependencies for set_val/set_val.c Building dependencies for char_vars/char_vars.c Building dependencies for command.c Building dependencies for near_map.c Building dependencies for parse.c Building dependencies for hooks.c Building dependencies for prototype.c Building dependencies for numbers.c Building dependencies for bitvector.c Building dependencies for buffer.c Building dependencies for set.c Building dependencies for storage.c Building dependencies for map.c Building dependencies for hashtable.c Building dependencies for property_table.c Building dependencies for list.c Building dependencies for account.c Building dependencies for room_reset.c Building dependencies for zone.c Building dependencies for body.c Building dependencies for object.c Building dependencies for extra_descs.c Building dependencies for exit.c Building dependencies for room.c Building dependencies for character.c Building dependencies for world.c Building dependencies for char_gen.c Building dependencies for account_handler.c Building dependencies for auxiliary.c Building dependencies for log.c Building dependencies for races.c Building dependencies for cmd_builder.c Building dependencies for cmd_admin.c Building dependencies for cmd_misc.c Building dependencies for cmd_manip.c Building dependencies for cmd_comm.c Building dependencies for event.c Building dependencies for strings.c Building dependencies for io.c Building dependencies for socket.c Building dependencies for save.c Building dependencies for mccp.c Building dependencies for action.c Building dependencies for movement.c Building dependencies for inform.c Building dependencies for handler.c Building dependencies for interpret.c Building dependencies for utils.c Building dependencies for mud.c Building dependencies for gameloop.c Compiling gameloop.c In file included from gameloop.c:39: scripts/scripts.h:25:20: error: Python.h: No such file or directory scripts/scripts.h:26:26: error: structmember.h: No such file or directory In file included from gameloop.c:39: scripts/scripts.h:73: error: syntax error before ‘PyObject’ scripts/scripts.h:88: error: syntax error before ‘*’ token scripts/scripts.h:88: warning: type defaults to ‘int’ in declaration of ‘charGetPyForm’ scripts/scripts.h:88: warning: data definition has no type or storage class scripts/scripts.h:89: error: syntax error before ‘*’ token scripts/scripts.h:89: warning: type defaults to ‘int’ in declaration of ‘roomGetPyForm’ scripts/scripts.h:89: warning: data definition has no type or storage class scripts/scripts.h:90: error: syntax error before ‘*’ token scripts/scripts.h:90: warning: type defaults to ‘int’ in declaration of ‘objGetPyForm’ scripts/scripts.h:90: warning: data definition has no type or storage class scripts/scripts.h:95: error: syntax error before ‘*’ token scripts/scripts.h:95: warning: type defaults to ‘int’ in declaration of ‘charGetPyFormBorrowed’ scripts/scripts.h:95: warning: data definition has no type or storage class scripts/scripts.h:96: error: syntax error before ‘*’ token scripts/scripts.h:96: warning: type defaults to ‘int’ in declaration of ‘roomGetPyFormBorrowed’ scripts/scripts.h:96: warning: data definition has no type or storage class scripts/scripts.h:97: error: syntax error before ‘*’ token scripts/scripts.h:97: warning: type defaults to ‘int’ in declaration of ‘objGetPyFormBorrowed’ scripts/scripts.h:97: warning: data definition has no type or storage class scripts/scripts.h:128: error: syntax error before ‘*’ token scripts/scripts.h:128: warning: type defaults to ‘int’ in declaration of ‘restricted_script_dict’ scripts/scripts.h:128: warning: data definition has no type or storage class scripts/scripts.h:129: error: syntax error before ‘*’ token scripts/scripts.h:129: warning: type defaults to ‘int’ in declaration of ‘unrestricted_script_dict’ scripts/scripts.h:129: warning: data definition has no type or storage class scripts/scripts.h:135: error: syntax error before ‘*’ token scripts/scripts.h:140: error: syntax error before ‘*’ token scripts/scripts.h:140: error: syntax error before ‘*’ token scripts/scripts.h:141: warning: type defaults to ‘int’ in declaration of ‘run_script_forcode’ scripts/scripts.h:141: warning: data definition has no type or storage class scripts/scripts.h:147: error: syntax error before ‘*’ token scripts/scripts.h:152: error: syntax error before ‘*’ token scripts/scripts.h:152: error: syntax error before ‘*’ token scripts/scripts.h:152: warning: type defaults to ‘int’ in declaration of ‘eval_script’ scripts/scripts.h:152: warning: data definition has no type or storage class scripts/scripts.h:169: error: syntax error before ‘PyObject’ scripts/scripts.h:174: error: syntax error before ‘PyObject’ gameloop.c: In function ‘main’: gameloop.c:124: warning: implicit declaration of function ‘time’ make: *** [gameloop.o] Error 1 tanlaan@tanlaan:~/Desktop/nakedmudv3.1/src$ module.mk,supposed to edit if having problems with scripting ################################################################################ # # Python scripting stuff. # # To embed python as a scripting language, you will probably have to toy around # with the make process. Sadly, this process can be very different from computer # to computer. I've tried to set the defaults to what I've seen to be the most # common settings, but chances are you will have to tweak a couple things in # this file. There are three variables in this makefile you will have to edit. # They are PYTHONTOP, LIBS, and C_FLAGS. I'll try to walk you through # everything you'll need to do to get these variables all proper-like: # # STEP 1: Locating Python # Figure out where your python directory is. If you do not know how to do # this, you can do a "locate" for one of the Python headers: # > locate Python.h # # wait for the path to Python.h to show up. You'll have to doctor it a bit; # from the path, you will want to figure out the top directory for python, and # where all of the header files are located. If the path looks something like: # /usr/lib/python2.4/include/Python.h # # PYTHONTOP would be /usr/lib/python2.4 # and C_FLAGS should include -I$(PYTHONTOP)/include # # If you are not running Python v2.4 or newer, it is strongly suggested you # upgrade before continuing (see http://www.python.org). # # # STEP 2: Getting the linking requirements for python. # This is a relatively easy step; start up python (from shell, type "python") # and do this: # # >>> import distutils.sysconfig # >>> distutils.sysconfig.get_config_var('LINKFORSHARED') # # a string will print that looks something like: # '-Xlinker -export-dynamic' # # copy this string (minus the two surrounding ') to the LIBS variable at the # end of this makefile. # # # STEP 3: Compiling # Try compiling. If you get a bunch of errors, go onto step 4. # # # STEP 4: Finding the runtime library. # Some operating systems will require that you take extra steps to link in # the python runtime library. This is the step people seem to be having most # trouble with, so you may want to pay special attention to this step. What # you are going to need to do is find the location of your python runtime # library and add it to the LIBS variable like you did for the other # libraries in step 2. Change your directory to PYTHONTOP and type: # find . -name "libpython*a" -print # # When it spits out the address to the python library, add a string like this # to the LIBs variable at the bottom of this file: # -L/ -lpythonXXX # # Where is the path to the library (minus the library file itself), # and XXX is the version number of your python. So, for instance, on my # computer, I had to add the following line to LIBS: # -L/usr/local/lib/python2.4/config -lpython2.4 # # If this is not working for you, there are other ways to link in the Python # runtime library. For instance, you might be able to simply add the whole # pathname of the library to your LIBS variable. The above example would # translate into: # /usr/local/lib/python2.4/config/libpython2.4.a # # There are many ways to skin this cat. Google should be able to provide you # with a couple others if these two are not working for you. I would also be # more than willing to assist you if you are running into problems. # # At this point, you should attempt to compile your code. If you are still # getting errors, move on to step 5. # # # STEP 5: Adding more libraries. # Still won't compile? You may need to add some extra libraries that Python # requires. These are usually quite easy to find; if you are getting messages # messages like "undefined references to sin", "undefined reference to # pthread_start" etc... you will want to add the libraries that these # functions belong to. for each one that comes up, do a "man XXX" and read # the man file until you figure out which library the function belongs to. # Ones that I found were neccessary for me to include on Fedora were -lm, # -lutil and -ldl . This, of course, will vary from OS to OS. Add all of the # libraries you need to the end of LIBS, where you put the libraries from # STEP 2. Try Recompiling. If things still aren't working for you, proceed # to STEP 6. # # # STEP 6: On your own # If you've gotten to this step, I don't really have much more to say. I # would suggest finding some Python BBs and explaining your problem. Perhaps # someone a bit more experienced will be able to help out. # ################################################################################ SRC += scripts/scripts.c \ scripts/pychar.c \ scripts/pyobj.c \ scripts/pymud.c \ scripts/pyroom.c \ scripts/pyexit.c \ scripts/script_editor.c \ scripts/pyplugs.c \ scripts/pyevent.c \ scripts/pystorage.c \ scripts/pyauxiliary.c \ scripts/triggers.c \ scripts/trigedit.c \ scripts/trighooks.c # the top level directory of python. PYTHONTOP = /usr/local/include # the folder where python headers are located C_FLAGS += -I$(PYTHONTOP)/python2.4 # libraries we have to include. LIBS += -Xlinker -export-dynamic -lm -ldl -lutil -L/usr/local/lib/python2.4/config -lpython2.4