Alembic is a bare-bones, concurrent and heavily extensible server for multiplayer voxel games. It's also an excuse for me to experiment with the Elixir programming language and the coroutine-esque concurrency model favored by the BEAM (Erlang) VM atop which Elixir resides.
- Extensible – most functionality is implemented inside plugins
- Generic – write your own multiplayer voxel game without touching any non-plugin code
- Idiomatic – wherever possible, I'm adhering to Elixir and Erlang/OTP best practices
- Well-documented – anyone with a working knowledge of Elixir should be able to navigate the codebase
- Protocol-agnostic – client-specific code is confined to sealed-off adapter modules
- Modular – if I can split something off into its own library, I probably will
- The #mcdevs folks, for maintaining the most exhaustive documentation of the Minecraft protocol I could possibly hope for.
- clonejo, for publishing the mc-erl source code. mc-erl's architecture served as a partial reference to me when I was just starting out.
MIT License. Remix to your heart's content.