Turn based strategy/exploration/management game in 2D. It is programmed in modern C++ using a client/server architecture, allowing for both single and multiplayer games.
The tool refgen is used to generate serialization code for netcom messages. Once reflection is included in the C++ standard, this should be done by compile-time type introspection and listing the member variables.
It is also used for mapping packet id codes to id strings, which can also be done using future reflection facilities.
sol (https://github.com/Rapptz/sol/) has bugs and is no longer maintained, while sol3 (https://github.com/ThePhD/sol2) has much better documentation / feature list. In the long run this will enable more polished and reliable Lua bindings (error checking, overloading, user types, etc.).