Mods / Bunny's Block Log

Category: #Utility
Author: FunnyBunnyofDOOM
Side: Server
Created: Dec 2nd 2022 at 4:30 AM
Last modified: May 25th 2023 at 10:14 PM
Downloads: 421
Follow Unfollow 7

Latest file for v1.18.5:
blocklog_v1.0.0-dev.2.zip 1-click install


1.0.0-dev.2

-Compatible with fairplay guardian

-Should resolve some errors regarding the half-implemented animal tracking

 



This is a WIP server utility mod. It doesn't have many features now, but I intend to add functionality as I go. I wrote this mod in response to an uptick in greifing on my server. this gives me a little more peace of mind by being able to verify if a player is causing issues. 

Please share your suggestions and feedback so I can improve this utility.

Server side only, this doesn't need installed on the client, only in your server mods folder.

This command only displays information on block placed/broken after the mod was installed.

/blocklog
- displays the player and time the block the block pointed at was placed

-displays the player, time, and blockname of the block that was broken at the block above the one you are pointing at


This mod is currently running on both US-EAST doomland servers. 

 

Future Release 1.0.1 - Animal Update

The goal for the next release will be to track animal deaths within claims and lower the server impact of block break/place tracking. In a bid to keep server impact as low as possible animal deaths will only be tracked on claims. You should communicate with your players that they should claim the land their animals are on to help track their deaths in the case of griefing.  

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.0.0-dev.2 150 May 25th 2023 at 10:14 PM Show blocklog_v1.0.0-dev.2.zip Install now
v1.0.0-dev.1 90 May 23rd 2023 at 11:56 PM Show blocklog_v1.0.0-dev.1.zip Install now
v1.0.0 181 Dec 2nd 2022 at 4:32 AM Show blocklog_v1.0.0.zip Install now

13 Comments (oldest first | newest first)

💬 codeAtorium, 1 hour ago

Hi Bunny.  I was working on a mod that's pretty similar to yours before someone pointed yours out.  It's here: https://mods.vintagestory.at/grieflogger

Thank you for including the source.  I am as well.  We took a very similar approach, overwriting the same methods and using the savegame file.

I've just started with C# so your code is much better than mine.  But mine does something a little different. When a user first places a block in a chunk, it marks the chunk with a unique id, and uses that id to key the placed block information in the file using separate datastores for each chunk. Then, when a user breaks a block, it checks for the presence of that id, and if it finds it, compares the block being broken to the blocks in that chunk's placed block information.  That way, we can query a much smaller table for the matching block when breaking. 

I think this will reduce the amount of lag as the server grows.  I wanted to see if you have any thoughts on this, and if you might want to implement the approach in your own mod, since the overall code looks superior to mine.  I'm on the VS discord under improperCase or just comment on my mod.

💬 Thorin48, Jan 9th at 3:01 PM

FunnyBunnyofDOOM are you updating for 1.19

💬 Kara, Aug 23rd 2023 at 12:54 AM

if you ever update this, would you be able to make it read off irl time/date rather then in-game time/date? 

 

💬 Mendall, May 26th 2023 at 5:14 PM

RogueRaiden The key phrase there is "does not have to be" I once lived in a beach town, there was a problem with people coming off the beach and vandalizing. Cops could have policed the beach, but they managed to get permission to put up lights. Next thing anyone knew there were so many lights on the beach it was like an airplane runway and no one could enjoy the beach at night anymore, even the people that owned homes went from a view of the ocean too bright lights in their back windows. It made the cop's job real easy but at the hole communities expense. The very existence of a tool like this means some admins will just ban anything they think might one day somehow possibly be a problem. But if it does not exist, they have to learn to police. I will always disagree that FairPlayGuardian is a BAD tool. With bad implications.

In the end the problem is not what is controlled but who. Control the bad actors, not the community.

💬 RogueRaiden, May 25th 2023 at 10:41 PM

Mendall

FairPlayGuardian is a fantastic tool, and it does not have to be set to block all client mods. You can use it exactly in the manner that follows your ideas, where it only logs players client mods and shows if they are running one that is flagged as blocked without kicking. Both of these tools used together is highly recommend however you want to configure them.

💬 Mendall, May 25th 2023 at 12:08 AM

THIS is a great tool. And more important, it is an example of the RIGHT way to control a server. By giving the admins tools like this, invisibility, role backs, teleports to players.etc. that allow them to police their server actively. It is far better than a mod like FairPlayGuardian that is a perfect example of the wrong way to control a server. Where you just blindly and passively limit your hole player base, not just the bad actors. I was an admin on a server for 4 years, and it can be a lot of fun if you go in remembering it is a game, so don't be a dick. So take the time to police the bad actors instead of scorched earth control of everyone. Thank you bunny for a good admin tool.

 

💬 FunnyBunnyofDOOMAuthor, May 23rd 2023 at 11:57 PM

Released a 1.0.0-dev.1 version with a few tweaks (incomplete 1.0.1 release) but more importantly this should work on the .NET7 version. Please let me know if you have any issues running this on a .NET7 build. 

💬 FunnyBunnyofDOOMAuthor, May 12th 2023 at 12:00 AM

Rythian
Thank you so much Rythian! This is #2 on my priority list. as soon as my server utility mod is updated I'll start work on this. I am hoping to have it updated by mid to late june. 

💬 Rythillian, Apr 17th 2023 at 9:42 PM

This seems like a must have for servers, very similar to core protect (though obv core protect has more features being a super old plugin for mc). Very interested to see this continue devloping! 

💬 RogueRaiden, Dec 4th 2022 at 9:57 PM

oh yes, performance is top priority. just thinking about readability and ease in finding a culprit. since animal corpses can eventually disappear. perhaps save the animal deaths with the chunk it was in? then the command to print and/or export the animals killed in the current chunk

💬 FunnyBunnyofDOOMAuthor, Dec 4th 2022 at 2:36 PM

RogueRaiden
BoolyStudy

Absolutely possible. I'll put it on my to do list. The blocklog is saved in binary, so it's not very impactful on the system. If I make these values saved in a visible log file I have concerns about performance impacts. I'll do some tests and see what I can find out. If it's too impactful on the servery maybe a command to export a players kill-list into a readable log might work. 

Thanks for the suggestion!

💬 RogueRaiden, Dec 4th 2022 at 12:37 AM

I came here to also suggest somehow logging animal deaths lmao perhaps into a seperate, dedicated log file with timestamps, coords, animal type and player name

💬 BoolyStudy, Dec 3rd 2022 at 4:15 PM

Can we verify who killed another person's animals? I use your model on my Latino server with 50 simultaneous players, but they are killing animals in our regions, we use /land

(edit comment delete)