About the Project
The project was created as a private Minecraft server for playing together with friends.
The server was designed as a hybrid environment combining a plugin ecosystem with mods.
Therefore, Mohist was chosen as the engine, despite the known limitations of this solution.
The goal of this project was to maintain a stable Minecraft server combining Forge mods with Bukkit plugins.

Hardware & Infrastructure
The server was fully containerized, allowing for resource isolation and easy management.
- CPU: 4 vCPU Intel Core i5-8500T
- RAM: 16 GB DDR4
- Management: Docker container managed via pelican.dev panel.
World Generation
Instead of standard Minecraft terrain generation, I mainly used the ReTerraForged mod, which I compiled from this repository.
This allowed for the effects seen in the photos above — a unique world unattainable with the standard terrain generator.
The whole project was topped off with a custom, atmospheric spawn.
Server Architecture
The server logic was split into functional layers:
- Networking layer: players connected to the server via a reverse-proxy (NeoProtect), which was responsible for traffic filtering and DDoS protection.
- Logic layer: the hybrid engine combined the functionalities of mods and plugins. Plugins were mainly responsible for administration, security, permissions, and world control, while mods focused on extending mechanics and adding content.
- Data layer: data from plugins was stored in MariaDB, which allowed it to be independent of server files and kept in one place.
Server Security
- Premium & non-premium login
The user had to create an account upon first joining the server. For every subsequent login, the player had to authenticate with a password, unless they were using a premium account, in which case login was automatic (no password required).
- Grief protection and rollbacks
The WorldGuard plugin was mainly used for protection against griefing, allowing for the definition of regions and setting flags for what is permitted in those regions.
In case part of the world was griefed, a rollback was possible using the CoreProtect plugin.
Performance & Optimization
Maintaining a stable 20 TPS with an advanced terrain generator and a large number of mechanical mods was possible thanks to:
- World pre-generation: I used the
Chunkytool to render the world within a several-thousand-block radius, which eliminated the need for real-time terrain generation in a significant area of the map. - Multi-threading: Thanks to the Mohist engine, the load from plugin logic and mod mechanics was effectively distributed across the 4 available CPU cores. Measurements with the
sparktool showed environment stability even with 10 players online.
Challenges & Limitations
- Compatibility issues: Combining mods with plugins on Mohist required careful matching and stability testing.
- Network architecture limitations: The technology stack used prevented the implementation of a
Velocityproxy. - Manual updates: All dependencies had to be updated manually.
What could have been done better
- Alternative Nether and End generators: the Nether and End generators did not work correctly with the hybrid engine.
- Reverse-proxy location: the NeoProtect protection used introduced noticeable latency. The solution would be migrating to a local protection provider to reduce ping.
