This is what I'm proposing to make griefers as obvious as possible as soon as possible and even prevent some types of griefing all together. There is no known event triggered that I can hook into to prevent an enemy from blocking your unfreeze by beginning to unfreeze themselves. I have a pretty good idea on how I'm going to do all of it so far.
Note:
They may just be de-constructing something that was built poorly, which is why there is only one instance of autokick/ban.
If they Freeze many blocks in quick succession
It must be build phase, and they are probably block spawn griefing
- Give a warning to everyone else after a few blocks and
- Prevent them from freezing for a specified time
If they Unfreeze an enemy block during build auto kick/ban them (all admin are immune)
- greifer_kickban <0/1> // auto ban and kick the build phase griefer
- greifer_ban_time <0 to 9999>// ban time to use, 0 is permanent
If they Unfreeze an enemy block during combat do nothing
If they Unfreeze their own team's block...
This is where it gets complicated...
The block count is included in the announcement if > 1
Count goes up and timer restarted if the block they unfreeze is not the same as the last
If timeout is reached, block count is set back to 0
Since pre-built bases start motionless by World by freezing them once they become owned
By grabbing a block it becomes owned
// # of seconds until their block unfreeze count is reset
announce_timeout_combat = 120
announce_timeout_build = 20
// minimum # of blocks to trigger warning
warning_blocks_combat = 2
warning_blocks_build = 3
// minimum # of blocks to trigger alert instead of a warning
alert_blocks_combat = 4
alert_blocks_build = 6

0 = scrim mode announcements
1 = public mode announcements
2 = admin mode announcements
W = Warning given to player who violates
O = message is made extra obvious by surrounding it with lines of ******* UNFREEZE ALERT *********
Any suggestions, complaints, problems you foresee?