BeanMUD 0.1.2

BeanMUD is in no way complete. While from a user's standpoint it may be mostly functional, from a development standpoint it is quite incomplete.

These are just my observations from running a copy of the server as well as playing on it.

What the Server is Capable of
  • Players:
    The beanMUD.ini file can be used to limit the number of simultaneous logins. The Server still has some more problems that should be taken into consideration when planning usage that will be covered later
    Players can perform basic actions such as moving, fighting, and collecting objects. Not all planned functions work at the moment.
  • Communication:
    The server allows players to use a MUD-wide chat, as well as a room-only chat. There is no BBS or news/mail system implemented yet.
  • Magic:
    There is a script-based magic system. This was intended for use in spells used by players, administration, objects, rooms, and mobiles. Current limitations give the Administrative staff a single resurrect / full heal spell.

    "Magic [is] not ready. I was hoping for a scripting system, but it doesn't look like it will happen any time soon unless I re-read the code."
    - Beancurd
  • Regeneration:
    Once a Mobile is killed it will re-spawn after a short while, thus keeping the world populated.
    Players can stand and regenerate these slowly, rest for a higher rate, or sleep for the highest level of recovery.
  • The `warp` Command:
    This command acts much like the `recall` command used in MERC/DIKU and DIKU MUDs with one notable exception. `warp` will only return the player to their last save location, if one has not saved then it returns the player to the original spawn point.
  • MUD Sound Protocol:
    BeanMUD supports the MUD Sound Protocol. BeanEDIT can be used to specify which file to play for particular zones.
What the Server is Incapable of
  • Mobiles:
    Mobiles can not be assigned levels. This was part of the original plan for mobiles, which were going to be treated as NPC types with player-like stats and fighting with the weapons and armour given to them.
  • Objects:
    Objects can not be read. This is a bit of a problem as objects do have a 'read' field for lists and other large amounts of text. Room descriptions have been used as a stop-gap for the time being.
What the Server can not do well
  • Class and Race Management:
    Class and Race management is handeled in three different locations:
    • beanMUD.ini
    • source
    • output script called durring creation
    If you want to add, remove or change a race or class, you have to edit all three files.
  • Behave with `telnet`:
    The server's output was designed primarily for zMUD, and not a normal Telnet client. This problem exists with all telnet clients, and either has something to do with how many characters beanMUD thinks make up a single line of text (too many), or how newline is handeled.
  • Behave:
    The server will function, but after a while it will spawn (if multi-threaded) a variable number of threads and always acquire all CPU time from processes of equal or lower priority. Oddly this does not appear to drastically change the response of the server to clients, or the OS' responsiveness, but is worrying as it might affect a lesser server.
What the Server may be able to do
  • User Accounts:
    There is no account management in the server to cull 'dead' and unused accounts. Accounts take up a rather small amount of space (~1KB per account) so management may not be necessary.
  • IP Interface Selection:
    BeanMUD was developed on computers that had a single modem as it's IP interface. A method of selection another IP for the server to listen to request on may be coded in, but we have forgotten how to use it now that we have either multiple IP addresses or multiple network interfaces.
    The default behaviour of BeanMUD is to listen on the IP closest to 0.0.0.0
What the Source can do
  • Documentation:
    The source code may be able to offer a certain level of documentation beyond what I have supplied.
What I or Beancurd can not do
  • Help you any Further:
    I (mors_d) never touched the source code when it was being written, and don't know enough programming to make heads or tails of it now. Beancurd, likewise, has forgotten a good deal if not all of the code since he zipped it up in the late 90's. If you can find any of the other members of the development team, they won't help you either.