Svof is an AI system for Achaea, an online MUD. It has advanced and adaptable curing capabilities, defence raising, name highlighting, limbcounter tracking and other features. It is the free and open-source version of what used to be Svo.
To download the system for use, see here.
Extensive documentation for the system is available 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 useful information on the code, acquaint yourself with the code style, and read the design principles.
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.
Svof is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You must read the license before using Svof source code.
-
Obtain Svof source code. Either clone using Git (which will allow you to easily update the Svof code and contribute back) or a zip snapshot (which doesn't require knowledge of Git).
-
Uninstall Svof/Svof 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:
- Docker: install Docker CE on your platform of choice. You'll need docker and docker-compose in particular.
-
Open the command-line and navigate to the Svof folder, and run:
On Ubuntu: ./generate.lua -o yourclasshere In Windows: generate.lua -o yourclasshere On OSX: lua5.1 generate.lua -o yourclasshere On Docker: CLASS=yourclasshere docker-compose up
-
Replace with the path to the XML files, and then run this command in Mudlet (requires 3.0 - this is only needed for the development version, normal Svof can run on 2.1)
lua installModule([[<Svof Git location>/svo (burncounter).xml]]) installModule([[<Svof Git location>/svo (dragonlimbcounter).xml]]) installModule([[<Svof Git location>/svo (elistsorter).xml]]) installModule([[<Svof Git location>/svo (enchanter).xml]]) installModule([[<Svof Git location>/svo (fishdist).xml]]) installModule([[<Svof Git location>/svo (inker).xml]]) installModule([[<Svof Git location>/svo (install the zip, not me).xml]]) installModule([[<Svof Git location>/svo (knightlimbcounter).xml]]) installModule([[<Svof Git location>/svo (logger).xml]]) installModule([[<Svof Git location>/svo (magilimbcounter).xml]]) installModule([[<Svof Git location>/svo (metalimbcounter).xml]]) installModule([[<Svof Git location>/svo (mindnet).xml]]) installModule([[<Svof Git location>/svo (monklimbcounter).xml]]) installModule([[<Svof Git location>/svo (namedb).xml]]) installModule([[<Svof Git location>/svo (offering).xml]]) installModule([[<Svof Git location>/svo (peopletracker).xml]]) installModule([[<Svof Git location>/svo (priesthealing).xml]]) installModule([[<Svof Git location>/svo (priestlimbcounter).xml]]) installModule([[<Svof Git location>/svo (priestreport).xml]]) installModule([[<Svof Git location>/svo (reboundingsileristracker).xml]]) installModule([[<Svof Git location>/svo (refiller).xml]]) installModule([[<Svof Git location>/svo (runeidentifier).xml]]) installModule([[<Svof Git location>/svo (simple mindnet).xml]]) installModule([[<Svof Git location>/svo (sparkstracker).xml]]) installModule([[<Svof Git location>/svo (stormhammertarget).xml]])
-
When prompted to find the Svof folder location, select the /own svo folder
-
Go to Toolbox > Module Manager and tick all 'don't sync' boxes, so they become 'sync', for all Svof XML files.
All set!
Code in Svof 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 Svof (using generate.lua -o <your class> above) and reload it (by restarting your profile or Mudlet).
2011-2015, Vadim Peretokin.