A programmer who goes by the name Turtius has managed to install and run a Minecraft server on a Canon SL2 (also known as the EOS200D) DSLR camera. Turtius was working on reverse-engineering Canon’s network processor when he decided to try and see if it could be done.
It is important to note that the camera is just the server, not the client. The game itself is running on the computer, the “world” that is displayed in-game is simply connected to the camera. Theoretically, others could connect to the camera’s network and join this same Minecraft server via their own computer.
The 1.5-minute video above depicts three perspectives: One is via a smartphone recording the back of the camera and the monitor, the next is what the SL2 is seeing, and the last is a screen recording from the computer that is connected to the SL2.
What can be confusing is it looks like the camera is just recording the screen, but this was done on purpose and to show that “it still functions as a camera as well,” he explains, aware that the multiple perspectives shown were not as clear-cut as they initially thought and that what is shown can look like all the camera is doing is just recording the PC screen. What is actually happening is that the server is running on the SL2, but the camera is also pointed at the computer that’s connected to it.
The SL2 does seem to be at the limits of its capability, however, as Turtius says that it can barely make photos and videos in this state and sometimes will crash. He believes that if the camera processor were a bit more powerful, custom world generation could be supported.
Turtius explains that after he was able to reverse engineer the SL2’s network module, he was able to take a couple different steps to install the server on the camera.
“It’s avrcraft,” Turtius says. “It’s fully running on the camera. I reverse-engineered the network module used by Canon which just so happens to expose Unix-like sockets and integrated avrcraft with Magic Lantern. It’s running a custom implementation provided by Canon’s operating system and using custom code to interact with the stuff provided by Canon on a lower level.”
Avrcraft, available on Github, is a Minecraft server that’s optimized for 8-bit devices. You can see another example of its implementation below:
Turtius forked a simplified version of the popular and free Magic Lantern firmware add-on for Canon EOS cameras, and his code is designed specifically to run avrcraft on the Canon SL2.
You can find the full source code here on GitHub, but before you try and follow in his footsteps, be warned: you could brick your camera.
“I don’t recommend running this without knowing what you’re doing as this could destroy your camera,” Turtius warns. “I am not responsible if you attempt this and your camera breaks, try this at your own risk.”