hawkreloaded's People
Forkers
muson adamjones57 sakuraserver orange-server nonzer0value pickardjoe betterphp tahosa davidrockin laica-lunasys stgram bangbang93 recon88 wasabiev mtnair erioleandur seyfahni kova007 cubevilleng tim-r mc-nekoneko tofuus wmcalliance monster010forks cyberflamego developerdeborahhawkreloaded's Issues
/hawk preview not working fully
When trying to do a /hawk preview p:q220 t:15m it would show me the rollback Hawkeye would do for what I did in the last 15 mins, but I can't make the preview take effect with /hawk apply, because it keeps printing the hawkeye menu.
Upon logging out and back in, I also noticed the rollback didn't work, so I suppose this is a bug!
Rollback leaf-decay triggered by rollbacked player?
[SEVERE] [HawkEye] Error checking HawkEye tables: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Key column 'date' doesn't exist in table
When server was start , This error (Spigot 1.6.2)(MySQL 5.6)(HawkEye #30)
[SEVERE] [HawkEye] Error checking HawkEye tables: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Key column 'date' doesn't exist in table
[SEVERE] [HawkEye] Error initiating HawkEye database connection, disabling plugin
[INFO] [HawkEye] Disabling HawkEye v1.5.0
[SEVERE] Error occurred while disabling HawkEye v1.5.0 (Is it up to date?)
java.lang.NullPointerException
at uk.co.oliwali.HawkEye.HawkEye.onDisable(HawkEye.java:74)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:219)
at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:481)
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:401)
at uk.co.oliwali.HawkEye.HawkEye.onEnable(HawkEye.java:129)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:382)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.loadPlugin(CraftServer.java:286)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.enablePlugins(CraftServer.java:268)
at net.minecraft.server.v1_6_R2.MinecraftServer.l(MinecraftServer.java:319)
at net.minecraft.server.v1_6_R2.MinecraftServer.f(MinecraftServer.java:296)
at net.minecraft.server.v1_6_R2.MinecraftServer.a(MinecraftServer.java:256)
at net.minecraft.server.v1_6_R2.DedicatedServer.init(DedicatedServer.java:164)
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:397)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
HE Web Interface and Container Inserts/Extracts
I realize the web interface hasn't been updated in quite a while (and prior to now, it hasn't really needed one). As it currently stands, however, one can no longer search for transactions due to the switch to inserts and extracts. Will there be an update to reflect this change in the near future?
Filter Options: Block
its posible too add the Filter Options: all block
Hawkeye web interface not logging properly
Hello. We use hawkeye reloaded on our server. We seem to be having some issues with different parts of the plugin however.
The online web interface is currently showing wrong players issuing commands and the same for chats. So if i said "Hello World" it would tell us that a different player said "Hello World".
The same goes for commands. I was warning a player (my IGN is Thortuna) but the logs show up as a different player did it, this players name will change every time i open the web interface and search the same thing.
https://gyazo.com/a6023ae6b57d3865fd2f2c9691934124
https://gyazo.com/e73486729c980006d05bb6faae68540e
As you can see the first one is correct in both images but the second one is wrong. Both the ID's for the log is the same but it changes what player did this every time you search it again.
Web Interface Wont Work
Hello!
I'm having a problem with the web interface. Whenever I try to search for something, all it does is keep searching for results! I don't know what to do, and I need this feature on my server for my moderators. Please help!
[SEVERE] [1.5.1] /ha tpto <id> doesn't work, leaves an error in console.
Some of my staff members would do a lookup for the latest changes through /ha search t:1h
Then if they want to teleport to one of the interactions, they receive an "Entry not found" in the game chat. This is the error I receive in the server console:
2013-08-22 12:27:51 [SEVERE] [HawkEye] Unable to retrieve data entry from MySQL Server: java.lang.InstantiationException: uk.co.oliwali.HawkEye.entry.BlockChangeEntry
However, the error doesn't happen 100% of the time. If you want the sql database for debugging, I'm willing to supply it to you if needed :)
NullPointerException on HangingPlaceEvent
Featurerequest: Support for Woltlab Burning Board in Forum Auth
Hey everybody,
could you please add support for Woltlab Burning Board so I can connect it with the WebUI?
Thanks in advance
Centzilius
Add PostgreSQL support
I didn't look in the code to find out whether you are using some kind of database abstraction layer, but it would be nice to have the option to use a PostgreSQL database instead of a MySQL database.
There is no such logging plugin known to use Postgres - so it would be a nice feature, i guess.
WorldEdit Forced Dependence.
I assume this was a slight error but it seems that Hawkeye requires WE to be installed now with the new WE logging :)
Also any chance of looking more into MCPC+ Project? A lot of people there are using your mod to log modded server functions a few issues here and there but overall works nice.
Doors don't count as "one block"
Similar to the issue double chests used to have, the top part and bottom part of a door count as "different" logs to Hawkeye. Maybe this can be fixed?
Queue overloaded because of 'null'
Using HawkEye Reloaded devBuild#55 (commit b4da955) on Spigot 1.8.7, the queue fills up but is never written to the database:
[23:36:35 INFO]: [HawkEye] The queue is almost overloaded! Queue: 27698346
[23:36:35 WARN]: [HawkEye] null
[23:36:37 INFO]: [HawkEye] The queue is almost overloaded! Queue: 27701705
[23:36:37 WARN]: [HawkEye] null
[23:36:39 INFO]: [HawkEye] The queue is almost overloaded! Queue: 27705064
[23:36:39 WARN]: [HawkEye] null
When shutting down the server, I see the following error message:
[23:38:18 ERROR]: [HawkEye] Error whilst attempting to get connection: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
[23:38:18 WARN]: [HawkEye] null
[23:38:18 INFO]: [HawkEye] The queue is almost overloaded! Queue: 27840282
[23:38:18 ERROR]: [HawkEye] Error whilst attempting to get connection: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
[23:38:18 WARN]: [HawkEye] null
[23:38:18 ERROR]: [HawkEye] Unable to close SQL connection: java.lang.NullPointerException
[23:38:18 INFO]: [HawkEye] Version 1.6.2 disabled!
I also activated HawkEye's debug output, but did not notice anything unusual. HawkEye Reloaded was updated from 1.6.2 and no changes where made to the configuration. Likewise there where no changes made in the MySQL server's configuration.
I assume that this is a bug within HawkEye. Please let me know if I can help you to track it down and resolve it.
Create a query builder instead of building queries manually
Hawk tool does not work properly
Here:
http://www.youtube.com/watch?v=BTKQ3FYfgm0
(Sorry for the Minecon Livestream Background Sound)
1.4.5 Beta 2 Craftbukkit & Newest HawkEye Build
Hawkeye username interpretation not strict enough
We recently had a few major issues where some users got rolled back when that wasn't intended.
If I were to have a player called SomeGriefer, and i would want to roll him back.
During the defining of the player's name with /ha rollback p:, hawkeye isn't strict enough on determining what players would have to be rolled back.
If i were to type down Some, it would rollback everyone who's names start with Some. Even worse, if i were to type just s, (or t which might happen if you're making mistakes with the flags) it will rollback every single user whose name starts with that character.
This functionality is very useful for doing searches, but very nasty for doing rollbacks.
My suggestion: If hawkeye is about to do a rollback, make sure to interpret the name very strictly (100% accurate), otherwise don't rollback anything at all.
Port config node not being respected
So for whatever reason I can't get Hawkeye to connect to my database, and all I'm getting is it hanging server startup for ~20 seconds until it times out on the connection - with it stating that it had a problem connecting to the database. I'm not sure what the issue is nor where to look, hence my request for a "debug mode" or at least more informative error messages.
As for my issue, I've setup and can access the user account on the same machine via HeidiSQL, and gave it all permissions to its own, fresh database. Version 1.6.2 as per config, compiled from GitHub.
Cheers for continuing Hawkeye :)
Just wanted to drop by and say thanks to you guys for continuing what I started. Means a lot to me to still see Hawkeye going strong :) Crazy that you are still using my original code base 2 years later!
NPE on breaking a bed block
/version hawkeye
reports 1.7.2.
2016-05-06 18:58:49 [Server thread/ERROR] Could not pass event BlockBreakEvent to HawkEye v1.7.2
org.bukkit.event.EventException
at uk.co.oliwali.HawkEye.listeners.HawkEyeListener$1.execute(HawkEyeListener.java:55) ~[?:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.9.2.jar:git-Paper-723]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.9.2.jar:git-Paper-723]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.9.2.jar:git-Paper-723]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:292) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.PlayerInteractManager.a(PlayerInteractManager.java:218) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:847) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:40) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:10) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.9.2.jar:git-Paper-723]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_72]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_72]
at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:813) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:404) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:723) [patched_1.9.2.jar:git-Paper-723]
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:622) [patched_1.9.2.jar:git-Paper-723]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_72]
Caused by: java.lang.NullPointerException
at org.bukkit.craftbukkit.v1_9_R1.block.CraftBlock.getRelative(CraftBlock.java:195) ~[patched_1.9.2.jar:git-Paper-723]
at org.bukkit.craftbukkit.v1_9_R1.block.CraftBlock.getRelative(CraftBlock.java:191) ~[patched_1.9.2.jar:git-Paper-723]
at uk.co.oliwali.HawkEye.blocks.BedBlock.getCorrectBlock(BedBlock.java:49) ~[?:?]
at uk.co.oliwali.HawkEye.listeners.MonitorBlockListener.onBlockBreak(MonitorBlockListener.java:38) ~[?:?]
at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_72]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_72]
at uk.co.oliwali.HawkEye.listeners.HawkEyeListener$1.execute(HawkEyeListener.java:52) ~[?:?]
... 18 more
SQL date column is text
Can the date column be changed to something sane like an integer timestamp (or built-in sql timestamp type)? There's no way that having it stored as text is performant compared to the alternatives. It also can't be indexed over as text to speed up queries that specify a time range.
Remove container-transaction and replace it with container-insert, container-extract
The current container-transaction data-type is pretty limiting in terms of configuration. Soon i will remove container-transaction and replace it with container-insert, and container-extract. I will also remove the coloring within the hawkeye viewer because it will no longer be necessary with two different logging types.
Show player edits by radius.
/ha search r:30
username(1130edits), username2(6123), username3(163)
Instead of scrolling all hawk pages when trying to find griefers nicknames. Miss this feature from BigBrother.
Add DataType API for custom DataTypes
My plan is to create new DataType API so plugins are able to register and utilize their own DataTypes without being forced to use one of the preexisting.
I'm also planning on changing the DataType Enum to an object. So instead of enums, the DataType's will be constants. We'll then grab all the constants via reflection and add them into the table. Enums are incredibly limiting and should only be used for really basic things like ID constants.
Basic rundown:
Register your DataType before it's used. The method may be DataType.addDataType(customDataType);
The DataType consists of a view variables such as the name, and the ID. You will NOT be able to define a custom constructor due to the fact that the constructor is used specifically by the HawkEye query and modifying the constructor will cause exceptions. So instead you'll define your DataEntry class (Whether it's custom, or one of HawkEye's).
I will MOST LIKELY expand the DataType's further to allow for better ingegration with the web interface. For instance, being able to define whether or not a DataType is serialized as a block, or item.
If a DataType is registered with a pre-existing ID, or too large of an ID, an exception will be thrown. Same goes for having the same name as a DataType.
Once the DataType is registered, it'll be entered into the MySQL. This is so the webinterface can see the new datatypes. It's also so if a custom datatype is registered once, and then not registered the next runtime, we can simply create a dummy DataType instead of returning a null DataType. Registering your DataType replaces the Dummy value.
Rollback doesn't support modded tile entities?
Hope I'm in the right place to report this. In the case of BetterStorage backpacks, they don't like not having a tile entity attached to them. Someone reported this on the BetterStorage issue tracker:
Item Frames & Armor Stands not properly logged
Item frames will log the placement and breaking of the frame itself, but not the item added or removed from the frame.
Armor stands are not logged at all. Not even sure there are proper inventory events for armor stands yet?
container-transact
Even if you enable logging for all three container-transact
, container-insert
and container-extract
you can search for container-transact and will not get any results.
It might be useful, if container-transact
could be used as short-cut for container-insert
and container-extract
.
On the other side, if container-transact
should be removed in the future, it would be nice to print a warning that there won't be any new logs, because they are now split into container-insert
and container-extract
.
Anyway, container-transact
should be omitted from configuration.
entity-kill not working on Hawkeye Reloaded 1.6.0
It seems as if it's not logging when people kill animals.
I have it enabled and it shows that its being logged in /hawk info but its simply just not being logged. I've tried using the /hawk here radius and /hawk search r: command and it doesn't work. Filtering by a:entity-kill also doesn't show any results.
Remove static usage in DataManager
Atm there is a large amount of static methods within the DataManager. I really don't think they're that big of deal, but if we ever plan on expanding or using Decorator patterns, then this will be a serious issue.
Using no static will also allow for us to add special DataManagers for special Data. For instance, maybe the worldedit listener should be inserted at a slower rate then other data. We could easily implement this with a decorator.
DEV-Builds
I saw that your link to the devbuilds is down .... could you provide dropbox/similar links to get my hands on them? most loggers dont have that amount of events nor a webinterface ...
or will some other version work for 1.7.10?
Issue with Duplicated entry on inserting players into the database
Error location: https://github.com/bob7l/HawkReloaded/blob/master/src/uk/co/oliwali/HawkEye/database/DataManager.java#L132
SQL:
INSERT INTO hawk_table (player) VALUES (?) ON DUPLICATE KEY UPDATE player=VALUES(player)
Error:
com.mysql.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'usernamePlaceholder' for key 'player'
How to reproduce:
Unknown. If you login as an existing username with another case (Such as changing S to s), then the key will be considered a duplicate and the UPDATE query will be ran. I haven't been able to reproduce this error on MySQL 5.7
I believe this is due to a bug with MySQL. Attempting to update a unique key "ON DUPLICATE KEY" appears to arise issues on some rare occasions with a few users. My guess is it's attempting to replace the prior username with the new username, but since the prior username already exists within the database, it's unable to do so? Could this possibly be a concurrency issue internally?
Problem with Web Interface
Hello,
I have one serious problem with web interface. The index.php page returns this error:
Warning: session_start() [function.session-start]: open(/data/web/virtuals/17932/virtual/session/sess_d49f74eaf81d8ab10da2216800ff0f7e, O_RDWR) failed: No such file or directory (2) in /data/web/virtuals/17932/virtual/www/subdom/hawkeye/classic/login.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /data/web/virtuals/17932/virtual/www/subdom/hawkeye/classic/login.php:3) in /data/web/virtuals/17932/virtual/www/subdom/hawkeye/classic/login.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /data/web/virtuals/17932/virtual/www/subdom/hawkeye/classic/login.php:3) in /data/web/virtuals/17932/virtual/www/subdom/hawkeye/classic/login.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/17932/virtual/www/subdom/hawkeye/classic/login.php:3) in /data/web/virtuals/17932/virtual/www/subdom/hawkeye/classic/login.php on line 42
and after login form is this error:
Warning: Unknown: open(/data/web/virtuals/17932/virtual/session/sess_d49f74eaf81d8ab10da2216800ff0f7e, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/data/web/virtuals/17932/virtual/session) in Unknown on line 0
Please help. Thanks.
NullPointerException on InventoryCloseEvent
I have no idea why there is nothing below the NullPointerException part - it's not printing out in console or the logs. So i can imagine this won't be too useful in finding the problem.
Add radius to rollback report
It would be great to see in what radius the rollback happened.
One of the line of current report is something like:
"Attempting to rollback 23 results"
I would like to see:
"Attempting to rollback 23 results in 10 radius"
or if radius is not set:
"Attempting to rollback 23 results in World"
This could help me to notice if I didn't miss-type a command,
like once I typed: "/he rollback environment r.10"
Logging Issue
Howdy,
We are running version 1.7.2 on Spigot 1.9.4 and we are having a logging issue with a single specific player, according to the database we have 3 actions logged, which would be a join, leave, and a single command. Nothing past that is being logged. Hawk is working perfectly for everyone else. Any ideas what we might be dealing with here?
Severe Error/ Not logging certain explosions
Was using plugin letitrain http://dev.bukkit.org/server-mods/let-it-rain/ and any thing it does that destroys blocks pulls this error.
I currently have CB 2499
and Hawkeye 1.0.7.1
Permission hawkeye.* not complete?
One of my users have the hawkeye.* permission node, but they still lack permissions for to search for item-break.
This is because the hawkeye.search.* node at https://github.com/bob7l/HawkReloaded/blob/master/plugin.yml is lacking that permission. I also noticed that it has hawkeye.search.painting-break but I dont see where this permission is used anywhere? Possibly typo? :P
Forse relog while container transaction prevent Hawk from logging it
Example:
- Player open inventory (chest)
- Player take/place items into inventory
- Player make forse quit (Alt+F4)
After that Hawkeye can't check last chest transaction even if player connects to the server and playes on it.
My solution you can see in fork.
MySQL Errors
Being spammed on every loggable interaction. Running HawkEye-dev Build 66
Server: KCauldron 1.7.10 / tested against Spigot/Bukkit 1.7.10 as well
[19:20:10 WARN]: [HawkEye] No operations allowed after connection closed.Connection was implicitly closed by the driver.
[19:20:10 WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed by the driver.
[19:20:10 WARN]: at sun.reflect.GeneratedConstructorAccessor239.newInstance(Unknown Source)
[19:20:10 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[19:20:10 WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
[19:20:10 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
[19:20:10 WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:382)
[19:20:10 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
[19:20:10 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
[19:20:10 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
[19:20:10 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
[19:20:10 WARN]: at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1213)
[19:20:10 WARN]: at com.mysql.jdbc.ConnectionImpl.getMutex(ConnectionImpl.java:3101)
[19:20:10 WARN]: at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:4975)
[19:20:10 WARN]: at uk.co.oliwali.HawkEye.database.JDCConnection.setAutoCommit(JDCConnection.java:249)
[19:20:10 WARN]: at uk.co.oliwali.HawkEye.database.DataManager.run(DataManager.java:391)
[19:20:10 WARN]: at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71)
[19:20:10 WARN]: at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[19:20:10 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[19:20:10 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[19:20:10 WARN]: at java.lang.Thread.run(Thread.java:745)
[19:20:10 WARN]: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 832,229 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
[19:20:10 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[19:20:10 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
[19:20:10 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[19:20:10 WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
[19:20:10 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
[19:20:10 WARN]: at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
[19:20:10 WARN]: at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
[19:20:10 WARN]: at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
[19:20:10 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
[19:20:10 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
[19:20:10 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
[19:20:10 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
[19:20:10 WARN]: at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5022)
[19:20:10 WARN]: ... 7 more
[19:20:10 WARN]: Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
[19:20:10 WARN]: at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529)
[19:20:10 WARN]: at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979)
[19:20:10 WARN]: ... 13 more
Expand the new ItemSerializer
I plan to extend the item-serializer to just about all entry objects. Entities will serialize things like armor, certain attributes (Such as villager career) and their custom names. I also plan to completely remove the current inventory serializer and replace it with the new.
My plan is to extend the serializer throughout hawkeye to insure every little detail is properly logged and further updates to minecraft will be easily implemented into our logging capabilities.
Create new inventory serializer and make it future proof.
I've been thinking about designing a new serializer for data. Here's how it would work (Probably?)
[ This isn't meant to be usable code, just a quick write up for my plans ]
enum serialKey {
INVENTORY_ITEM('i') //stores itemid:itemdurability
INVENTORY_ITEM_NAME('n') //stores display name meta
INVENTORY_ITEM_ENCHANT('e') //stores enchant data
INVENTORY_ITEM_LORE('l') //stores lore
}
The end result probably wont even use enum, it'll most likely just be a collection of objects in an array. With this setup, we'll also be able to add config options for the user so they can disable/enable certain data they want to be saved. For instance, some users may not want lore to be saved.
So the serialized data would look something like this:
"i(12:1)n(MyBlock!!)e(2:1|3:1|5:4)l(My car|is black)"
The point of this serializer is to A, make it future proof so like when 1.9 comes out and we need to store attribute values aswell, and B it'll make the data easy to search for. - and + will still be used in the inventory-transaction data to symbolize whether or not the item was taken or added.
Support for item names for "f:"?
Item ids works fine but sometimes it's got messed up with other numbers like amount of items moved in chest.
/ha search f:DIAMOND_ORE - doesn't work at all
/ha search f:56 - works but got messed up with other numbers
Fix Jenkins build server
Jenkins was failing to build. Issue was resolved!
[Severe] Cannot use multiple rollback arguments
While attempting to roll back a grief from a long-time player on my server, I used the following command.
/he rollback p:Gizmo_Burre t:48h
Instead of rolling back the player by 48 hours, Hawkeye apparently ignored the second argument and rolled back the entirety of Gizmo_Burre's existing edits, causing several clients to crash including my own. Upon logging back in, /he undo proved ineffective.
From what I'm told by my staff, this is no fluke and has occurred several times without my knowing. I urge you to look into this as soon as possible.
Attempting to add sheep to the player database?
Just updated from some versions ago to 1.7.1, and found the following shortly after server startup:
2016-04-15 18:28:07 [ERROR] [HawkEye] Unable to add player to database: com.mysq
l.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'SHEEP' in 'fi
eld list'
Implement small cache's to avoid large iterations
Implement small cache's to avoid large iterations over player-id's and so on.
When i'm available again (Maybe in a week), this will be done.
Ingame /he tool logs are different depending on which side of a chest you click on.
When i hawk eye a doublechest with the ingame /he tool i get different results depending on which side i /he tool. If i click on the left side it says no results found. When i click on the right side it shows me all the items in the chest which is full.
Previously it combined the two and showed you the content of the entire double chest but this is not functioning on our server atleast at the moment. This seems to be happening on Trapped chests.
Full chest:
https://gyazo.com/b4edd49fb4bbc3a9b214206b2dfc7d5d
Left side of the chest:
https://gyazo.com/36ec00aee74e93fcc0e5bd415ccc3c0f
Right side of the chest:
https://gyazo.com/5bc1334a6bc1c0bb723998a5ec1dd157
Horse Entities not logged
Killed a skeleton horse rolled it back did not spawn back a skeleton horse so its safe to assume all horse data is broken
using latest dev build
Armor Stands Not Logged
Armor stands are not logged at all wanted to bring this to your attention
using latest dev build
Maven repo?
Is there a maven repository the artifacts of HawkReloaded are being pushed to? I was unable to find one.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.