Send an e-mail to [email protected] OR visist: www.onelist.com/subscribe/swrmuds
Log in at www.onelist.com and unsubscribe OR email [email protected]
Use the following commands to compile and run the code:
tar -xzvf swr-1.01.tar.gz # unpacks and decompresses archive cd swr-1.0/src # changes directory make # compiles the code ./startup 7777 & # runs mud on port 7777 (change if you want)
The first screen is in dist/area/help.are under GREETING.
The login sequence is in dist/src/comm.c.
The screen that is shown after that is dist/system/mudtitle.ans or mudtitle.asc.
Then the message(s) of the day are shown from dist/area/help.are under MOTD, NMOTD, and IMOTD.
If you change the login sequence remember that you must leave in the credits including my name, Sean Cooper as creator of SWR, as well as the original Smaug, MERC and DIKU creators.
SWR 1.0 is is a Star Wars based SMAUG style mud.
Version 2.0 is NOT Star Wars based. It is based on the concept of creating a player only (no immortals) mud. It is buggy, undocumented and unfinished. I don't recommend it unless you are very good coder.
Some other differences in SWR 2.0 compared to version 1.0:
You can use ORB with some modifications to make new zones. I would only do rooms though. It is far easier to use the OLC (on line creation) though especially since any zones you make offline will have to be cleaned up later. Kind of counter productive to have to go over the same thing twice. Also you most likely cannot use orb after a zone has been saved by the mud - the mud sometimes adds extra info to zones that orb doesn't understand.
No.
Line 9 in the makefile probably has extra characters after the / most likely placed there by a windows program.
Some windows programs don't unpack or upload mud files correctly. Your best bet is to download the source code directly to the host computer and unzip it and compile it there.
The newbie landing area is not set as a landing pad. If you want to change it you can just add the flag with redit (can't remember which flag it is.. can_land I think)
If gcc can't find crypt all you usually have to do is remove the # sign before -lcrypt in the Makefile.
This is because libc comes with crypt built in whereas glibc doesn't and thus it has to be linked.
Type "ps xf" to see whats running the then you will see the PID which is a #. Normally something like 1869 or so. So then type "kill 1869". That should do it.
Just set up hangers similar to turrets and then fix up the land and launch code to go work with them.
You will have to make it so that when a ship lands in a hanger the lastdoc of the landed ship is the same as the bigger ship or use a new field that tells what ships its on for reboots.
Building is done by players using: explore, construct, landscape, bridge and survey
If you want to edit the rooms as the immortal you would use: rlist, redit and foldarea
Congradulations your mud just crashed. But don't worry this isn't windows.. it won't hang your system. In fact by dumping the contents of the computers memory into a file called "core" it will even help you fix the problem. (isn't linux great?)
A good way to debug is to use gdb. First schange to the directory that the executable file is located (usually bin or src). The type:
gdb swr ../area/core
It will tell you exactly which line of your program it crashed on. Some useful commands to use within gdb:
print [variable] (prints the value of that variable) bt (traces the program back through the calling functions) frame [framenuber] (selects a particular line from your backtrace) step (moves ahead one line of code)
The best way to use gdb is running gdb in one window and have the code open in another. If you can't immediately spot the problem use print to check all the variables and see if theres a bad pointer. Don't forget to address pointers with * or -> if you want to see what information they contain as opposed to what address they point to.
print ch->next_in_room->next_in_room->name or print * ch (to show all the data contained at that memory location)
Something to remember: the memory address 0x0 is NULL