Skip to content
luispolis124 edited this page Jul 26, 2026 · 1 revision

Welcome to the Cobblit Engine Wiki!

Welcome to the official documentation for Cobblit Engine, a high-performance game server engine developed in Go (leveraging the Dragonfly ecosystem) and optimized to run directly on mobile devices and local servers (such as Android/Termux).


🚀 Project Overview

Cobblit Engine is designed to bring stability, high speed, and support for dynamic extensions even on restricted hardware, bypassing native Go compilation limitations on mobile through robust software engineering solutions and CGO.


📚 Documentation Index

  1. Engine Architecture
  2. C-Shared Plugin System (Android/Termux)
  3. Roadmap & Project Status

⚙️ Engine Architecture

Cobblit Engine manages multiple subsystems concurrently using Go's lightweight routines (Goroutines):

  • Network Core: Optimized connection management for Minecraft Bedrock protocol players.
  • Economy & Worlds Subsystem: Integrated control of multiple worlds (e.g., world, nether) and persistent player balances.
  • Command Registry: A wide range of native administration, moderation, status, and game rules commands.

🔌 C-Shared Plugin System (Android/Termux)

Since Go's native plugin package (plugin) is blocked by the operating system on Android, Cobblit Engine implements a high-compatibility dynamic loader based on CGO (dlopen).

How it works for developers:

External plugins are compiled in C-Shared format (-buildmode=c-shared), generating .so files that communicate directly with the server engine.

Standard template for creating compatible plugins:

package main

import "C"
import "fmt"

func main() {}

//export OnEnable
func OnEnable() {
	fmt.Println("[MeuPlugin] Successfully loaded via CGO in Cobblit Engine!")
}

Compilation command in Termux:

CGO_ENABLED=1 go build -buildmode=c-shared -o MeuPlugin.so main.go

Simply move the generated .so file to your server's /plugins folder so the engine automatically recognizes it on startup.

🗺️ Roadmap & Status

  • Phase 1 (Completed): Core Go architecture setup, multi-world support, and operator commands.
  • Phase 2 (Completed): Implementation of dynamic .so plugin loading via CGO for Android/Termux.
  • Phase 3 (In Progress): Expansion of internal APIs to allow external .so plugins to handle player events and register custom commands natively.

Clone this wiki locally