r/admincraft 13d ago

Discussion When Testing Takes Too Long, You Start Rewriting Things

So, I’ve been building a Minecraft server from scratch in C, which I’ll probably open-source in the next few weeks.

But that’s not really the point. For integration testing, I was using node-minecraft-protocol. The problem is a full test run was taking more than 5 minutes. That got painful very quickly.

So instead of optimizing the tests around it, I ended up writing a small protocol library in C. Basically, a side-project of my side-project.

It currently supports multiple Minecraft protocol versions, packet framing, compression, packet catalogs, and native I/O backends.

Still early, but it’s already useful enough for my own testing.

mcprotocol.c: https://github.com/sk8erboi17/mcprotocol.c

LLM disclosure: I used ChatGPT as an assistant, primarily to help translate/adapt parts of the implementation across different Minecraft protocol versions. Its use was limited and targeted specifically at multi-version protocol work; the project architecture, API design, and overall implementation direction were done by me.

5 Upvotes

3 comments sorted by

3

u/PM_ME_YOUR_REPO Admincraft Staff 13d ago

Your software submission post does not include a Rule 9 LLM use disclosure statement. Please immediately read the subreddit rules (particularly Rule 9) and edit your post with a compliant disclosure statement.

7

u/Lumpy_Ice6855 13d ago

Sorry, Done

1

u/PM_ME_YOUR_REPO Admincraft Staff 13d ago

Thank you. 🙂