Karazeh
Karazeh copied to clipboard
Karazeh is a library for patching desktop software, suitable for use as a game launcher.
Karazeh
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.
Building
See the [[./doc/building.md]] guide.
Usage
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
Tests
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=1if you want more outputROOT=/path/to/rootshould 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:1234should point to the fixture server. Defaults tohttp://localhost:9393
License
Copyright 2011-2016 Ahmad Amireh [email protected].
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: