WP Manifestindependent plugin directory
manifest / utilities / adkru-jumpnrun

Jump-n-Run by ADKRU self-updates

Jump-and-Run WordPress-Plugin — White-Label Showcase fuer ADKRU (Robin Herbeck)

by Robin Herbeck · github.com/herbeckrobin/adkru-jumpnrun · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/herbeckrobin/adkru-jumpnrun/archive/refs/heads/main.zip

Ships its own WordPress updater (Plugin Update Checker), so new versions show up under Dashboard → Updates.

Jump-and-Run WordPress-Plugin als White-Label-Showcase fuer ADKRU.

Status: v0.5.0 — feature-komplett und produktiv einsetzbar.

Was das hier ist

Das Repo IST das WordPress-Plugin. Einmal klonen oder eine Release-ZIP laden und installieren. Siehe ADR-002 zur Struktur-Entscheidung.

Das Plugin liefert zwei Shortcodes:

  • [jumpnrun] — das Spiel-Fenster (Canvas + UI-Overlay)
  • [jumpnrun_scoreboard] — Top-N Highscore-Tabelle als eigenstaendiger Block

Werbung, Text und Layout drumherum baut der WordPress-Nutzer (Gutenberg, Elementor o.a.) selbst.

Features

  • Spielbare Endless-Runner-Engine in TypeScript mit fixed Timestep (ADR-001), pixel-praezisen Hitboxen und Contain-Fit-Rendering
  • Persistente Highscores in eigener DB-Tabelle, REST-Endpoints fuer Session-Start, Score-Submit, Top-N und Namens-Lookup
  • Pre-Flight-Namenscheck im Game-Over-Overlay (keine Ueberschreibung fremder Scores)
  • Asset-Pools als Custom Post Types (Hintergruende, Hindernisse, Plattformen) mit gewichteter Zufallsauswahl und Min-Level-Filter
  • Zentrale Admin-Seite "Spiel-Assets" mit vier Tabs auf WP_List_Table-Basis (Bulk-Actions, Trash/Restore, Suche, Pagination)
  • Sprite-Settings (Spielfigur, Coin) per Media-Picker, mit Seed-Button fuer die mitgelieferten Defaults
  • Schema-driven Settings-Page mit Tabs nach Kategorie (Branding, Engine-Tuning, AntiCheat) — siehe ADR-005
  • Rabattcode-Popup bei konfigurierbarem Level + 3-Sek-Countdown vor dem Weiterspielen
  • Slim-AntiCheat ohne HMAC: Session-Validierung, Rate-Limiting per IP, Plausibilitaetspruefung der Scores — siehe ADR-004
  • GitHub-Updater: Tag-Pushes werden automatisch als 1-Klick-Update im WP-Admin erkannt — siehe ADR-006
  • PHPUnit-Tests fuer Config, Sanitizer, RateLimiter, ConfigSchema und Merge-Verhalten

Repo-Struktur

  • jumpnrun.php — Plugin-Entry
  • src-php/ — PHP-Code (PSR-4 Jumpnrun\)
    • Admin/ — Admin-Menu, Settings, Scoreboard, Assets-Page, MetaBoxes
    • Api/ — REST-Controller + Endpoints (Session, Score, Highscore, Lookup)
    • AntiCheat/ — RateLimiter, Sanitizer, Validator
    • Assets/ — Asset-Pool-CPTs und Sprite-Settings
    • Config/ — ConfigService + ConfigSchema (Single-Source-of-Truth)
    • Db/ — Schema, Repositories, Migrationen
    • Shortcode/[jumpnrun] und [jumpnrun_scoreboard]
  • src-js/engine/ — framework-unabhaengige Spiel-Engine (TypeScript, DOM-frei)
  • src-js/renderer/ — Canvas-Renderer mit Sprite-Loading
  • src-js/client.ts — Vite-Entry, buendelt nach assets/game/client.js
  • src-js/api-client.ts — REST-Client fuer Save-Flow
  • demo/ — Standalone-Browser-Demo ohne WordPress
  • docs/adr/ — Architecture Decision Records (001-006)
  • legacy/ — alter Vanilla-JS-Prototyp (Referenz, nicht ausfuehrbar)

Schnelleinstieg

Entwicklung

bun install
composer install
bun run dev             # Standalone-Demo ohne WordPress (Port 5173)
bun run test            # Vitest
bun run build           # Baut src-js/client.ts → assets/game/client.js
bun run typecheck       # tsc --noEmit
bun run lint            # Biome
bun run package-plugin  # Erstellt release/jumpnrun-<version>.zip

Vollstaendiges WP-Plugin-Testing im DDEV (im Projekt-Root, nicht im Repo):

ddev start
ddev setup-wp   # laedt WordPress, legt Plugin-Symlink an, aktiviert
# → https://adkru-jumpnrun.ddev.site

Requirements

  • WordPress 6.5+
  • PHP 8.2+
  • Node 22+ / Bun 1.3+ (nur fuer Development)

Lizenz

GPL-2.0-or-later (WordPress-Standard).