Skip to content

Conversation

@GigaZelensky
Copy link

@GigaZelensky GigaZelensky commented May 17, 2025

(Title)

Makes it so you can set grim to add more levels for simulation per violation depending on the offset in the prediction/actual comparison.

Fixes the punishment decay issue that was present in WHY-HAVE-YOU-SUMMONED-ME's PR (GrimAnticheat#1961).
Nothing else is changed.

Also includes translations for the configs which I think are pretty solid but anyone can feel free to change them later.

(I just PR'd to upstream Grim but this makes it easier for you to merge since it already has everything lightning has)

Axionize and others added 27 commits May 7, 2025 17:02
- Add basic runtime reloading support.
  - Will only actually reload if current database is different/has different setting than the one requested in config.

- Added [log] statements matching [alert] statements
…ierce)

- Reduce unnecessary reach vectors used for calculations in versions
Notes:
- Mark actions builds automatically as alpha on Modrinth
- Shorten Fabric version string to be same as Bukkit on Modrinth
 - Update gradle buildscript to not include branch-name if branch is called "lightning"
 - Update GitHub Actions to automatically include changelog and to rename the jar LightningGrim-${platform}-${version}.jar
 - Mark Paintings as entities that cannot be hit to prevent EntityPierce (formally HitboxEntity) falses.
- 2.2x reduction in queued task overhead
- reduction in size of queued single block changes
- up to 8x reduction in size of queued multi block changes
    - fixed blocks disappearing in B73 caused by incorrect shifting in new block udpate handler
    * "Wall Hit" -> "WallHit"
    * "Entity Pierce" -> "EntityPierce"
* Fix modeling experience orb as unhittable entity
* Fix sending hitbox with /grim hitboxdebug in the hitboxdebug handler
* Update upstream to 35811fe
- Add basic runtime reloading support.
  - Will only actually reload if current database is different/has different setting than the one requested in config.

- Added [log] statements matching [alert] statements
…ierce)

- Reduce unnecessary reach vectors used for calculations in versions
Notes:
- Mark actions builds automatically as alpha on Modrinth
- Shorten Fabric version string to be same as Bukkit on Modrinth
 - Update gradle buildscript to not include branch-name if branch is called "lightning"
 - Update GitHub Actions to automatically include changelog and to rename the jar LightningGrim-${platform}-${version}.jar
 - Mark Paintings as entities that cannot be hit to prevent EntityPierce (formally HitboxEntity) falses.
- 2.2x reduction in queued task overhead
- reduction in size of queued single block changes
- up to 8x reduction in size of queued multi block changes
    - fixed blocks disappearing in B73 caused by incorrect shifting in new block udpate handler
    * "Wall Hit" -> "WallHit"
    * "Entity Pierce" -> "EntityPierce"
* Fix modeling experience orb as unhittable entity
* Fix sending hitbox with /grim hitboxdebug in the hitboxdebug handler
* Update upstream to 35811fe
@GigaZelensky GigaZelensky marked this pull request as ready for review May 17, 2025 20:35
@GigaZelensky
Copy link
Author

So I added a millisecond delay option which was requested by a user (heckergato), the objective is to have a smoother command execution when multiple VLs are fired at once due to VL scaling. I also added an option which I will explain here:


TL;DR: The punishment system tracks how many times a command is executed (executeCount) for a given violation level (VL). The problem is: this counter never resets, not even when VL decays.

Example:

  • You set a command to run at 20:20.
  • A player cheats, hits VL 20 → command runs.
  • VL decays (player stops cheating for a bit).
  • Player cheats again, hits VL 20 → command does NOT run again.

Why? Because the Grim thinks, “Ah, I already ran this command once for VL 20, no need to do it again.” Even though the VL dropped and came back up, which should be treated as a new violation threshold being reached.

Why This Sucks:

  • No repeat punishments or alerts, even for repeated behaviour.
  • Mods might miss the first alert, and the system gives them zero visibility after that.
  • Commands at specific VLs become useless if they only ever fire once.
  • Encourages a cheater to just chill for 5 minutes, then repeat the same thing forever without triggering anything again.

What Should Happen:

  • executeCount should reset when VL decays past the previous threshold.

This is exactly what I have also implemented as a config option.

@Axionize Axionize force-pushed the lightning branch 2 times, most recently from 2582e6c to 4ff4a27 Compare May 26, 2025 02:09
@Axionize Axionize force-pushed the lightning branch 5 times, most recently from 0763048 to 326e200 Compare July 7, 2025 03:56
@Axionize Axionize force-pushed the lightning branch 2 times, most recently from 037abab to 71d93c9 Compare November 8, 2025 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants