I have chosen Jython (Java implementation of Python) to be the main scripting language for extending the base RingMUD system. It will mainly be used for creating new in-game commands and new EffectCreators. It may also be used in other areas, but more on that later.
After many years of stagnation in this area, it is finally possible to define game data outside of hardcoded stuff. Rooms in the world can now be defined in XML files.
After more consideration, I've actually realize that the MIT license doesn't give the same "feel" as the CDDL and have switched to the GPL. Hurrah.
So, with Apache Mina SSHD, there is now a pure Java implementation of an SSH server/client. The best part about this SSH server is that it is easily pluggable. One can write classes to provide authentication information as well as an SSH shell. Therefore, writing an authenticator that is based on the MUD's (currently non-existent) authentication methods and a shell that works like the regular telnet interface equals instant secure access to RingMUD. Just a random thought...... read more
Latest commit changes the way the program is actually started. It provides the beginnings of a start/stop main interface and the ability to define "modules" within the RingMUD system. There are currently definitions for the server itself and the new preferences manager.
In the interest of increasing (legal) compatibility between this MUD engine and other, similar projects that may contain useful bits we wish to utilize, the licensing for the code has been changed to the MIT license. This keeps the "feel" of the CDDL license while allowing GPL compatibility. As an inverse of the original reason for doing this, other projects will also more easily benefit from any code they may find and use in this project.
So I've worked a bit more on the MUD in the past few days. I came up with a to-do list to get this thing from alpha into beta status. "Beta" in this case means that the basic system is done and the content needs to be created for the engine.
The to-do list has 9 things on it, and I've already knocked out three of them. They had been bugs or disorganization plaguing the code for quite some time, but no longer!... read more
....more or less, anyway. I think I've finally managed to get the movement code refactored and working in a manner similar to what it used to be so long ago. The next step is to return to what was being worked on before that (effects and classes) and continue the never-ending RingMUD quest.
On a side note, the code is now on a subversion repository as I find it less annoying and less complicated than CVS.
With the release of D&D 4th edition almost here, I've had a chance to read some of the new rules. The 4th edition rules appear to be far easier to implement on a computer than the 3.5 rules, especially in regards to dealing with spells. The code will be updated to reflect the 4th edition system on the next major update. And hopefully the movement code will be fixed by then too.
All of this is assuming that WotC's licensing isn't horridly restrictive. I don't think they'll stumble upon this little project ever, but who knows. Better to wait until the license comes out and is clarified.
The movement code originally worked by having each Room object link to up to 6 other Rooms (one for each compass direction + up and down). This worked for quite some time until we got to the point where we needed to build the zone loader. The MUD now uses a 4-dimensional coordinate system to keep track of where everything is in the world. There are still some bugs with it, but it will make building the world much easier.
Since I (currently) fail at using CVS, please access the RingMUDReal directory for the actual up to date source code. I somehow managed to remove the entire repository from the RingMUD directory...