game-servers
from pluginagentmarketplace/custom-plugin-game-developer
Game developer roadmap plugin with engine-specific patterns and optimization
3 stars0 forksUpdated Jan 5, 2026
npx skills add https://github.com/pluginagentmarketplace/custom-plugin-game-developer --skill game-serversSKILL.md
Game Servers
Server Architecture Patterns
┌─────────────────────────────────────────────────────────────┐
│ SERVER ARCHITECTURES │
├─────────────────────────────────────────────────────────────┤
│ DEDICATED SERVER: │
│ • Server runs game simulation │
│ • Clients send inputs, receive state │
│ • Best security and consistency │
│ • Higher infrastructure cost │
├─────────────────────────────────────────────────────────────┤
│ LISTEN SERVER: │
│ • One player hosts the game │
│ • Free infrastructure │
│ • Host has advantage (no latency) │
│ • Session ends if host leaves │
├─────────────────────────────────────────────────────────────┤
│ RELAY SERVER: │
│ • Routes packets between peers │
│ • No game logic on server │
│ • Good for P2P with NAT traversal │
│ • Less secure than dedicated │
└─────────────────────────────────────────────────────────────┘
Scalable Architecture
SCALABLE GAME BACKEND:
┌─────────────────────────────────────────────────────────────┐
│ GLOBAL LOAD BALANCER │
│ ↓ │
├─────────────────────────────────────────────────────────────┤
│ GATEWAY SERVERS │
│ Authentication, Routing, Rate Limiting │
│ ↓ │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ MATCHMAKING │ │ LOBBY │ │ SOCIAL │ │
│ │ SERVICE │ │ SERVICE │ │ SERVICE │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ↓ │
├─────────────────────────────────────────────────────────────┤
│ GAME SERVER ORCHESTRATOR │
│ (Spawns/despawns based on demand) │
│ ↓ │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────┐ │
│ │ GAME SERVERS (Regional, Auto-scaled) │ │
│ │ [US-East] [US-West] [EU-West] [Asia] [Oceania] │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
├─────────────────────────────────────────────────────────────┤
│ DATABASE CLUSTER │
│ [Player Profiles] [Leaderboards] [Match History] [Items] │
└─────────────────────────────────────────────────────────────┘
Matchmaking System
MATCHMAKING FLOW:
┌─────────────────────────────────────────────────────────────┐
│ 1. QUEUE: Player enters matchmaking queue │
│ → Store: skill rating, region, preferences │
│ │
│ 2. SEARCH: Find compatible players │
│ → Same region (or expand after timeout) │
│ → Similar skill (±100 MMR, expand over time) │
│ → Compatible party sizes │
│ │
│ 3. MATCH: Form teams when criteria met │
│ → Balance teams by total MMR │
│ → Check for premade groups │
│ │
│ 4. PROVISION: Request game server │
│ → Orchestrator spawns or assigns server │
│ → Wait for server ready │
│ │
│ 5. CONNECT: Send connection info to all players │
│ → IP:Port or relay token │
│ → Timeout if player doesn't connect │
└─────────────────────────────────────────────────────────────┘
Player Data Management
// ✅ Production-Ready: Player Session
public class PlayerSession
{
public string PlayerId { get; }
public string SessionToken { get; }
public DateTime CreatedAt { get; }
public DateTime LastActivity { get; private set; }
private readonly IDatabase _db;
private readonly ICache _cache;
public async Task<PlayerProfile> GetProfile()
{
// Try cache
...
Repository Stats
Stars3
Forks0
LicenseOther