cup of acidsipacid

← Back

Modern day herobrine

Fri Jul 07 2023

One day I got bored and decided to rewrite my project Finn in C# because fuck Javascript. Shepan was the part of this project that would check if the server had online-mode set to true or not. After rewriting the software I wanted to see how fast I could join server (including the time it takes to save to my database) and so the drama began.

What happened?

Within a few weeks of running Shepan I started seeing posts on subreddits like r/Minecraft, r/admincraft and other websites about my bot Shepan that joins Minecraft servers. I was surprised to see that people were talking about my bot and that it was getting so much attention. I was also surprised that there are people who are looking at their console logs 24/7. Below is a screenshot someone posted on reddit of their console logs, I can now see why people were getting mad.

a screenshot of minecraft server logs

Around the same time a guy named TheAirBlow was also running his own scanner and spam joined servers. Mojang contacted him via email and he invited them to a discord server where they asked some questions about the project and why people were spam joining Minecraft servers (hi IP_Justice :3). They told us their ticket system was getting flooded with tickets about people spam joining servers and asked us to stop. My bot was already shut down at this point so I didn’t have to do anything.

After all the posts on reddit and other websites I decided to shut down Shepan because I felt bad for the server owners and I didn’t want to get in trouble with Mojang. I also got bored with the project and wanted to work on something else.

Sending packets

When I was writing the software I had no idea how the Minecraft protocol worked so I had to do some research. I found a wiki that explained the protocol, turns out you only need to send a handshake packet and a login start packet to show up in someone else’s console logs. So that’s exactly what I did, I opened a connection to the server, sent the two packets and just closed the connection after getting the response. I did however encounter some issues, Minecraft’s protocol version 759 and 760 had a different login start packet structure than the other versions. To fix this issue I just checked the protocol version and sent the correct packet structure. The second issue I encountered was that not all of my code was running in async mode, this caused the program to hang for a few seconds when it was sending packets. I fixed this by making sure all of my code was running in async mode.

Conclusion

  • Server owners don’t like it when you spam join their Minecraft server
  • Mojang is scary
  • I didn’t know software that I write could actually run and not crash.
  • Free DDOS
  • cta

I would not recommend spam joining Minecraft servers. Until next time.