OhMyGame
OhMyGame is the open-source studio for making games with AI. Design, build, playtest, and publish games in one app, with your own model keys.
Explore the Miaucraft SMP from anywhere - overworld, nether and end waypoints on a live map.
GamesJava · PLpgSQLGitHub @xhvshOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
miaucraft bridge: self-updating plugin that connects mc server and website through a database
Taken from the repository README
Loading the full README.
Read the full README ↗Paper plugin (Java 21, Paper 1.21.x) that mirrors a Minecraft server into Supabase for the Miaucraft website: online players, stats, achievements, live positions, TPS, status, whitelist, in-game ⇄ web chat, an optional live map, plus an owner-facing diagnostics/action queue and a self-updater.
SinkManager queues (coalesced per conflict key, flushed in foreign-key order every 5 s, bounded, per-sink exponential backoff) using the service-role key from the server's local config.yml. Never commit that file.whitelist_commands, bridge_commands (owner actions — a fixed set of symbols, never a console string), chat_messages (kind web, treated as untrusted and sanitised before being broadcast).remote-config.json in this repo (polled; update.* and credentials are deliberately local-only).sendAsync; Bukkit API calls are scheduled onto the main thread; nothing slow runs on it. A transient database outage only grows the bounded queues and backs sinks off (max 60 s).mvn test # 79 unit tests
mvn package # target/miaucraft-bridge-plugin.jar
cd dev/db-tests && npm install && npm test # SQL regression tests for the migrations (in-process Postgres, no Docker)
dev/supabase/migrations/ is the ordered chain. 20260101000000_init … 0500 are the local-dev reconstruction plus the production fixes; 0600_security_hardening is written against the real production schema and is guarded so the local chain still runs. Rollbacks live in dev/supabase/rollbacks/ (outside the chain on purpose). The SQL tests replay a prod-shaped baseline (dev/db-tests/baseline.sql), the migration, and the rollback.
Compatibility: every deployed plugin version (≤ 2.6.1) keeps working after 0600 — the plugin only uses the service role (bypasses RLS), and the migration keeps its grants.
Servers update themselves from plugin-update.json on main. Each release must be signed; servers on 2.7.0+ refuse an unsigned or wrongly signed manifest.
One-time setup (already done on the maintainer's machine; the public key is compiled into UpdateSignature.RELEASE_PUBLIC_KEY):
java dev/ReleaseSigner.java gen %USERPROFILE%\.miaucraft\release-signing.key
Back that file up and keep it out of the repository. To rotate the key, release a build signed with the old key that contains the new public key.
Release:
powershell -File publish-release.ps1 -Version 2.7.0 -SiteRepo C:\path\to\miaucraft
The script bumps pom.xml, runs the tests, builds, checks plugin.yml, copies the jar to releases/, signs (version, sha256) and writes the manifest. Then commit plugin-update.json and releases/*.jar (and the mirrored bridge/ in the site repo) and push. Old servers ignore the extra signature field.
Local dev servers: dev/publish-update.ps1 writes an unsigned manifest, so set update.require-signature: false in that dev server's config.yml (never in production).
See the comments in src/main/resources/config.yml. Notable keys: enabled (master kill switch), update.require-signature / update.public-key, update.auto-apply (default false), bridge.retention.purge-hours.
See the site repository's docs/SECURITY-AUDIT.md for the combined audit. Rules this plugin relies on: the service-role key stays in config.yml only; rows written by website users are validated by database policies and sanitised here; updates are verified (https, size cap, sha256, Ed25519 signature, plugin.yml version match, atomic install).