m&mf is an AI system for Lusternia, an online MUD. It has advanced and adaptable curing capabilities, defence raising, name highlighting, influencing, and other features. It is the free and open-source version of what used to be m&m.
To download the system for use, see here.
To code in the system itself, follow instructions below on how to set it up. See also the [developer readme](Developer readme.md) for more useful information.
If you're looking for something to do, have a look at the existing issues/features list, and have a look at the wiki on information about the project.
m&mf is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You must read the license before using m&mf source code.
-
Obtain m&mf source code. Either clone using Git (which will allow you to easily update the m&mf code and contribute back) or a zip snapshot (which doesn't require knowledge of Git).
-
Uninstall m&mf/m&m you currently have installed. This is necessary to run the developer version of the system.
-
Install Lua, LuaFileSystem, LuaRocks, Penlight, and 7zip.
- Windows: download and install latest LuaForWindows, which all the Lua components indluded. Install 7zip from here.
- Ubuntu: install Lua, LuaFileSystem, LuaRocks, Penlight, and 7zip.
- OSX: install Homebrew.
- Using Brew from your Terminal:
brew install lua
andbrew install p7zip
.- Afterwards, make sure to
brew install lua5.1
.
- Afterwards, make sure to
- Using LuaRocks from your Terminal:
luarocks install luafilesystem
andluarocks install penlight
- Using Brew from your Terminal:
-
Open the command-line and navigate to the m&mf folder, and run:
On Ubuntu: ./generate.lua -o <your class> In Windows: generate.lua -o <your class> On OSX: lua5.1 generate.lua -o <your class>
-
Replace <m&mf Git location> with the path to the XML files, and then run this command in Mudlet.
lua installModule([[<m&mf Git location>/m&m (carriontracker).xml]]) installModule([[<m&mf Git location>/m&m (demesne).xml]]) installModule([[<m&mf Git location>/m&m (harvester).xml]]) installModule([[<m&mf Git location>/m&m (healing).xml]]) installModule([[<m&mf Git location>/m&m (import me).xml]]) installModule([[<m&mf Git location>/m&m (influencer).xml]]) installModule([[<m&mf Git location>/m&m (meldtracker).xml]]) installModule([[<m&mf Git location>/m&m (namedb).xml]]) installModule([[<m&mf Git location>/m&m (obey).xml]]) installModule([[<m&mf Git location>/m&m (peopletracker).xml]]) installModule([[<m&mf Git location>/m&m (plsorter).xml]])
-
When prompted to find the m&mf folder location, select the <m&mf Git location>/own m&mf folder
-
Go to Toolbox > Module Manager and tick all 'don't sync' boxes, so they become 'sync', for all m&mf XML files.
All set!
Code in m&mf comes from two places - Mudlet and the Lua files. In order to make a change in Mudlet (alias/trigger/script), edit in Mudlet directly, then hit Save Profile. Since you've installed the xml files as modules with the sync option, changes will be written back to the XML file automatically, and you'll see your Git client instantly show what you've changed. In order to make a change in the Lua files, edit the raw-* files directly (not the ones in the bin/ folder), save, rebuild m&mf (using generate.lua -o <your class> above) and reload it (by restarting your profile or Mudlet).
2010-2015, Vadim Peretokin.