Loading...
World Live

Your Password

This can be anything you like, it should be 5 characters or longer.

Your Password

Please enter your chosen password again here.

Stronghold Kingdoms

Design your own castle and crush invading hordes with an impenetrable stronghold. Your kingdom awaits and the battle has just begun!

Stronghold Kingdoms
Stronghold Kingdoms

Stronghold KingdomsBuild a Medieval Kingdom

Design mighty castles, forge alliances and fight for the throne in Stronghold Kingdoms - an immersive castle MMO with grand strategy, city-building, castle sieges and political mind games.

Stronghold KingdomsRecruit An Army

Rally your troops and battle across the World Map, engaging in real-time, PvP warfare with thousands of players worldwide. Cross-play on PC, Mac, iOS and Android, as you expand your empire and lead your friends to victory.

Stronghold Kingdoms
Stronghold Kingdoms

Stronghold KingdomsRule An Empire

Conquer entire countries as you rise through the ranks and become ruler of your own kingdom. Peaceful diplomat or ruthless warrior? How will you play?

Newest Players

java -Xmx32g -jar /opt/opengrok/lib/opengrok.jar \ -c /usr/bin/ctags \ -s /var/opengrok/src \ -d /var/opengrok/data \ -H -P -S -G \ -W /var/opengrok/etc/configuration.xml

Introduction: The Code Navigation Nightmare The Android Open Source Project (AOSP) is a colossal beast. As of the latest Android releases, the codebase contains over 600 GB of source history and tens of millions of lines of code spread across C++, Java, Kotlin, Go, Python, and Makefiles. From the Linux Kernel drivers to the System Server and the Launcher UI, the sheer scale is daunting.

# On Ubuntu/Debian sudo apt install opengrok universal-ctags OpenGrok needs a configuration.xml . Generate it via:

For developers, finding the definition of a specific function—say, AudioFlinger::openOutput() —by manually grepping through a local repo can take minutes. For reviewers trying to understand a patch's impact across subsystems, it’s a nightmare.

mkdir -p /var/opengrok/data,etc,logs,src # Link your AOSP source (avoid copying 100GB) ln -s /path/to/aosp /var/opengrok/src/aosp This step parses every symbol. For AOSP, this takes 1–2 hours and requires 32GB+ of RAM.

// In Android.bp cc_library name: "libaudioclient", shared_libs: ["libutils", "libcutils"]

alias aospxref='opengrok_search "$1"' alias aospdef='git grep -n "\b$1\b" -- "*.cpp" "*.h" "*.java"' The difference between a junior and a senior AOSP engineer isn't just knowing the code—it's knowing how to navigate the code. Mastering xref AOSP transforms a terrifying 600GB monolith into a manageable, searchable graph of symbols.