World’s Smallest Minecraft Server
Articles,  Blog

World’s Smallest Minecraft Server


A little while back, I decided to go make
my Minecraft server compatible with an ESP8266. It worked out quite well. The chip is very
powerful. It’s got plenty of speed, RAM and other resources. Made porting it to it very
easy. It could fit in this little redstone block here. If you’re curious about that video
you can click on it right here. Somewhere in that video, though I said “I think this
is the world’s smallest Minecraft server.” And at the time I might have been right, but
not any more, because right here is a little AVR it’s an ATMega32u2 and uuh it is probably
the world’s smallest minecraft server now. You can see it compared to the size of the
keys on my keyboard. Here it is in my hand. And uum it’s actually a lot more tough to
get the Minecraft server to run on here. The ATMega32u2 only has 1 kB of RAM and 32 kB
of flash. That 1kB of RAM is where the tough part is. So, as you can see here, it’s very
small, very compact. And, it has on the back this little USB port. It’s actually the male
side, it’s actually the first time I’ve ever tried making a circuit board with USB on the
back, but surprisingly it just worked the first time. Not very well. There are some
changes I would make – shorten up the pads, change things around a little bit. But it
works! If I plug it into my computer. I go over here and say dmesg. Right here, it registers
as an RNDIS host. This is actually the same from LUFA. This is the first time I’ve ever
used LUFA and I’m really annoyed at how bloated LUFA is. I don’t know how they can get away
with calling it ‘lightweight’ considering how ridiculous it is in size. Including the
fact that they include a TCP/IP driver that expects you to do things like copy the buffers
around. What do they think they are? They expect more than four kilobytes of RAM?? So,
I ripped most of that out and put in my own TCP/IP driver. I called it tcp_awful.c, because
it doesn’t bother retransmitting or anything else it’s just uh too bad. But it works. So,
from here I can configure my computer’s IP, and I can ping the little USB driver. So,
I am actually pinging, through a virtual network stack, the AVR right here. You can see it’s
pretty stable it keeps coming back. Additionally, I can now connect to Minecraft that little
device right there. And I’m presented with all of these switches. All little colored
switches. And, for all of these switches here I can flip them and they’ll do something.
So, let’s turn out the lights. So, here I have hooked up to it this string of WS2812
LEDs. Let’s go walk up to the wall, and I can click this yellow lever right here, and
it’ll turn the lights on to yellow. Or Blue. Or Orange, Purple. By the way, this is super
duper horrible. The stack I think there’s some smashing going on. There’s just not enough
RAM to do this right and I didn’t put a lot of effort into it. It’s just awful. It does
work, though. Proof of concept. I think I now have the world’s smallest Minecraft server.
Despite this being an awful project, I hope you guys liked the video. You can leave comments
and I have the designs for this, despite it being completely terrible and barely working
in the description. Cya.

71 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *