Shock collar integration

I am working on a project to integrate shock collars with ioquake3 (OpenArena, actually) and I could use a few pointers.

The idea is similar to the Tekken Torture Tournament of 2001, http://eddostern.com/works/tekken-torture-tournament/

Ideally, I want to monitor player (virtual) health in real time and shock players every time they got hit, the duration of the shock being proportional to the magnitude of the hit. If there was no ioquake3 method of pushing events and status in real time, I was ready to poll using something like QStat. The shock controler will probably be Arduino-based with collars for 3 to 4 players.

So for the last week I have been reading the docs and looking at all of the console commands and variables and I have not found a method of monitoring player health. Frags yes, health no. QStat can access basic stats, but not much more. The utilities listed at http://stommel.tamu.edu/~baum/linux/LDP/HOWTO/Quake-HOWTO-4.html are not more promising.

I thought that I could simply capture the network traffic from the server to the clients and get status updates every 50ms, but after reading about the ioquake3 network model in http://fabiensanglard.net/quake3/network.php, I realised that that the snapshots, compression, and encryption will render that strategy unworkable.

Here are my questions:

  1. Did I overlook a built-in mechanism of getting player health state? If so, where is it?

  2. Do you have any recommendations on how I should export player health state? I see that I am not the only person interested in this info. This thread has some hints: http://community.ioquake.org/t/player-health-armor-values-server-code-only/269

  3. Has anyone ever integrated Quake with shock collars (or other external systems) before? Did they document their work?

Thanks in advance for any hints.

As far as I know, nobody has ever hooked up a shock collar to quake 3 before.