That's the ambiguity in the way we use some words like "server". If I say I'm going to "build a web server", you don't know if I'm developing software to compete with nginx, or building an x86 box and installing nginx on it.
That's the weird part. It's trivially simple to run a Minecraft server. Slap whatever your favorite variant of Linux is, install Java, run minecraft-server.jar. Make a service for it (heck I made one many years ago, probably still works: https://gist.github.com/chungy/0b2c438c7db90b32701a).
Once you have the Raspberry Pis, pre-installing an operating system to run the standard Minecraft server should be the easy part.
Unless, of course, it really was a case of "reverse engineer and reimplement Minecraft to make my own server." Not strictly impossible, but a completely unreasonable goal.
That's the weird part. It's trivially simple to run a Minecraft server. Slap whatever your favorite variant of Linux is, install Java, run minecraft-server.jar. Make a service for it (heck I made one many years ago, probably still works: https://gist.github.com/chungy/0b2c438c7db90b32701a).
Once you have the Raspberry Pis, pre-installing an operating system to run the standard Minecraft server should be the easy part.
Unless, of course, it really was a case of "reverse engineer and reimplement Minecraft to make my own server." Not strictly impossible, but a completely unreasonable goal.