|
Valkenar Beginner
Joined: 12 Aug 2009 Posts: 15
|
Posted: 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. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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. |
|
|
|
Valkenar Beginner
Joined: 12 Aug 2009 Posts: 15
|
Posted: 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. |
|
|
|
wrym Magician
Joined: 06 Jul 2007 Posts: 349 Location: The big palace, My own lil world
|
|
_________________ "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 |
|
|
|
|
|
|
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
|
|