[DGD] getting started with DGD

Felix A. Croes felix at dworkin.nl
Sat Mar 13 13:12:40 CET 2004


Jeff Moore <jeff at procata.com> wrote:

> Its been about 8 years since I've done anything in LPC.  I just ran 
> across DGD the other day and it looked interesting so I started playing 
> around with it.
>
> I've taken a look a the mudlibs available and started playing around 
> with the kernel mudlib.
>
> I was re-organizing user.c and found that I was getting a seg fault 
> when executing the line:
>
> connect(previous_object());

Either you have been reorganizing the kernel mudlib more than you've
told us, or you have modified DGD, for neither the kernel mudlib nor
DGD defines a connect() function.  Or do you perhaps mean connection()? :)

If so, I would appreciate it if you would run DGD inside gdb or a
similar debugger, and post here where in the source code the error
occurs (or better yet, the entire stack trace).


> I also have some questions about DGD that I could not find the answer 
> to in the various documentation.  Its probably there.  sorry if these 
> are FAQs.

There is a link to the FAQ on the main website, as well as various
other links to useful DGD resources.


> First, I've read a little about this idea of re-compiling objects on 
> the fly.  To test this, I was re-compiling user.c, but I would get 
> various errors as if the objects that user.c inherits from were out of 
> sync.  I could solve the problem by inserting prototypes that would 
> normally be unnecessary.  In fact, if I shutdown the mud and brought it 
> back up, then I could take the prototypes out and everything would 
> compile fine.  Is the kernel mud not set up for this? Am I doing 
> something wrong? Is this what the objectd code that I ran across does?  
> If so, why is this not in the kernel?

Simple solution for the kernel library: always upgrade (destruct and
recompile) inherited objects first.  Different solutions to handle
this automatically exist, probably including the objectd that you ran
across.


> Which function searches one string for another or find the position of 
> an element in an array?

For strings sscanf, for arrays whatever you implement in LPC.


> Is there a way to get a slice based on the end of a string, but not 
> using strlen.  something like [0..<1]?

Not in DGD.


> Is it possible to move the /System directory out of the USR directory 
> without changing the kernel?

No.


> Is it possible to listen to port 80 for an in game http server as well 
> as to listen for the telnet port?

Yes, though unix won't let a non-root process listen on port 80.


> How do you create functions that every object can call without an 
> explicit include or inherit without modifying the kernal auto object?

You create a second-level auto object.  Check the posting called
"Unknown kernel library features part 1" in the searchable mailing
list archive, a link to which you can find on the main web page.

Regards,
Dworkin
_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list