Skip to content

Add clustered character, chat, mail, and social service support#30

Closed
VG-prog wants to merge 5 commits into
walkline:masterfrom
VG-prog:vg/tc9-social
Closed

Add clustered character, chat, mail, and social service support#30
VG-prog wants to merge 5 commits into
walkline:masterfrom
VG-prog:vg/tc9-social

Conversation

@VG-prog

@VG-prog VG-prog commented May 22, 2026

Copy link
Copy Markdown

Summary

This PR expands the character, chat, and mail service side needed for clustered social behavior.

It focuses on the backend service state behind gateway-visible social features: account identity, Real ID friends, online status, crossrealm whisper policy, channels, and arena-team persistence used by character and gateway flows.

What changed

  • Added account lookup support used by Real ID and social flows.
  • Extended character service online-state tracking and event publication.
  • Added arena-team persistence and service handlers on the character service side.
  • Expanded friends handling for account-level identity and realm-aware lookups.
  • Hardened chat channel membership, moderation, DBC/custom channel behavior, and sender behavior.
  • Wired mail service startup into the broader clustered service environment.

Why this matters

Social behavior crosses session, realm, and service boundaries before gameplay does. Making these lookups explicit lets gateway render chat and social packets consistently without guessing which worldserver owns the player at that moment.

Validation

  • git diff --check origin/master..HEAD
  • env GOCACHE=/tmp/tc9-go-build GOFLAGS=-buildvcs=false go build ./...
  • env GOCACHE=/tmp/tc9-go-build GOFLAGS=-buildvcs=false make install

VG-prog added 5 commits May 22, 2026 21:49
Add the shared protobuf, generated runtime code, events, GUID helpers, auth identity helpers, and configuration contracts used by clustered gateway, registry, group, guild, matchmaking, and sidecar flows.

Tests, local tooling, and broad documentation are intentionally excluded from this upstream-focused scope.
Wire service discovery, map readiness, stale-safe health and metrics observers, degraded game-server health handling, gateway-scoped cleanup, and shared GUID allocation support.

Registry and health code now distinguish world-loop degraded state from process or transport death while preserving live map ownership.
Keep world-loop degraded game servers registered for ownership and existing lookups, but mark them as non-admitting so new player placement skips them. Clear the drain state on successful health recovery and fall back to healthy all-map nodes when an assigned owner is degraded.
Route gateway sessions through cluster-aware worldserver selection, native transport handoff, bounded retry/backoff, cross-service event listeners, and client-facing packet rendering for social, group, guild, guild bank, LFG, battleground, arena, mail, channel, and player-state flows.
Extend character, chat, and mail services for clustered realm identity, Real ID/account lookups, channel membership and moderation, crossrealm whisper policy, online-state broadcasts, and arena-team persistence used by gateway routing.
@VG-prog

VG-prog commented May 22, 2026

Copy link
Copy Markdown
Author

Closing this draft because it was opened from a stacked branch while targeting master, so the GitHub diff includes earlier slices and is not an isolated review target.

Replacement: #37 (#37)

That replacement PR presents the current integration honestly as one review surface. Sorry for the review noise.

@VG-prog VG-prog closed this May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant