TS3 PHP Framework Visualization

Visualizations for possible statistical data produced from ts3-php-framework


Complete code for real-time visualization of TeamSpeak3 server query property retrieved using the ts3-php-framework.


Real-time: Live, per second, stat updates from TS3 Server through ts3-php-framework and TS3 server query
Full async: Any number of persistent WebSocket connections (browser, individual applet, other client)
Pub-Sub: Clients can "subscribe" to the stats they want (e.g. seperate stats/sockets per client)
Customizable: Pause graph, change update interval and stat history size
Extendable: Only minimal complete code provided to show one stat working, many more possible.

What's inside

  • config.php - IP/Port bind selections, user credentials, etc
  • example.css - Basic CSS for styling graph
  • index.php - Contains graph html / javascript, including WebSocket creation and "event subscription"
  • statsrv.php - Main server application handling new "publish" events and transmitting data to all "subscribers"
  • src/App/Pusher.php - Pusher class for handling pub-sub events and data.
  • push.php - Stats server, connects to TS3 server query, request stats, sends "publish events" to WebSocket
  • composer.json - Configuration file for autoloading and composer install of react, ratchet, zeromq, etc

    TeamSpeak3 PHP Framework:
    The TS3 PHP Framework is a modern use-at-will framework that provides individual components to communicate with the TeamSpeak 3 Server. Initially released in January 2010, the TS3 PHP Framework is a powerful, open source, object-oriented framework implemented in PHP 5 and licensed under the GNU General Public License. It's based on simplicity and a rigorously tested agile codebase. Extend the functionality of your servers with scripts or create powerful web applications to manage all features of your TeamSpeak 3 Server instances.

  • Composer - Package manager and autoloader for required supporting libraries
  • cboden/rachet - WebSocket libraby built on React PHP framework
  • react/zmq - ZeroMQ react module, uses PHP binding through PECL extension and requires ZeroMQ install
  • ZeroMQ (ZMQ) - High-performance async messaging library for scalable distributed / concurrent aps.
  • JQuery - Delicious.
  • Flot - JavaScript library for working with graphs
  • Autobahn - JavaScript library implementing WAMP on top of WebSocket providing async remote calls / pub-sub

More visualizations options are forthcoming, but I'm also building this out for another front-end control panel, so my time is divided.

Thoughts, comments, suggestions, forks/pull-requests encouraged!