[INACTIVE][ADMN/SEC/WEB] DataLog - replaced by HawkEye [1000]

Discussion in 'Inactive/Unsupported Plugins' started by oliverw92, Apr 15, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    oliverw92

    Vaupell, Pinkpixels, Sleaker and 2 others like this.
  2. Offline

    FragMagnet

    I would like to keep my survival server as realistic as possible in this sense, especially because of the introduction of lightning. Knowing if the placement of fire was done deliberately would help weed out griefers.

    Awesome! Looking forward to it then! :)
     
  3. Offline

    oliverw92

    I can confirm datalog works with the unofficial 1.5 build #689
     
  4. Offline

    skkeeper

    Ever since I updated my server to Datalog 0.2 I've been getting a lot of problems in the Mysql connection. Keeps getting time outs and busy requests. Like so:

    Code:
    011-04-21 17:16:53 [SEVERE] FATAL: DataSourcePool [DataLog] is down!!!
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    
    The last packet successfully received from the server was 29,683 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
        at sun.reflect.GeneratedConstructorAccessor31.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
        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:2620)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474)
        at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.testConnection(DataSourcePool.java:497)
        at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.checkDataSource(DataSourcePool.java:356)
        at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.checkDataSource(DataSourceManager.java:228)
        at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.access$100(DataSourceManager.java:37)
        at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager$Checker.run(DataSourceManager.java:240)
        at com.avaje.ebeaninternal.server.lib.BackgroundThread$Runner.runJobs(BackgroundThread.java:208)
        at com.avaje.ebeaninternal.server.lib.BackgroundThread$Runner.run(BackgroundThread.java:172)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979)
        ... 15 more
    2011-04-21 17:16:53 [INFO] Reseting DataSourcePool [DataLog] min:2 max:20 free:0 busy:4 waiting:0 highWaterMark:10 waitCount:0 hitCount:1765
    2011-04-21 17:16:53 [INFO] Busy Connections:
    name[DataLog.26] startTime[1303422582554] stmt[insert into datalog (date, player, action, world, x, y, z, data) values (?,?,?,?,?,?,?,?)] createdBy[null]
    name[DataLog.47] startTime[1303424190490] stmt[insert into datalog (date, player, action, world, x, y, z, data) values (?,?,?,?,?,?,?,?)] createdBy[null]
    name[DataLog.46] startTime[1303424213933] stmt[null] createdBy[null]
    name[DataLog.36] startTime[1303423754279] stmt[null] createdBy[null]
    This is probably because my minecraft server is hosted in the US and my Mysql server is in Portugal but it worked perfectly fine before. I'm wondering if now that Datalog uses the internal database connector of bukkit is more prone to fail on timeout.

    The good news is that I've been testing the door action logging and it seems to be working just fine now in 0.2.
     
  5. Offline

    oliverw92

    Interesting... maybe Bukkit's Persistence system isn't up the job. If it isn't, that is a HUGE pain. If i get time i'll try testing long-distance connections. What is the internet connection like between the two servers?
     
  6. Offline

    skkeeper

    I really can't say, I can get information about the connection of my mysql server, but my minecraft server is hosted by a third party. What kind of detail about the connection do you want to know precisely?

    By the way, if anyone else is having problems about their mysql connection on DataLog 0.2 they should report it, so we can make sure it's just something very specific to my situation.

    On the PHP class to interact with the DataLog mysql database: I have the basics pretty much done, I'll upload it as soon as I can get a decent DataLog 0.2 environment ready for testing.
     
  7. Offline

    oliverw92

    What kind of speeds are on the two networks was what i was after really

    You can just setup mysql on your local pc for testing?
     
  8. Offline

    skkeeper

    I can, but if speed is the testing factor here, believe me my Mysql server is hosted in the best conditions possible in Portugal. I know the guys responsible for the hosting and they use the best. Locally I have a decent home connection so I guess that's gonna fail terribly. But I'll try it tomorrow anyway just for the sake of making sure. Thanks olivew92
     
  9. Offline

    oliverw92

    Have you got a MySQL server someone else you could test with?
     
  10. Offline

    Bawb

    Hi, I'm having a problem with datalog and I'm not sure if it's my own stupidity at work or if it's a problem with the program itself. Ok, so I have a MySQL database set up on localhost, and for a web server I set up an Apache 2.2 server on localhost (I just need it locally, and don't feel like jumping through other web hosting hoops). Now, I'm fairly certain I set up Apache and PHP correctly (I followed a guide - this is where it could possibly be my stupidity) and I know my MySQL is set up alright (mostly - it works with BigBrother so I can only imagine it's set up correctly for this). Also, upon running bukkit I get zero errors. So, I moved the DataLog web server stuff onto my web server, but when I connect to it I get this error:
    I don't know if this is an error in my web server setup, or if it's something going on with DataLog. Any help is greatly appreciated.
     
  11. Offline

    Malchus

    So I finally got it to work on the website, I can view it. But when I try to select a world nothing is there. I don't know what went wrong. Please help :)
     
  12. Offline

    Toasty

    I like the sound of this plugin, so I may just include it in my server's next update. but one thing I'd kind of like to see, is a column containing the closest warp point to the player being listed. Possibly even with a relative distance (ex: "House1 - 20" or something).

    Would make locating events on your server much easier.
     
  13. Offline

    skkeeper

    Ok so I tested another Mysql server in Portugal and had exactly the same problem. After that failure, I started using a Mysql server hosted in the same physical location as my minecraft server and seems to be working now.

    For now it should suffice :)
     
  14. Offline

    oliverw92

    You haven't compiled/installed PHP correctly - you are missing all the MySQL commands. I suggest getting rid of your apache and php setup, and instead downloading WAMP - it is a program that bundles apache, mysql and php together in a very easy to use setup. Once you install it everything just works.

    No i won't be able add the warp idea - it won't really be possible. There isn't a single 'most popular' warp plugin, so it wouldn't be relevant for most people to have it show the proximity to a warp point. It would also be very resource intensive - every time someone breaks a block it would have to go through all the warp points to find the closest one. Sorry but I won't be able to do that.

    An idea you might want to put to the developer of the warp plugin you use is something like a /warp locate <x> <z> which would show you the nearest warp point to that location. It seems to be what you want would be more suited to the warp plugin.

    That's very interesting... maybe i'll make you an account on my server to test some more
     
  15. Offline

    skkeeper



    Sure, I'm online atm for the next couple of hours. I can even do the same on my mysql servers, see if its not minecraft server related.
     
  16. Offline

    oliverw92

    Emailed you details of my VPS MySQL in norway
     
  17. Offline

    h0us3cat

    2011-04-23 00:01:59 [SEVERE] Could not load 'plugins\DataLog.jar' in folder 'plugins':
    javax.persistence.PersistenceException: Problem loading Database Driver [om.mysql.jdbc.Driver]: om.mysql.jdbc.Driver

    I have
    mysql-connector-java-bin.jar
    sqlite.jar
    sqlitejdbc-v056.jar in the lib folder
    Am i missing one?
     
  18. Offline

    KiloWhiskey

    Any chance you could add a box for time frame in hours? So I can do say '72' and it only searches the last 72 hours? My log is getting VERY long and it just keeps getting harder (and slower) to get what I'm after. Thanks for the awesome plugin though.
     
  19. Offline

    oliverw92

    You don't need any connectors - it is build into bukkit. Look at the error - it is trying to look for 'om.mysql.jdbc.Driver' - last time i checked, 'om' isn't valid domain name :p Check your bukkit.yml - you have typoed the driver.

    Yes i'm planning to do that
     
  20. Offline

    Malchus

    I am constantly getting this error;


    19:42:04 [SEVERE] FATAL: DataSourcePool [DataLog] is down!!!
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    The last packet successfully received from the server was 51,063 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
    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:2620)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.testConnection(DataSourcePool.java:497)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.checkDataSource(DataSourcePool.java:356)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.checkDataSource(DataSourceManager.java:228)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.access$100(DataSourceManager.java:37)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager$Checker.run(DataSourceManager.java:240)
    at com.avaje.ebeaninternal.server.lib.BackgroundThread$Runner.runJobs(BackgroundThread.java:208)
    at com.avaje.ebeaninternal.server.lib.BackgroundThread$Runner.run(BackgroundThread.java:172)
    at java.lang.Thread.run(Thread.java:680)
    Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979)
    ... 15 more
    19:42:04 [INFO] Reseting DataSourcePool [DataLog] min:2 max:20 free:1 busy:1 waiting:0 highWaterMark:2 waitCount:0 hitCount:510
    19:42:04 [INFO] PSTMT Statistics: name[DataLog.15] startTime[1303519294791] pstmtHits[0] pstmtMiss[0] DataLog.15 size:0 max:20 totalHits:0 hitRatio:0 removes:0
    19:42:04 [INFO] Closing Connection[DataLog.15] psReuse[0] psCreate[0] psSize[0]
    19:42:04 [INFO] Busy Connections:
    name[DataLog.14] startTime[1303519324793] stmt[null] createdBy[null]
     
  21. Offline

    oliverw92

    Is the database on the same computer as the minecraft server?
     
  22. Offline

    h0us3cat

    massive facepalm om > com fixed it
     
  23. Offline

    oliverw92

    Lol no problem :p


    Had a new feature idea - a simple API in the plugin so that other plugins can also log to DataLog. General idea at the moment would be a hook system similar to Permissions ( you get the handler from the DataLog plugin which then has a few functions for adding data). Plugins would need to register the actions that they want to log with me first so that I can add them to the plugin ENUM list - either that or I can have an action called 'other' and plugins can specify details in the 'data' column.
     
  24. Offline

    nacs

    So does this create its own table (thus logging items itself?)

    I ask because we currently use Logblock and it seems redundant to use this if it's logging the same things to another SQL table -- or can this plugin read the Logblock table? (Not sure what you meant by Logblock/Bigbrother compatible).
     
  25. Offline

    melvinp

    I get an error.
    See picture for the error!

    [​IMG]

    Also i wil post my Config.php and Bukkit.YML
    Config.php
    Code:
    <?
        $config = array(
        //Enter your MySQL database information
        //Do not change 'dbTable'
        "dbHost"  => "localhost",
        "dbDbase" => "datalog",
        "dbUser"  => "root",
        "dbPass"  => "",
        "dbTable" => "datalog",
    
        //Set this to the password you want people to have to use to access the interface
        //Leave blank for no password
        "password" => ""
        );
    
    $con = mysql_connect($config["dbHost"], $config["dbUser"], $config["dbPass"]);
    if (!$con)
      die("Could not connect to MySQL Database!");
    if (!mysql_select_db($config["dbDbase"], $con))
      die(mysql_error());
    ?>
    
    Bukkit.yml
    Code:
    database:
        username: root
        driver: com.mysql.jdbc.Driver
        delay: 3
        table: datalog
        password:
        url: jdbc:mysql://localhost:3306/datalog
    
    Does anyone know the problem ? And can give me some help pleas :)

    ~ Melvinp
     
  26. Offline

    oliverw92

    At the
    This logs items itself. However it logs way more than LogBlock logs - just look at the list in the op (and i'm adding more in the next version). It will also be possible for other plugins to hook into this and log their own data. DataLog is not as resource intensive as LogBlock or BigBrother by a long way, so it is safe to use them along side each other.


    At the beginning of config.php change <? to <?php and see if that helps
     
  27. Offline

    Malchus

    No my database is not on the same computer
     
  28. Offline

    Phinary

    Hmm. For some reason I cant scroll through logs on my phone because no scrollbar appears in the box.. possible support for this later?
     
  29. Offline

    oliverw92

    Could you try running a database on the same computer?

    What phone? Does your phone support ajax properly?
     
  30. Offline

    Runelynx

  31. Offline

    Phinary

     
Thread Status:
Not open for further replies.

Share This Page