June 16, 2025
Bedrock scanning!!!
This was a bit of a challenge, I had to implement a new protocol (Bedrock Edition's RakNet Unconnected Ping), which is especially challenging because it uses UDP rather than TCP. I was previously using masscan to find servers accepting TCP connections, and then checking which of those were Minecraft servers. However, UDP is connectionless, so I have no way to know if a server is online unless the server chooses to send data back. This means that I had to configure masscan to send the actual ping itself in order to get a response. After digging through masscan's source I found out you can include a nmap payloads file, which allows me to specify a udp payload to send to scans on a given port (turns out that was also in the docs, but I didn't notice until after I spent like two hours finding it in the code lol).
Bedrock searching isn't available on my website yet, so for now you'll have to use the Discord bot.
I'm broke so I added an option to disable images so that I don't have to use them on the live demo
People kept getting confused as to what certain things on the server lists meant, so I made some changes to make it more clear. Since most people don't care about the protocol version I removed it from the preview. People also kept thinking that the timestamp was when players were last seen on the server whenever they used a player filter, so I changed it to specify that it was the last time the server was pinged.
Whitelist scanning is back! I may or may not have gotten banned from Mojang once or twice after a typo made me spam their API...
Because of API rate limits, whitelist scanning is extremely slow, so I recommend only using the whitelist filter as a last resort. If you use any other filters with it you might not even get any results.
Final touches are done on the server scanner page for now, I might revisit it later
The server cards felt boring now compared to the new list background, so I made them transparent
The website felt boring so I added some gradients and other effects to make it flashier
A lot of people seemed to be confused as to what certain filters were for, so I added info tooltips to the website to explain each one and give some warnings.
The rescanner config was getting a bit lengthy, so I cleaned it up by categorizing the java and bedrock options into separate objects. This also allows you to do some things you weren't able to previously, like use a using a custom ips list for java scans but not bedrock.
Finally implemented Bedrock Edition scanning! This was a bit tougher to work with since it uses UDP instead of TCP, which is much harder to scan due to it being connectionless. The Bedrock Edition support has been added to both the scanner and the rescanner, updates to my API and Discord bot are coming soon
Turns out llama 4 can accept static gifs, so I made the bot download gifs and clone a static version, letting it see the first frame.
The bot can now see images and some message history. Previously it could only see the reply chain, so you had to reply to every message in order for it to see the conversation.
The ai now has access to guild-specific data, like nicknames. Its language also got a bit colorful at times so I added a content filter in the config to censor out words.
Reworked half of the bot to take advantage of llama 4's json schema feature, which makes parsing commands much easier and more consistent. It also now separates each user's message into a separate prompt to fully sanitize the conversation.
Discord bot that uses AI to act like a user. It can have conversations, react to messages, see information about the server it's in, and switch to other channels/dms.
Fixed a bug causing data to be saved incorrectly due to Buffer.toString() setting all invalid characters to the Unicode replacement character.
🌐🔍 Scans the entire IPv4 range for Minecraft servers using Java Edition's Server List Ping protocol and Bedrock Edition's RakNet Unconnected Ping protocol!
This was widely regarded as a great move by everyone.