NYC
skills/smithery/ai/multiplayer

multiplayer

SKILL.md

Multiplayer Game Development

Networking architecture and synchronization principles.


1. Architecture Selection

Decision Tree

What type of multiplayer?
├── Competitive / Real-time
│   └── Dedicated Server (authoritative)
├── Cooperative / Casual
│   └── Host-based (one player is server)
├── Turn-based
│   └── Client-server (simple)
└── Massive (MMO)
    └── Distributed servers

Comparison

Architecture Latency Cost Security
Dedicated Low High Strong
P2P Variable Low Weak
Host-based Medium Low Medium

2. Synchronization Principles

State vs Input

Approach Sync What Best For
State Sync Game state Simple, few objects
Input Sync Player inputs Action games
Hybrid Both Most games

Lag Compensation

Technique Purpose
Prediction Client predicts server
Interpolation Smooth remote players
Reconciliation Fix mispredictions
Lag compensation Rewind for hit detection

3. Network Optimization

Bandwidth Reduction

Technique Savings
Delta compression Send only changes
Quantization Reduce precision
Priority Important data first
Area of interest Only nearby entities

Update Rates

Type Rate
Position 20-60 Hz
Health On change
Inventory On change
Chat On send

4. Security Principles

Server Authority

Client: "I hit the enemy"
Server: Validate → did projectile actually hit?
         → was player in valid state?
         → was timing possible?

Anti-Cheat

Cheat Prevention
Speed hack Server validates movement
Aimbot Server validates sight line
Item dupe Server owns inventory
Wall hack Don't send hidden data

5. Matchmaking

Considerations

Factor Impact
Skill Fair matches
Latency Playable connection
Wait time Player patience
Party size Group play

6. Anti-Patterns

❌ Don't ✅ Do
Trust the client Server is authority
Send everything Send only necessary
Ignore latency Design for 100-200ms
Sync exact positions Interpolate/predict

Remember: Never trust the client. The server is the source of truth.

Weekly Installs
2
Repository
smithery/ai
First Seen
9 days ago
Installed on
opencode2
amp1
kimi-cli1
codex1
github-copilot1
gemini-cli1