Will It Host? / Microsoft PowerPoint

Can you run a Minecraft server in PowerPoint?

It hosted#4 of 8 by difficulty

Yes. The process listening on port 25565 is POWERPNT.EXE, and a vanilla Minecraft client connects to it and plays on it. Slide 2 is a live isometric render of the world built out of cube autoshapes, and the deck moves itself to that slide when you connect and back to the title when you leave.

verdict
It hosted
A vanilla Minecraft client connected and played on it.
difficulty
#4 of 8
Ranked against everything else in the series, hardest first.
built withVBA
protocolMinecraft 1.8.9
read the source on github β†’

How it works

VBA, speaking the Minecraft 1.8.9 protocol over Winsock, on a Windows timer at 20ms because PowerPoint has no OnTime. The protocol half is a straight lift from Excel. What is new is the render: 260 cube autoshapes created once and then only moved and recoloured, redrawn whenever you cross a block boundary or place or break something, with START and STOP buttons on slide 1 that work during the slideshow.

The part that nearly stopped it

The render layer and the control layer are the same layer. The first version rebuilt the deck on start, which meant clicking START ran a routine whose first act was to delete the START button mid-click. It does not crash. It leaves a deck that looks fine and buttons that no longer point anywhere.

What got it over the line

Never building the deck twice. Setup constructs it once and everything after that finds the shapes by name and rebinds. The z-order comes for free the same way: shapes on a slide are an ordered list, so the pool is created back to front and the draw list is sorted with the same key and poured into it in order, and nothing ever needs restacking.

What it cannot do

Minecraft 1.8.9, the same target as the rest of the series. The render is an 11x11 window around you rather than all 25 chunks, breaking the original terrain is not reflected, and only blocks can be placed.

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 PowerPoint 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 PowerPoint?

With VBA and Winsock. PowerPoint macros can declare functions from ws2_32.dll, which is enough to listen on port 25565 and speak the Minecraft protocol by hand, and a Windows timer ticks the server every 20ms so the slideshow stays responsive. Windows only: PowerPoint for Mac runs VBA inside the App Sandbox and the socket calls fail at runtime. The full source is on GitHub.

Is the world really drawn on a slide?

Yes. Slide 2 holds a pool of cube autoshapes arranged as an isometric view of the area around you. Walk and the view scrolls, place a block and a cube appears in the right position and colour, break it and it goes. Creating shapes in PowerPoint is slow, so the pool is built once and only ever moved and recoloured.

The rest of the series

See the full Will It Host? board β†’

Or just host it properly

Microsoft PowerPoint 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.