mcproxy (2011)

Linux/OSX, C, Glib

mcproxy is a modular Minecraft protocol proxy daemon written in C. Its main use is to manipulate and/or analyze Minecraft protocol data in real-time on either server- or client-side being completely transparent to both parties.

A functional proxy consists of two parts: the core (mcproxy binary) and at least one handler library. The core takes care of networking, threading, protocol decoding and encoding, memory management etc. A handler library registers a set of callback functions to the core which get called whenever specific event occurs (for example new client connects or specific type of protocol packet arrives). It is here where required logic has to be implemented. The core publishes its API for use by handler libraries in the form of a static library (libproxyapi) which all handler libraries are required to link to.

Recent addition of client and server modes of operation makes it possible to implement a full Minecraft client/server using mcproxy as a framework.

Source code