June 20, 2005
Hey guys,

Over my last semester in college (spring '05) I was working on an independent study to develop a simple client/server MMORPG system.  Naturally, I chose to implement it in D. =D

My initial design is pretty good I think, but incomplete.  I ran out of time at the end and had to hack something up to show my professor.  I received an A for the project, but that's probably because I was the only one in the CS dept. with the balls enough to even attempt the project. =D Anyway...

I thought I'd release the server code at this point as GPL. =)

Please note that the server only runs on Linux right now, but can be easily modified to run under a Windows server.  Most of the code is platform independent.

You can find the code at http://jamesdunne.no-ip.org/~drawkcin/.

Fair warning: don't be surprised if the site is down, as it is running off my home internet connection.  It should be pretty stable however.

I'd also like to note that I will probably be working on this project more in the future and might even write a full game server with it.  I'm releasing the server code at this point so that others can branch off my basic work, however good/bad it may be.

If anyone is interested in developing with this system and wants to branch off and use it for their own project, you are fully welcome to do so.  If you want to put it up on dsource.org, go ahead.  I think it'd be cool to see a fully free MMORPG server system written in D!

Enjoy

Regards,
James Dunne
June 20, 2005
In article <d97b48$1h4f$1@digitaldaemon.com>, James Dunne says...
>
>Hey guys,
>
>Over my last semester in college (spring '05) I was working on an independent study to develop a simple client/server MMORPG system.  Naturally, I chose to implement it in D. =D
>
>My initial design is pretty good I think, but incomplete.  I ran out of time at the end and had to hack something up to show my professor.  I received an A for the project, but that's probably because I was the only one in the CS dept. with the balls enough to even attempt the project. =D Anyway...
>
>I thought I'd release the server code at this point as GPL. =)
>
>Please note that the server only runs on Linux right now, but can be easily modified to run under a Windows server.  Most of the code is platform independent.
>
>You can find the code at http://jamesdunne.no-ip.org/~drawkcin/.
>
>Fair warning: don't be surprised if the site is down, as it is running off my home internet connection.  It should be pretty stable however.
>
>I'd also like to note that I will probably be working on this project more in the future and might even write a full game server with it.  I'm releasing the server code at this point so that others can branch off my basic work, however good/bad it may be.
>
>If anyone is interested in developing with this system and wants to branch off and use it for their own project, you are fully welcome to do so.  If you want to put it up on dsource.org, go ahead.  I think it'd be cool to see a fully free MMORPG server system written in D!
>
>Enjoy
>
>Regards,
>James Dunne

P.S.  The server requires MySQL, MinTL, Locks, Derelict, and DDBI; all of which are included.

The SQL DDL for the MySQL tables is in the sql/ folder and the drawkcin/objects/sql/ folder.  They are named '.ddl.sql' files.  Execute them in any order.

The default database name is 'drawkcin'.  You can set the password to anything
you want (change in drawkcin/server/dblock.d:dbConnect() function).

I have included copies of all libraries that I used while developing, including MinTL, Locks, DDBI, and Derelict.  You have to have MySQL installed with development libraries.  Copy the libmysqlclient_r.a into the libs/ folder. There is already one there from my system, which may or may not work.  I have no idea.  Best to replace it with your own.

There is one nasty memory leak bug.  It only happens when I enable the InternalHeartbeat message sending (in drawkcin/common/netbase.d).  Perhaps someone can track that little beastie down for a challenge.

Regards,
James Dunne