GriefLog
We are discussing plans for Sponge and GlowStone support. Please be patient :)
If you are using WorldEdit 6.0 or later please use the 5.2.2 version. If you are using WorldEdit 5.x.y please use version 5.2.3-worldedit, thank you.
Wiki | The GriefLog wiki is filled with information about GriefLog. We have some information below, but the wiki is much more descriptive. |
Download | Latest build that is approved by bukkit. |
Development Downloads | This build is not approved by bukkit, but it is the most recent, development build. If bukkit updates and GriefLog is not compatible, this is a good place to look for an update. |
GriefLog Source | You can find the latest GriefLog source code here at GitHub. However, if you would rather not just compile it, we recommend downloading the latest Dev Download. (Information Above) |
Permissions | You can use these permission nodes to allow other users to do certain things. |
Description
How many times has someone on your server told you that someone griefed there house, but they don't know who did it? Well, this is a great way to fix that. GriefLog will log every event that happens within your server. It will also separate the log files into worlds. So now you can prove that it was in fact a griefer. Now, you don't need to actually go into the log files, you can take out your GriefLog tool and left click on a block, it will bring up the information. You can also simply use a command to roll back the grief. More information is below.
Usage
So what exactly does GriefLog log? What can it do to help me? Well, GriefLog will log just about anything. It then saves it to a file called GriefLog.txt which can be found in "<YourServerDirectory>/logs/<world>/grieflog.txt." It is the same on every operating system. Here is a list of exactly GriefLog will log:
- When a player joins the server
- When a player breaks a block
- When a player places a block
- When a player uses a command
- When a player changes the world they are in (e.g. Entering the nether)
- When a player leaves the server
- If a player's game mode changes
- If a block is ignited
- If a bucket is emptied
- If an Enderman takes or places a block
- If a Zombie breaks down a door
- If there is any kind of explosion
All of this is logged to a very simple layout. You can choose a block with the GriefLog tool, Use the Search command, or look through the GriefLog.txt files.
Commands
We have many different commands to try and make the plugin as simple as possible to use.
- /glog - This will show you the version of GriefLog you are running.
- /glog tool - This will provide you with the GriefLog tool. You can set the tool in the config.yml
- /glog rollback <options> - to use roll backs, please read the section on our wiki here.
- /glog search <options> - You can search certain events. The options are the same used on the rollbacks.
- /glog page <page_number> - This will let you go through the other pages of your most recent search.
- /glog help - This will bring up the same information you see right here but within your Minecraft Client.
- /glog undo <id> - This will undo the rollback associated with the ID. Do not provide an ID to undo the most recent rollback.
- /glog report - This will report a grief. It will alert the admins of a report when they log in.
- /glog report view - Admins can view information of a grief report. It shows the location of the report, and the reporter.
Need Help?
We are here for you! Feel free to leave a comment, or better leave a ticket. **IMPORTANT**If you are willing to leave the IP address of your server within your ticket, pm, or comment, BlackWolf will be able to enter your server and will have the permission to use the /glog command to see what version you are running. You can disable this feature in the config.yml.
Did you find a bug?
If you find bugs in my plugin feel free to post a comment on this page, send us a pm, or add a ticket. Important: Check your inbox regularly to see if I replied!
Donate
If you want to donate some money because of my awesome work (:P) you can click the donate button on the right on the top of this page. Anything would be appreciated, but you don't have to if you don't want to or can't :)
Metrics
GriefLog creates debug logs, since 5.2.0, in the plugin directory in case there is a problem. You can disable this in the configuration file with the option debug-logging. When you set this to false it will not log any debug information. This information is only used by me to find out more about a bug you might encounter. It will log things like how long it takes to search a file, what is being searched for and if there are any problems when searching, for instance a data type that has been corrupted that can cause the search to fail.
External connections
Since version 5.2.3 GriefLog uses an external service to get the UUID from his name. This has to be done because the search tries to find the UUID of the player you search for in the logs instead of his name. This is because when 1.8 gets here you can change your name, but you can't change your UUID. But to make sure that searching doesn't get more complicated I needed a way to let you guys search for a players name while GriefLog searches for his UUID. For that I currently use an external service until Bukkit will provide one for me, or if they don't I'll keep using this one.
@ladyyura909
Okay, that does make sense. It's just very inefficient if you store the chat logs two times :/
I'll see what I can do about the chest stuff.
@blackwolf12333
Reason i ask for when i hit a chest with the glog tool to give me info on what was taken out is, i have staff who do not have access to server files and since i can't always be online, this enables them to check if their chest had items taken from it if the player claims to have items stolen from them.
Same as for chat, my staff don't have access to server files, and lets say a player was being verbally harassed and staff can check in-game without having to ask me to either upload the text file and or i search.
overall just to make staffs' job easier.
if that makes sense.
@ladyyura909
I'm sorry, I have been busy with school and other stuff. But I have a break now so I can start working on GriefLog again.
I didn't really plan on adding that, you can search your server logs themselves for that if you really need it. If you have a specific reason why you would want GriefLog to do that please tell me.
@blackwolf12333
Right okay.. Any plans for chat logging?
@ladyyura909
I thought I already added that. But maybe it's not searchable, I'd have to check.
I really like this plug in..any chance to make it where if i use the glog tool on a chest to tell me what was taken out?
The main reason i am liking this more than coreprotect is, it told me what was taken out of a modded chest. This is really important since i run a FTB server.
i have another question, is it possible to make it where the information of what is taken from a chest a bit more organized/cleaner?
@JoshHuttie
Not yet, but if you really want it you can make a ticket and I'll see what I can do :)
Does this plugin have the ability to log blocks for a certain amount of days, e.g. Every 2 days it deletes old log files?
Thanks.
@FlaaffyPlaysGC
Can you be a little more specific? You probably do something wrong because the logging part has been stable for a couple of releases...
GriefLog doesn't even work for me :/. Every time i try to log a block it just says No page found here!
@blackwolf12333
I figured it out, once I changed the tool the bedrock I was allowed to place blocks in water again.
@elgskred
Water is the default GriefLog tool, but it shouldn't respond like that unless you got it from /glog tool. So that is a bit weird.
The fact that the places are logged as well shouldn't happen either.
I will have a look at it, but I can't guarantee I can reproduce it. It might be a modpack specific problem which I can't fix :/
I've run into a odd problem with your plugin. I am running MC 1.6.4(with the modpack Resonant Rise). Everything worked perfectly before I added your plugin. After adding GriefLog, everyone on the server, including OPs are unable to place blocks in water, or running water. When attempting to place a block in water the chat responds with: [GriefLog] Searching for matching results.... ++SearchResults 1/1++ No page found here1 (or [Block_place]... if I tried to put a block there before) ++SearchResultsEnd++
I looked trough the grief log, and it reports the attempted block places as succeeded, even thought they do not occur ingame.
It's to be noted that I use default configs. And placing blocks in lava or liquid essence(added by Ars Magica2) is not a problem, the issue seems to be with the different types of liquid Biomes'o plenty add.
Edit: It is possible to pick up the water source with a bucket.
@BlackHoleXD
What version of CraftBukkit are you using? It looks like BKCommonLib is doing something there that it shouldn't, but I'll have to test that :/
@firefirehawk
Great idea, I have been thinking about moving the logs to the plugin folder itself as well, so I guess I can do that at the same time.
i have a problem:
11.02 14:33:13 [Server] INFO ... 18 more 11.02 14:33:13 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_25] 11.02 14:33:13 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_25] 11.02 14:33:13 [Server] INFO at sun.reflect.GeneratedMethodAccessor303.invoke(Unknown Source) [?:?] 11.02 14:33:13 [Server] INFO at tk.blackwolf12333.grieflog.listeners.InventoryListener.onInventoryOpen(InventoryListener.java:35) [?:?] 11.02 14:33:13 [Server] INFO at tk.blackwolf12333.grieflog.utils.InventoryStringDeSerializer.InventoryToString(InventoryStringDeSerializer.java:18) [?:?] 11.02 14:33:13 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory.getItem(CraftInventory.java:49) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.InventorySubcontainer.getItem(InventorySubcontainer.java:34) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO Caused by: java.lang.ArrayIndexOutOfBoundsException: 2 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.PacketPlayInBlockPlace.handle(SourceFile:9) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.PacketPlayInBlockPlace.a(SourceFile:60) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at com.bergerkiller.bukkit.common.internal.network.CommonPacketHandler$CommonPlayerConnection.a(CommonPacketHandler.java:238) [BKCommonLib-1.57.jar:?] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:628) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.PlayerInteractManager.interact(PlayerInteractManager.java:383) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.BlockAnvil.interact(SourceFile:85) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at net.minecraft.server.v1_7_R1.EntityPlayer.openAnvil(EntityPlayer.java:598) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callInventoryOpenEvent(CraftEventFactory.java:572) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:466) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:481) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) [craftbukkit172_0_2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 11.02 14:33:13 [Server] INFO org.bukkit.event.EventException 11.02 14:33:13 [Server] INFO [14:33:13 ERROR]: Could not pass event InventoryOpenEvent to GriefLog v5.0.6 can you help me?
Could it be possible to put .txt files in a folder according to the day for easier management?
@Zeexz
Everything that happens on your server, that includes grief, is put in a .txt file.
@Zeexz
Everything is logged in a . TXT file, you can look through with crl+f or in game commands with /glog search
Is it supported by mysql to lock up the "Grief's"??
/zeexz