I developed this server-side mod suite for the Tagumbayan City roleplay server. It handles city mechanics, in-game smartphones, and entity optimizations under high player counts.
Performance benchmarks
| Metric | Tagumbayan suite | Unoptimized server setup |
|---|---|---|
| Entity tracking desync | 0% failure (patched Arclight IVTracker) | Invisible mobs and ghost entities |
| Model bandwidth | -62% bandwidth reduction | Constant redownload of models |
| Database query speed | < 1.8ms async latency via HikariCP | 25 to 60ms blocking queries |
| Active players in city | 200+ players in one sector | TPS drops below 14.0 at 80+ players |
Technical details
| Item | Details |
|---|---|
| Platform | Minecraft Forge 1.20.1 and Arclight hybrid engine |
| Toolchain | Java 17 LTS and Gradle |
| Database | HikariCP connection pool over MySQL 8.0 |
| UI | Custom Forge GUI handlers and textures |
Subsystems
- TagumbayanCore: Server lifecycle management, citizen database storage, and permissions.
- TagumbayanPhone: In-game phone GUI with SMS, voice calls, banking, and 911 dispatch.
- TagumbayanOptimizer: Throttles entity tick frequency outside player view cones.
- TagumbayanMpmSkinOptimizer: Client skin caching to avoid repeated avatar downloads.
- ArclightIVTrackerFix: Bytecode patch fixing entity tracking bugs on hybrid engines.
FAQ
How does the optimizer keep 20 TPS with hundreds of entities?
Entities farther than 32 blocks from players tick once every 4 ticks instead of every tick. This cuts entity overhead by roughly 70%.
Is player data protected against sudden crashes?
Yes. TagumbayanCore writes to a transaction log and flushes data atomically every 60 seconds to prevent inventory rollbacks.