Required so Composer can resolve VCS-based dependencies (e.g. forked codex packages) at build time.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous bullet credited aternosorg/codex-minecraft as the
analysis engine; that dependency was dropped in the codex-swap commit.
Updates the link to point at the in-tree indifferentketchup/codex repo
on Gitea while preserving an attribution back to the upstream codex
that iblogs is built on. The footer credit (Aternos / mclogs) remains
the load-bearing attribution per the manual-fork rules.
Drops aternos/codex (and its codex-minecraft / codex-hytale satellites)
plus aternos/sherlock from composer.json. Adds indifferentketchup/codex
pinned to ^0.2.0, sourced via a Composer vcs repository pointing at the
Gitea-hosted ik-codex repo. composer.lock regenerated against the new
dep tree.
Re-points the seven Aternos\Codex\* import sites in src/ to their
IndifferentKetchup\Codex\* equivalents:
- src/Log.php (5 imports)
- src/Api/Response/CodexLogResponse.php (1 import)
- src/Printer/Printer.php (5 imports)
- src/Detective.php (rewritten — see below)
Stubs three sites that depend on Minecraft-specific code with no
analogue in IndifferentKetchup\Codex:
- src/Detective.php no longer extends the Aternos Detective with
Minecraft + Hytale satellites. Instead it extends our codex's
Detective and registers ProjectZomboidDetective, which itself
pre-registers all 11 PZ log subclasses.
- src/Data/Deobfuscator.php is reduced to a no-op shell. mclogs used
aternos/sherlock to fetch Mojang/Yarn obfuscation maps and
deobfuscate Vanilla / Fabric stack traces. Project Zomboid uses no
such mapping scheme; the deobfuscator returns null until iblogs
supports Minecraft logs again. Class signature preserved so callers
in src/Log.php and elsewhere don't break.
- src/Printer/FormatModification.php no longer extends the Minecraft
section-sign-code translator. It extends IndifferentKetchup\Codex's
Modification base class with a pass-through modify() implementation.
The format-* CSS color classes are retained for any future game's
own format-code scheme to reuse.
Updates composer.json metadata: description rewritten to drop the
"Minecraft" framing, authors entry replaced with indifferentketchup /
samkintop@gmail.com.
Verification:
composer update --ignore-platform-req=ext-frankenphp \
--ignore-platform-req=ext-mongodb
-> resolves cleanly: 1 install (indifferentketchup/codex 0.2.0),
4 removals (the aternos/* set).
php -l on every touched file -> no syntax errors.
Autoload smoke test -> Detective registers 11 PZ log classes;
Printer instantiates; FormatModification stub returns input
unchanged.
example.config.json: legal contact, imprint, privacy URLs swapped to
indifferentketchup.com placeholders; abuse address changed to
samkintop@gmail.com (matches the codex package's author entry);
frontend.name placeholder changed from "mclo.gs" to "iblogs.example".
UI templates: tagline replaced with "Built for game-server logs"
(header.php), meta description rewritten to drop Minecraft & Hytale
framing (start.php), api-docs.php's example "Minecraft version" labels
updated to "Engine version" with a 42.16.3 sample value matching the
codex PZ EngineVersionInformation output shape.
CSS comment "Minecraft Format Colors" tagged as legacy mclogs syntax
palette (the underlying color classes survive untouched — they may
still be useful for highlighting log content).
Footer attribution credit linking back to upstream mclogs and Aternos
is intentionally preserved per the manual-fork rules.
Frontend palette (#5cb85c green accent, etc.) and short-domain choice
remain placeholder values; revisit when iblogs branding is finalised.
Two file renames (docker/mclogs.ini -> docker/iblogs.ini,
web/public/css/mclogs.css -> web/public/css/iblogs.css) plus the
internal references that pointed at them (Dockerfile COPY directive,
the linux user name in the container).
Also catches the runtime identifier renames: env-var prefix MCLOGS_*
-> IBLOGS_* (compose files), browser cookie name MCLOGS_SETTINGS ->
IBLOGS_SETTINGS (web/public/js/log.js), production image tag
ghcr.io/aternosorg/mclogs:2 -> ghcr.io/indifferentketchup/iblogs:2,
and the README walk-through with the new branding.
example.config.json branding strings (legal contact, mclo.gs frontend
name) and visible UI text (taglines, meta descriptions) are deferred
to a separate branding commit.
Bulk substitution across all PHP files in src/, build.php, worker.php,
and web/frontend/. Updates composer.json's package name and PSR-4
autoload root accordingly. Casing matches the existing
IndifferentKetchup\Codex package's namespace convention (capital K).
Strictly a namespace rename. Aternos\Codex\* imports remain in place;
those get re-pointed in a follow-up commit when the codex Composer
dependency itself is swapped. Filename renames (docker/mclogs.ini,
web/public/css/mclogs.css), README walk-through, env-var prefix changes,
and visible-text branding land in subsequent commits.