Will It Host? / Microsoft Outlook
Can you run a Minecraft server in Outlook?
Yes. The process listening on port 25565 is OUTLOOK.EXE, and you start the server by emailing yourself the word START. A vanilla Minecraft client connects to it and plays on it. This was the hardest build in the series so far.
How it works
VBA, speaking the Minecraft 1.8.9 protocol directly over a Windows socket. The handshake, the login exchange, chunk data and the keep-alives are all written by hand, because no library for any of it exists in VBA. The status readout lives in a mail folder as a post that updates in place, and every connection and every join arrives as its own unread email.
The part that nearly stopped it
Outlook cannot survive a blocking loop. Excel had come first and the protocol code carried straight over, but a server is fundamentally a loop sitting on a socket waiting for the next packet, and holding Outlook inside one locks the whole application solid.
What got it over the line
Rebuilding it on a Windows timer, so the server advances in slices Outlook hands back to it rather than in a loop it never gets to leave. There is a Windows VM involved too, because Mac Outlook has no VBA at all, and a relay on the Mac side because macOS blocks Minecraft from reaching the local network. Both are documented in the repo.
What it cannot do
Minecraft 1.8.9 rather than anything current. In 1.8 a chunk is a flat byte array you can send uncompressed. Modern versions expect zlib, and VBA has no zlib.
Why this is possible at all
A Minecraft Java server is a smaller thing than its reputation suggests. It is a socket, a packet codec and a game loop. The client opens one TCP connection, sends a handshake naming its protocol version, moves through login into the play state, and from then on both sides exchange length-prefixed packets describing chunks, entities and movement. None of that needs a game engine. It needs something that can hold a socket open and put the right bytes on it in the right order, which is why Microsoft Outlook can be made to do it and why the interesting part of each episode is the host rather than the protocol.
Every build in this series targets Minecraft 1.8.9 for one specific reason. In 1.8 a chunk is a flat byte array you can send uncompressed. From 1.9 onward chunk data is palette-encoded into bit-packed longs and the connection expects zlib, which is not something you can hand-write in VBA. 1.8.9 is the last release where the whole protocol is within reach of a scripting runtime that was never meant for it.
We have written both halves of that up properly: how the Minecraft server protocol works covers the wire format, and what a Minecraft server actually needs to run covers the four things a real one cannot do without.
Questions
How do you run a Minecraft server in Outlook?
With VBA and a Windows socket. Outlook macros can call the Windows socket API directly, which is enough to listen on port 25565 and answer the Minecraft protocol packet by packet. The awkward part is not the networking, it is that Outlook will not tolerate a blocking loop, so the server has to be driven by a Windows timer instead. The full source is on GitHub.
Why does it need a Windows VM?
Because Outlook for Mac has no VBA. The build runs in a Windows VM for that reason, with a small relay on the Mac side because macOS will not let Minecraft reach the local network on its own.
The rest of the series
Or just host it properly
Microsoft Outlook is not where your survival world should live. AMD Ryzen 9700X, hard-reserved RAM, NVMe, online in under a minute with a free address, DDoS protection and a 7-day money-back guarantee.