BreakMe/README.md
2020-08-26 13:44:06 +00:00

2.6 KiB

BreakMe pipeline status

BreakMe crashes Minecraft in creative ways. It uses Fabric (although porting should be trivial, most of the code is standard java & some JNI)
NOTE: It has come to my attention that, although technically working, BreakMe exceptions are now caught in 1.16.2
This means that the "safe" methods of crashing will no longer work properly. I might try to implement something that works by killing the process but we will see.
For now stick to full crashes or 1.16.1

Installing

I recommend you to use the automatically built packages, you can download the latest one here

Configuration

You can use Mod Menu to change the configuration.
The values are explained in more detail below

  • Cause:

    • Damage: The crash-event is fired once you take damage
    • Death: The crash-event is fired once you die
    • All: The crash-event is fired if any of the above apply (currently equal to Damage)
    • None: The crash-event is never fired
  • Method:

    • Unsafe_Universal_Forkbomb: Launch a self-multiplying process
    • Unsafe_Windows_WinAPI: Do some JNI-magic to instantly produce a blue-screen on windows
    • Broken_Universal_ExitCode: (in singleplayer) exit the integrated server. The game still displays, but you can no longer interact with the world or quit.
    • Safe_Universal_Exception: Throw a simple exception. Behaves like every other crash and just closes the game, leaving a crash log.
    • SemiUnsafe_Universal_Exception: Throws a security exceptions. This should prevent the exception from being caught and should leave no crash log.
    • SemiUnsafe_Universal_Shutdown: Attempts to run a shutdown command. Since these are specific to some systems this might not always work.
    • None: Do nothing

Building

BreakMe consists of two parts: The main mod and the DLL used for Unsafe_Windows_WinAPI, which are built separately.
A prebuilt DLL for part 2 is shipped with the source so this can be built on linux.
If you want to build your own, run this in a x64 native utilities command prompt (A start-menu shortcut to this is contained in the C++ package for VisualStudio)
The mod itself is built like any other fabric mod: using gradle. Look at the CI config for an example\