GommeHDnet
Java Developer
- Period
- 2020 – 2024
- Scale
- 4.4M+ registered players
- Java
- Netty
- Cassandra
- Redis
- MySQL
- ZooKeeper
Game frameworks for a network of 4.4M players
Shared frameworks and mini-games running across one of the largest German multiplayer networks — code where a single dropped tick is visible to thousands of people at once.
- Context
GommeHD is one of the biggest German-speaking multiplayer networks. I worked on the mini-games and the internal frameworks underneath them: matchmaking, game state, player data, and the plumbing that connects dozens of game servers.
- The hard part
Everything is concurrent and nothing forgives latency. A player joining a round, a stat being written, a server rejoining the cluster — all of it happens thousands of times a minute, and any stall is something real people feel instantly. And the frameworks weren't only mine: other developers built their games on them, so an awkward API was a cost multiplied across the whole team.
- Approach
- Treated the framework as a product with internal users — clear boundaries, sane defaults, and APIs that were hard to misuse.
- Kept hot paths off the database: Redis for volatile state, Cassandra for write-heavy player data, MySQL where relational integrity actually mattered.
- Leaned on ZooKeeper for coordination and Netty for transport, so servers could come and go without taking live rounds down with them.
- Outcome
Games and frameworks that held up under the network's real traffic for years — used daily by millions of players, and by the developers building on top of them.
- What it taught me
Writing infrastructure other engineers depend on taught me more than any single feature could. The API you ship is the one people live with, so I learned to optimize for the second reader of the code, not the first writer.