[DGD]Object manager released

Chris Kaczor zor at mediaone.net
Thu Sep 21 03:08:05 CEST 2000


Yeah - I learn best from examples which is why I latched onto Melville - it
was already working in a way that I could map to my understanding of 2.4.5
and work from there.

The kernel lib is so basic I'm just lost on where to start - I have a vague
understanding of the basics but I'm not sure how to start even after reading
the documentation.

It seems the core of starting is in this paragraph:

When you begin building, start with making a new user object.  This object
should reside in /usr/System/obj and must save user information in /save, if
it saves at all.  The user object must inherit /kernel/lib/user.  Next,
create a telnet connection manager which can be installed using
"/kernel/sys/userd"->set_telnet_manager(obj).  Finally, create
/usr/System/initd.c which handles system-specific initialization (for
instance, the telnet connection manager must be installed from the create()
function).


The first part about creating a new /usr/System/obj/user.c and inheriting
user from the kernel lib seems pretty straightforward.  After that I'm
lost...

For example - "create a telnet connection manager" - does that mean I need
to load one that already exists or write my own?  It seems this is what
"\dgd\mud\kernel\obj\telnet.c" is for?

The creation of /usr/System/initd.c seems much like the first part - it
seems I need to give it a create function and install the telnet manager in
there - something like the following?

	static void create()
	{
	    compile_object("/kernel/obj/telnet");


"/kernel/sys/userd"->set_telnet_manager(find_object("/kernel/obj/telnet"));
	}

This seems to actually load but I get errors when I try to connect...maybe
that's not really the telnet manager?

If someone has some small files or code snippets to share that I could learn
from I would appreciate it.  It seems I am on the right track because I can
insert the error daemon code from Erwin in that create function above and I
get differently formatted error information when I try to connect - so at
least something is working - even though it is an error.  =)

Thanks!

Zor

-----Original Message-----
From: dgd-admin at list.imaginary.com
[mailto:dgd-admin at list.imaginary.com]On Behalf Of Geir Harald Hansen
Sent: Wednesday, September 20, 2000 8:39 PM
To: dgd at list.imaginary.com
Subject: Re: [DGD]Object manager released


Melville does not use the kernel library.  The kernel library is very
elegant and powerful.  If you want to make a mudlib from scratch, I would
suggest basing it on the kernel library.  But if you want to start with
an existing mudlib, then Melville is the only option.

> Please tell me if this means that I'm in way over my head in trying to use
> DGD and if I should give up.  I tried to read up on the kernel library and
> related things, but didn't find much in the way of documentation.

I don't think you are in over your head.  And you don't *have* to use all
the features of DGD.  Unfortunately, documentation is poor in most areas
of DGD.  And there is little example code, especially covering the new
features that make DGD a good option over other drivers out there.

That is something I think we should try to rectify.  At least now you have
error and object managers available if you want to try doing something with
the kernel library.  And it is my hope that others will also release
some code.

- Geir


List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list