NOTE
You are currently reading the documentation for the master branch which is NOT stable and is not yet ready for production use. Refer to the stable branch if that's what you're looking for.
Karazeh is a cross-platform tool for patching and launching desktop applications, suited for PC games. The purpose of this tool is to provide you with the ability to update your users' clients with minimal hassle without requiring you to re-invent the wheel and write your own patcher.
Karazeh is meant to be used with Kiwi, the tool that generates the patch scripts which Karazeh consumes. They both should operate on Windows, Linux, and Mac OS X.
Both tools are freely available and licensed under the MIT license.
See the [[./doc/building.md]] guide.
Currently there's a basic example you can see under examples/basic
which
shows how to interface with the low-level APIs to get an application to fetch
the available updates and apply them in succession. However, it's likely we'll
be introducing higher level APIs to do this sort of thing in the future so you
wouldn't have to fret with so much details.
TBD
To run the unit tests you must launch an http server on port 9393 to serve the
files under /path/to/karazeh/test/fixture
for the tests.
If you have Python2 available, it's very easy:
(cd test/fixture; python2 -m SimpleHTTPServer 9393)
If you're on Arch Linux, you can use darkhttpd
instead:
pacman -S darkhttpd
darkhttpd /path/to/karazeh/test/fixture --port 9393
Afterwards, run the binary:
./build/karazeh_tests
The test runner can be customized using some environment variables:
VERBOSE=1
if you want more outputROOT=/path/to/root
should point to the root directory of the Karazeh repository; this is needed in case the built-in binary locators aren't doing their job correctly.HOST=http://customhost:1234
should point to the fixture server. Defaults tohttp://localhost:9393
Copyright 2011-2016 Ahmad Amireh ahmad@amireh.net.
The code is licensed under the GNU L-GPL v3.0 (see COPYING) and is free to use, link-against and embed within free and commercial applications.
Libraries used by Karazeh to link against and their respective licenses: