# game_server_core v1.0.966 - Table of Contents

Core functionality for Gamend GameServer, including user management, authentication, friends, matchmaking, and more.

## Pages

- [GameServer Core](readme.md)

## Modules

- [GameServer](GameServer.md): GameServer keeps the contexts that define your domain
and business logic.
- [GameServer.Accounts](GameServer.Accounts.md): The Accounts context.
- [GameServer.Accounts.Scope](GameServer.Accounts.Scope.md): Defines the scope of the caller to be used throughout the app.
- [GameServer.Accounts.StalePresenceSweeper](GameServer.Accounts.StalePresenceSweeper.md): Periodically sweeps users whose `is_online` flag is `true` but whose
`last_seen_at` timestamp is older than a configurable threshold.
- [GameServer.Accounts.User](GameServer.Accounts.User.md): The User schema and associated changeset functions used across the
application (registration, OAuth, and admin changes).
- [GameServer.Accounts.UserNotifier](GameServer.Accounts.UserNotifier.md): Small helpers used to deliver transactional emails for the Accounts flow
(confirmation, magic link, and email change instructions).
- [GameServer.Accounts.UserToken](GameServer.Accounts.UserToken.md): Functions and schema for persistent user tokens used by sessions, magic links,
and email-change workflows.
- [GameServer.Achievements](GameServer.Achievements.md): The Achievements context.
- [GameServer.Achievements.Achievement](GameServer.Achievements.Achievement.md): Ecto schema for the `achievements` table.
- [GameServer.Achievements.UserAchievement](GameServer.Achievements.UserAchievement.md): Ecto schema for the `user_achievements` table.
- [GameServer.Apple](GameServer.Apple.md): Apple OAuth client secret generation for Ueberauth.
- [GameServer.Async](GameServer.Async.md): Utilities for running best-effort background work.
- [GameServer.Cache](GameServer.Cache.md): Application cache backed by Nebulex.
- [GameServer.Cache.L1](GameServer.Cache.L1.md): L1 cache (local, in-memory).
- [GameServer.Cache.L2.Partitioned](GameServer.Cache.L2.Partitioned.md): L2 cache (partitioned topology).
- [GameServer.Cache.L2.Partitioned.Primary](GameServer.Cache.L2.Partitioned.Primary.md): This is the cache for the primary storage.

- [GameServer.Cache.L2.Redis](GameServer.Cache.L2.Redis.md): L2 cache backed by Redis.
- [GameServer.Chat](GameServer.Chat.md): Context for chat messaging across lobbies, groups, and friend DMs.
- [GameServer.Chat.Message](GameServer.Chat.Message.md): Ecto schema for the `chat_messages` table.
- [GameServer.Chat.ReadCursor](GameServer.Chat.ReadCursor.md): Ecto schema for the `chat_read_cursors` table.
- [GameServer.Content](GameServer.Content.md): Reads and renders Markdown content from project files and directories.
- [GameServer.Env](GameServer.Env.md): Helpers for reading and parsing environment variables.
- [GameServer.Friends](GameServer.Friends.md): Friends context - handles friend requests and relationships.
- [GameServer.Friends.Friendship](GameServer.Friends.Friendship.md): Ecto schema representing a friendship/request between two users.
- [GameServer.Groups](GameServer.Groups.md): Context module for group management: creating, updating, listing, joining,
leaving, kicking, promoting/demoting members, and handling join requests.
- [GameServer.Groups.Group](GameServer.Groups.Group.md): Ecto schema for the `groups` table.
- [GameServer.Groups.GroupInvite](GameServer.Groups.GroupInvite.md): Ecto schema for the `group_invites` table.
- [GameServer.Groups.GroupJoinRequest](GameServer.Groups.GroupJoinRequest.md): Ecto schema for the `group_join_requests` table.
- [GameServer.Groups.GroupMember](GameServer.Groups.GroupMember.md): Ecto schema for the `group_members` join table.
- [GameServer.Hooks](GameServer.Hooks.md): Behaviour for application-level hooks / callbacks.
- [GameServer.Hooks.Default](GameServer.Hooks.Default.md): Default no-op implementation for GameServer.Hooks
- [GameServer.Hooks.DynamicRpcs](GameServer.Hooks.DynamicRpcs.md): Runtime registry for *dynamic* RPC function names exported by hook plugins.
- [GameServer.Hooks.PluginBuilder](GameServer.Hooks.PluginBuilder.md): Builds an OTP plugin bundle from plugin source code on disk.
- [GameServer.Hooks.PluginManager](GameServer.Hooks.PluginManager.md): Loads and manages hook plugins shipped as OTP applications under `modules/plugins/*`.
- [GameServer.Hooks.PluginManager.Plugin](GameServer.Hooks.PluginManager.Plugin.md): A loaded plugin descriptor.
- [GameServer.KV](GameServer.KV.md): Generic key/value storage.
- [GameServer.Leaderboards](GameServer.Leaderboards.md): The Leaderboards context.
- [GameServer.Leaderboards.Leaderboard](GameServer.Leaderboards.Leaderboard.md): Ecto schema for the `leaderboards` table.
- [GameServer.Leaderboards.Record](GameServer.Leaderboards.Record.md): Ecto schema for the `leaderboard_records` table.
- [GameServer.Limits](GameServer.Limits.md): Central module for configurable validation limits.
- [GameServer.Lobbies](GameServer.Lobbies.md): Context module for lobby management: creating, updating, listing and searching lobbies.
- [GameServer.Lobbies.Lobby](GameServer.Lobbies.Lobby.md): Ecto schema for the `lobbies` table and changeset helpers.
- [GameServer.Lobbies.SpectatorTracker](GameServer.Lobbies.SpectatorTracker.md): Lightweight ETS-based tracker for lobby spectators.
- [GameServer.Lock](GameServer.Lock.md): Serialized execution using database-level advisory locks.
- [GameServer.Mailer](GameServer.Mailer.md)
- [GameServer.Notifications](GameServer.Notifications.md): Notifications context – create, list, and delete persisted user-to-user
notifications.
- [GameServer.Notifications.FriendNotifier](GameServer.Notifications.FriendNotifier.md): Subscribes to the global `"friends"` PubSub topic and automatically creates
notifications for key friend events
- [GameServer.Notifications.Notification](GameServer.Notifications.Notification.md): Ecto schema representing a notification sent from one user to another.
- [GameServer.OAuth.Exchanger](GameServer.OAuth.Exchanger.md): Default implementation for exchanging OAuth codes with providers.
- [GameServer.OAuth.GoogleIDToken](GameServer.OAuth.GoogleIDToken.md): Verifies Google OpenID Connect `id_token`s for native/mobile sign-in flows.
- [GameServer.OAuthSession](GameServer.OAuthSession.md): Simple Ecto schema for OAuth session polling used by client SDKs.
- [GameServer.OAuthSessions](GameServer.OAuthSessions.md): Helpers for creating and retrieving short-lived OAuth sessions.

- [GameServer.Parties](GameServer.Parties.md): Context module for party management.
- [GameServer.Parties.Party](GameServer.Parties.Party.md): Ecto schema for the `parties` table.
- [GameServer.Parties.PartyInvite](GameServer.Parties.PartyInvite.md): Ecto schema for the `party_invites` table.
- [GameServer.Repo](GameServer.Repo.md)
- [GameServer.Repo.AdvisoryLock](GameServer.Repo.AdvisoryLock.md): Advisory locking for protecting TOCTOU (Time-of-Check-Time-of-Use) patterns.
- [GameServer.Schedule](GameServer.Schedule.md): Dynamic cron-like job scheduling for hooks.
- [GameServer.Schedule.Lock](GameServer.Schedule.Lock.md): Schema for schedule job locks.
- [GameServer.Schedule.Scheduler](GameServer.Schedule.Scheduler.md): Defines a quantum Scheduler.
- [GameServer.Theme](GameServer.Theme.md): Behaviour for pluggable site theming providers.
- [GameServer.Theme.JSONConfig](GameServer.Theme.JSONConfig.md): JSON-backed Theme provider. Reads a locale-specific JSON file from either the
THEME_CONFIG environment variable override or the host-owned default path
configured by the runnable host application.
- [GameServer.Types](GameServer.Types.md): Shared types used across GameServer contexts.

## Mix Tasks

- [mix gen.sdk](Mix.Tasks.Gen.Sdk.md): Generates SDK stub modules from the real GameServer modules.

