Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
Valkenar
Beginner


Joined: 12 Aug 2009
Posts: 15

PostPosted: Wed Aug 12, 2009 8:31 pm   

Database module
 
I'm looking for a mud client that will allow me to create item and room databases that I can easily share between computers and people (emailing discrete files is sufficiently easy). After looking over the cmud documentation and projects lists I think cmud might work, but I have a few questions:

1. What level of priority is the database rewrite? Is it even being worked on? Is there even a rough eta for it?

2. When it does come out, is it likely going to be possible to migrate existing databases to the new format? How compatible will code written to the current database module be?

3. Is the existing database module reliable (whether in beta or stable)? Is it safe to use in its current state or is waiting for the new version

4. Is it scalable to a few tens of thousands of rooms, items and keywords (each record being approximately 15 columns) . How fast or slow is a query on text in the description of an item or room going to be at this size?

I'm posting this in the beta forum because this seems like a development question. If there's a better place for it, just point me at it and I'll repost there.

Thanks.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Aug 12, 2009 11:29 pm   
 
1) See the Zugg's To-Do list that is a sticky-post in this forum for my huge list of projects. As you'll see, the database rewrite is pretty far down the site. And everything these days seem to be taking longer and longer to get finished. I have no ETA for the database at this time. It's certainly not going to be in 2009.

2) I always maintain compatibility with past products. So yes, existing databases will be converted into whatever new format is used.

3) The existing database module is a direct port of the database module from zMUD. That module has been out and useable for many years. But there are some quirks with CMUD, such as the window not docking with the rest of windows, and minor stuff like that.

4) The current database is not really a true "database". It is just a flat file that is read into memory. No indexing or anything like that. The whole purpose of the rewrite of this database module is to convert it to a *real* SQL database. My guess is that the current database would *not* scale well for tens of thousands of rooms.

Instead of waiting for the new database module, you might want to take advantage of the Lua support in CMUD and write your own scripts and modules using the SQL interface within Lua. You'd need to have people using your script install the Lua SQL library (doesn't come with CMUD), but I know some other people in this forum have used Lua SQL stuff successfully. Or, you can try using the ADO/MDAC COM-based database engine that Microsoft has built into Windows, but I find that to be a bit flaky these days and there are always DLL version issues with the Microsoft ADO/MDAC stuff.

But whether using Lua SQL or Microsoft ADO, at least you'd have a real scaleable SQL database then. You just wouldn't get the front-end GUI that CMUD provides for it's database module. Then again, if you are using a standard SQL format, such as SQLite, there are free open-source programs that can be used to manage the database front-end.

At least CMUD is one of the few clients that has the Lua and COM scripting interface to allow you to use an external database system like that.
Reply with quote
Valkenar
Beginner


Joined: 12 Aug 2009
Posts: 15

PostPosted: Fri Aug 14, 2009 12:13 am   
 
Zugg wrote:

At least CMUD is one of the few clients that has the Lua and COM scripting interface to allow you to use an external database system like that.


Thanks for the info, Zugg. Sounds like the lua sql module may be the way to go. Now I'm not a lua guru, but I know a little bit, having integrated lua scripting into an application of my own. My understanding (quite likely flawed as I really just hacked in some very basic scripting extensions) is that there have to be extensions provided from the host application in order for Lua to be able to do things. Is that not true for the sql libary you're talking about? Does lua have a mechanism for extending capabilities in a way not explicitly defined by the host application? I sort of thought Lua intentionally didn't do that sort of thing in order to provide a secure scripting environment.

Anyhow, I'll do a search for that here, but it sounds promising if it's as simple as you've described. I'll do some searching on these forums for more info also.
Reply with quote
wrym
Magician


Joined: 06 Jul 2007
Posts: 349
Location: The big palace, My own lil world

PostPosted: Fri Aug 14, 2009 12:37 am   
 
lua is actually very expandable. after correctly locating additional libraries it's as simple as

Code:
require(packagename)


for a large list of freely available packages see:
http://luaforge.net/

and for a luasql module see:
http://luaforge.net/projects/luasql/
http://www.keplerproject.org/luasql/

I believe there are 2-3 posts about using this package with cmud.
_________________
"To the engineer, all matter in the universe can be placed into one of two categories: (1) things that need to be fixed, and (2) things that will need to be fixed after you've had a few minutes to play with them" - Scott Adams, The Dilbert Principle
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net