Hey before I dive into my problem.
This Forum seemed the best place to put this topic in and don't please beat me up if it isn't.

I'm currently converting an older project of mine to a all-in-one package that I could (possibly) ship for linux.
It's a TeamSpeak client running on a server without graphical display and doing event driven actions like playing music from YouTube, SoundCloud, etc.
To achieve other features like userjingles and automatic restoring of the last known channel of a client I need access
to functions currently implemented in the client query but not within the lua api (onClientEnterView and other events).

Basically what I tried to do is, extend the lua api by some additional functions I wrote in C and hoped I could use lua's support of loading dynamic libraries to extend its functionality.

I'm pretty sure, that the lua_plugin is using lua 5.1.4 so I tried to build against this version of lua. But the only thing I managed so far is to crash the client the moment it tries to load the extension.
Since the lua binary itself is able to load the function I see two possible problems.
a) I am using the wrong version of lua.
b) The lua_plugin in Teamspeak isn't compiled with position independent code and once I call lua_c functions I jump at random locations in memory -> segv.

So the question is
will you ever consider updating the lua_plugin to add missing functionality from the clientsdk,
consider releasing the source code of the lua_plugin so I can extend it's code as I please
or try to update to lua 5.1.5 and fix the plugin to be able to load code?

And yes I do know that I could use io.popen("echo clientnotifyregister schandlerid=0 event=any | nc localhost 25936", "r") to emulate that functionality.
But I think there is a limit on how hacky i do want do write this lua plugin. It's already spawning enough processes on that machine that I consider it a security hole.