23 Commits
Author SHA1 Message Date
Дмитрий b61a186470 Restore remote portable progress and resilient relay connections 2026-10-24 11:12:01 +05:00
Дмитрий 9e9778af74 Keep external network gates reproducible and check all registry rulesets 2026-10-24 06:33:00 +05:00
Дмитрий d5f1e9cc83 Integrate isolated rulesets, portable admission, and compatible relay authentication 2026-10-24 06:04:26 +05:00
Дмитрий 5343020bed feat(portable): MR2 Wildcard portable character vertical slice
- Enforce fail-closed backend resolution in LocalBackend::info (unknown ruleset = error).
- Implement strict three-space isolation (Wildcard != CoA != Reborn) across canonical store, host mappings, and collections.
- Isolate collection namespaces (wildcard:appearance, wildcard:vanity) and reject cross-ruleset collections in claim and import.
- Enforce Control Protocol v2 ruleset verification on TransferOffer, TransferCommit, and Claimed response.
- Route Direct Ingress and Relay Link dynamically according to realm world port (8085 for CoA, 8086 for Wildcard).
- Add runtime session attack rejection test suite (cross-ruleset session offers, checkpoints, owner acks, server IDs).
- Verify end-to-end Wildcard session lifecycle and documentation updates.
2026-10-22 17:24:15 +05:00
Дмитрий 9d135765cd feat(multiruleset): complete MR1.1 foundation correctness gate 2026-10-22 15:34:37 +05:00
Дмитрий 58a99f0a6d feat: multi-ruleset realms and strictly isolated portable characters 2026-10-22 13:04:57 +05:00
Дмитрий d828c982de chore(release): promote release candidate to v0.7.0 2026-10-10 11:27:15 +05:00
Дмитрий 51e0f136d6 feat(phase15): release and security hardening, DPAPI key store, probe & protocol hardening, secret redaction, audit and readiness report 2026-10-09 21:59:44 +05:00
Дмитрий 64b3511436 test(phase14): add live VPS direct and relay session test and robust mock auth loop 2026-10-09 15:41:47 +05:00
Дмитрий f6ac5c93d9 fix(phase14): direct world endpoint mapping correctness, transactional lifecycle, OS gateway, and route health 2026-10-09 15:32:47 +05:00
Дмитрий 21d54c1431 feat: Phase 14 automatic direct connectivity with relay fallback 2026-10-09 15:02:40 +05:00
Дмитрий ad39bd2020 docs: sync control protocol transfer flow and infra public relay port range; fix coord and relay test suites 2026-10-09 14:45:56 +05:00
Дмитрий 6e438cfe95 feat(relay): complete Phase 13.1 hardening, port pool scaling, and live load testing 2026-10-09 13:28:32 +05:00
Дмитрий c743157b97 Implement Phase 12.1 Remote Portable Transfer and Phase 13 Game Relay 2026-10-09 08:29:07 +05:00
Дмитрий 1dc212968d feat(infra): enable production TLS for Phases 11-12 via coa-manager.duckdns.org 2026-10-09 07:12:42 +05:00
ДмитрийandClaude Sonnet 5.5 461ffddd0d Phase 12: realm key pinning, linked accounts stay linked, control protocol and registry protocol 2 documentation, client credential audit tool
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 23:04:48 +05:00
ДмитрийandClaude Sonnet 5.5 2caa687490 Phase 12: Coordinator deployment files, join/claim commands and UI, access options for published realms
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 22:35:07 +05:00
ДмитрийandClaude Sonnet 5.5 71e1488336 Phase 12: control module in coa-core (SecretStore, PlayerIdentity, HostService, host/player links, claim export/adopt) and e2e tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 22:26:20 +05:00
ДмитрийandClaude Sonnet 5.5 6fa3c9ccf4 Phase 12: control protocol crate (Noise channel, coordinator frames, app messages) and Coordinator service
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 22:12:57 +05:00
ДмитрийandClaude Sonnet 5.5 95ab5dd9ef Phase 11: public realm list and detail, Player Mode server browser
Registry: GET /registry/v2/realms (keyset cursors, bounded filters and sorts, indexes per sort,
ETag and a short server-side cache, per-address limit) and /realms/{id}; migrations 3 and 4.
Manager: Servers page (table, filters, sortable columns, detail drawer, module tooltips from the
local catalog, players and bots apart, ping unknown), compatibility of the chosen character with
an advertised realm through the Phase 7/8 rules.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 21:56:09 +05:00
ДмитрийandClaude Sonnet 5.5 e39cecb333 Phase 10.1: Registry protocol 2 (structured listing), migration 2, v1 refused explicitly
Listing (rates, modules, region, account provisioning), population with players and bots apart,
level cap and ruleset derived from the hash-checked capabilities. Realm records from protocol 1
keep their id, key and creation time and are republished in place. Host publishes the real
values: rates from the effective worldserver configuration, modules from the module catalog,
players/bots from the realm database.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 21:31:45 +05:00
ДмитрийandClaude Sonnet 5.5 d968f6bfd6 Phase 10: live check of the registration rate limit
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:31:34 +05:00
ДмитрийandClaude Sonnet 5.5 1267bcc41e Phase 10: central realm Registry, Host publishing lifecycle, deployment
crates/coa-registry-proto (protocol 1: types, limits, signed-request canonicalisation, test vectors),
services/coa-registry (axum + PostgreSQL, migrations, rate limits, Dockerfile, deploy files),
services/coa-registry-e2e (Host lifecycle against the real service, live VPS gate),
coa-core realm_registry (identity keys, client, publishing loop on its own thread),
Settings -> Public listing card, docs REGISTRY_PROTOCOL.md and REGISTRY_DEPLOYMENT.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:23:13 +05:00