www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - MMORPG basic engine release (incomplete)

reply James Dunne <james.jdunne gmail.com> writes:
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
Jun 20 2005
parent James Dunne <james.jdunne gmail.com> writes:
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
Jun 20 2005