TS3 PHP Framework Visualization
https://github.com/ronindesign/TS3-PHP-Framework-Visual
Visualizations for possible statistical data produced from ts3-php-framework
Overview
Complete code for real-time visualization of TeamSpeak3 server query property retrieved using the ts3-php-framework.
Features:
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
Core:
- 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.
Other:
- 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!