โ ๏ธ This is a continuation of 3arthqu4ke's now discontinued 3arthh4ck. Any new PingBypass 3arthqu4ke releases will be found here. This project has been merged with Ai_2473's continuation of 3arthh4ck, so expect this repository to have very little activity.
3arthh4ck is a Minecraft 1.12.2 utility mod for anarchy PvP. With the 1.7.0 release it also takes over the role
of the now outdated PingBypass Server and
Client. To install it just drop the jar into your forge mods folder.
By default, any message prefixed with a +
will be handled as command, e.g. +toggle clickgui
, to open the gui.
Because of bloat I decided to hide some of the more complicated Settings by default. You can find those by using the
Settings module.
3arthh4ck can be used as a Proxy server. With ping being such an important factor in crystal PvP this allows you to play
on servers far away from where you are without the disadvantage of high ping. This proxy can, opposed to the old
PingBypass, stay connected to a server, allowing to join through it at a later point. This can for example be used to
wait out 2b2t's queue system.
To set up the 3arthh4ck proxy you need a server, I personally started out using GCP's free trial. The location of that server should be as close as possible to the one you want to play on. That server should have an Ip and port which are reachable from the outside. The game will run on that server. Keep in mind that no matter which account you use on your client, the Minecraft account on the server will always be used when you play.
-
Install docker on your server.
-
Run
docker pull 3arthqu4ke/pingbypass
. -
Run
docker run -i -t -p <ip>:<port>:25565 3arthqu4ke/pingbypass
. -
You should now be in the shell of the docker container.
-
Login to your Minecraft account via
hmc login <email>
, then enter your account password. -
Launch the PingBypass server with
hmc launch 1 -id --jvm -Dpb.password=<some password>
. -
You are now done with the server. Use the commands from the HMC-Specifics to stop the game. Or just stop the container.
-
On your own PC just install 3arthh4ck by using its Installer or dropping it inside your mods folder.
-
In the MultiPlayer Menus top right corner you will see a book and a PingBypass button. Use PingBypass button to toggle it on and off and the book to enter the server's connection details, also the password you used in step 6.
-
You can add the PingBypass server like a normal Minecraft server, this will make it look like in the picture above. When the PingBypass button is toggled on you will join any server you click through the PingBypass proxy.
-
There is two sets of modules, one accessible through the PB-Gui module. These modules have separate configs and represent the ones on the proxy server.
This is just what the docker container already automates.
-
Install Java 8 on the server
-
Create a folder where your game will run.
-
Inside that folder create two directories:
mods
andearthhack
-
Put the 3arthh4ck jar and the HMC-Specifics-1.12.2 jar inside the mods folder.
-
Inside the earthhack directory create a file called
pingbypass.properties
filled with the following:pb.server=true pb.password=<password for your pingbypass proxy> pb.ip=<the aforementioned ip (definitely not 127.0.0.1)> pb.port=<the aforementioned port>
-
Download HeadlessMc and run its jar once.
-
This should create a file called
HeadlessMC/config.properties
. Edit that file and add:hmc.gamedir=<the directory created in step 2.> hmc.java.versions=<the directory where the java binary is located, e.g. /usr/bin/java> hmc.invert.jndi.flag=true hmc.invert.lookup.flag=true hmc.invert.lwjgl.flag=true hmc.invert.pauls.flag=true
-
Run HeadlessMc again:
- Login to your Microsoft account with
login <email>
, then enter your password. - Run
download 1.12.2
., thenforge 1.12.2
. - List the downloaded versions with
versions -refresh
. - Launch the game with
launch <id of the forge version> -id
.
- Login to your Microsoft account with
-
You are now done with the server. Just follow the steps after 7. in the docker setup.
The client is very simple to build with IntelliJ IDEA, which is the IDE I recommend for developing any sort of mods and this client in specific.
- Open
build.gradle
with IntelliJ - This should prompt IntelliJ to ask if you wish to trust this project. Choose
Trust Project
and wait for ForgeGradle and Gradle tasks to be finished. - After this is done, there should be no more changes to the
Project
tab in IntelliJ. You can now run some Gradle tasks to be able to build and work with the project:
- Go to your top-right in IntelliJ, and click the
Gradle
button. This should open a tab withTasks
,Dependencies
, andRun Configurations
. - Of these options, click
Tasks
and then under that,forgegradle
. - From
forgegradle
you need to run tasksetupDecompWorkspace
. This should take some time, and you should wait. - After this is done, you can build the client, or optionally contribute/develop it.
- Open page
build
from Gradle > Tasks. To build the client succesfully, you need to run Gradle taskbuild
. - This will build 2 .jar files. The correct one is
3arthh4ck-VERSION-release.jar
, and you can use it by double-clicking it and using the 3arthh4ck installer, or by simply dragging and dropping it to your.minecraft\mods\
folder.
- Write your additions, and test them. If you feel that they are ready and work fine, fork this repository with your changes, and submit a Pull Request.
- Preferrably, write 'clean' code - for example, in cases where you're returning something you could use ternary operators, instead of an if-else statement. If this messes with your head though, it's okay to write it as a if-else.
- Preferrably don't do unnecessary refactoring, like changing
AutoCrystal
toCrystalAura
. This also includes changing up words in the README, or adding small bits of text. Most likely, these PR's won't be accepted.
When writing an issue, please use the following format, or at minimum, use labels accordingly:
What is wrong:
When does this happen:
How to reproduce the bug:
What you think the severity is:
What this benefits:
Any cons?:
Complexity/Difficulty (if known):
(if possible) Video/example of already existing feature: