A Plugin that hooks into all kind of actions and saves all kind of informations in a sqlite/MySQL database Gathered Informations Player (Move your mouse to reveal the content) Player (open) Player (close) name display x y z death blocksBroken blocksPlaced blocksIgnited chatlines logins joins quits kicks teleports respawns ip PlayerSession (Move your mouse to reveal the content) PlayerSession (open) PlayerSession (close) start end reason (current Status/quit reason) Plugin (Move your mouse to reveal the content) Plugin (open) Plugin (close) name fullname version website description author enabled Server (Move your mouse to reveal the content) Server (open) Server (close) timestamp name currentPlayer maxPlayer version world (Move your mouse to reveal the content) world (open) world (close) name enviroment spawnx spawny spawnz system (Move your mouse to reveal the content) system (open) system (close) timestamp maxmemory freememory totalmemory cpus Configurable Values databasetype - default sqlite Defines which database type to use. If 'sqlite' is selected plugins/DataGatherer/datagatherer.sqlite will be used. If 'mysql' is selected you also have to set the Properties 'host', 'database', 'user', 'password' host Only needed when databasetype 'mysql' has been selected. The host where te MySQL Database is running database Only needed when databasetype 'mysql' has been selected. The database at the given MySQL server user Only needed when databasetype 'mysql' has been selected. The user to connect to the given MySQL server password Only needed when databasetype 'mysql' has been selected. The password to connect to the given MySQL server memoryWriteInterval - default 10 Defines the Interval in seconds used for writing Memory Informations to the log. 0 means disabled. pluginUpdateInterval - default 10 Check interval in seconds for gathering plugin informations. 0 means disabled. playerUpdateInterval - default 10 Check interval in seconds for gathering player informations. 0 means disabled. serverUpdateInterval - default 10 Check interval in seconds for gathering world and server informations. 0 means disabled. memoryUpdateInterval - default 10 Check interval in seconds for gathering system informations. 0 means disabled. Currently i'm building a Website with all kind of statistics and informations Also version checking of the plugins against http://plugins.bukkit.org as soon as i think it is a version that is worth publishing i will add it to this Thread DataGatherer v0.2 Download TODO -building a website that uses the informations -maybe react on PLAYER_DROP_ITEM and PLAYER_PICKUP_ITEM -call plugin update only once and then react to Plugin_enabled/disabled -count kills (maybe target specific) Known Issues Changelog v0.3 (under construction) - count chat characters - count damage taken by player/entity/other - count damage dealt to player/entity - count distance traveled - react on PLAYER_MOVE v0.2 - MySQL support v0.1 - Release
could you use something like this to make a scripting engine for plugins, run what woudl have formerly been code out of cfgs??
I imagine you could use this or something like this to start work on a scripting engine for bukkit. there could be a basic language the interfaces with commands inside of bukkit using variables based off your plugin for example sting slowdown "/plugin disable unessential function, i.e dynmap" if freememory <= 100 slowdown
Same as with my LightSensor Plugin After a baby break this plugin is up to date and now also has MySQL support
Love the smell of this. Though I aint a programmer, so would love to see an included html file that is easy to configure. Hope this can provide a graph of how many players there where online the past days and java-memory usage and cpu usage graphs. Maybe it is also possible to include bandwith usage for up and down Kbit pr sec? This would be awesome to have on my web-page for players to see some history of the server.
Awesome plugin!!! Though.... I have errors using MySQL. Code: 2011-08-17 02:31:14 [SEVERE] [DATAGATHERER] Plugin Insert Exception com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'maxmemory' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310) at de.tiramon.bukkit.datagatherer.database.DataSource.addSystem(DataSource.java:286) at de.tiramon.bukkit.datagatherer.DataGatherer.onChange(DataGatherer.java:521) at de.tiramon.bukkit.datagatherer.obj.DGObject.fireChangeEvent(DGObject.java:35) at de.tiramon.bukkit.datagatherer.DataGatherer.updateSystem(DataGatherer.java:378) at de.tiramon.bukkit.datagatherer.DataGathererThread.run(DataGathererThread.java:38) 2011-08-17 02:31:14 [INFO] [DATAGATHERER] Free: 2084848000 (82.0%) Used: 427409024 (17.0%) Max: 2512257024 Total: 2512257024 CPUs: 3 2011-08-17 02:31:24 [SEVERE] [DATAGATHERER] Plugin Insert Exception com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'maxmemory' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310) at de.tiramon.bukkit.datagatherer.database.DataSource.addSystem(DataSource.java:286) at de.tiramon.bukkit.datagatherer.DataGatherer.onChange(DataGatherer.java:521) at de.tiramon.bukkit.datagatherer.obj.DGObject.fireChangeEvent(DGObject.java:35) at de.tiramon.bukkit.datagatherer.DataGatherer.updateSystem(DataGatherer.java:378) at de.tiramon.bukkit.datagatherer.DataGathererThread.run(DataGathererThread.java:38) And the memory monitor is the main function I need...
Found the mistake ... memory storage was limit to about 2GB you got a little bit more with unsigned it would be around 4gb and with bigint unsigned we should not have this problem again on any server someone like me could get for the next years so execute the following statements in the mysql db and this should be fixed Code: alter table dgsystem modify column freememory bigint(20) unsigned; alter table dgsystem modify column maxmemory bigint(20) unsigned; alter table dgsystem modify column totalmemory bigint(20) unsigned; i will add this change to the table creation script in the next version
G'day, I was just wondering if you could add a setting in the prop file to allow the disabling of logging to the console? It's incredibly annoying to have to sort through logs as it is and I just want to graph this information. Thanks!