Server Side Game Developer

roadmap.sh: https://roadmap.sh/server-side-game-developer

Suggested path through the Server Side Game Developer nodes. Each node links to its lesson when written.

Nodes

Foundations

  • What is a game server
  • Client-server vs peer-to-peer
  • Authoritative vs non-authoritative servers
  • Online game architecture overview
  • Roles on a backend game team

Programming Languages

  • C++
  • C#
  • Go
  • Rust
  • Java
  • Node.js / JavaScript
  • Python

Networking Fundamentals

  • OSI model
  • TCP
  • UDP
  • IP & ports
  • WebSockets
  • HTTP / HTTPS
  • DNS
  • NAT & port forwarding
  • Reliable UDP

Game Networking

  • Client-side prediction
  • Server reconciliation
  • Entity interpolation
  • Lag compensation
  • Snapshot & delta compression
  • State synchronization
  • Tick rate & netcode loops
  • Rollback netcode
  • Latency & jitter handling

Server Architecture

  • Dedicated game servers
  • Listen servers
  • Matchmaking services
  • Lobby systems
  • Session management
  • Game server orchestration (Agones)
  • Horizontal scaling & sharding
  • Load balancing
  • Microservices vs monolith

Data & Persistence

  • Relational databases (PostgreSQL, MySQL)
  • NoSQL databases (MongoDB, DynamoDB)
  • In-memory stores (Redis)
  • Caching strategies
  • Player data & profiles
  • Leaderboards
  • Inventory & economy systems
  • Data modeling for games

Backend Services

  • Authentication & accounts
  • Authorization
  • APIs (REST / gRPC)
  • Message queues (Kafka, RabbitMQ)
  • Real-time messaging
  • Telemetry & analytics events
  • Live ops & remote config

Security

  • Anti-cheat fundamentals
  • Server-side validation
  • Encryption (TLS)
  • DDoS protection
  • Rate limiting
  • Secrets management
  • Exploit & abuse prevention

DevOps & Infrastructure

  • Containers (Docker)
  • Kubernetes
  • Cloud providers (AWS, GCP, Azure)
  • Infrastructure as Code
  • CI/CD pipelines
  • Monitoring & observability
  • Logging
  • Auto-scaling

Performance & Reliability

  • Profiling server performance
  • Concurrency & multithreading
  • Memory management
  • Fault tolerance & failover
  • Graceful degradation
  • Load & stress testing

Resources

See resources.md.

Project ideas

  • Build an authoritative real-time server for a simple multiplayer game (e.g. a .io-style arena) with client-side prediction and server reconciliation.
  • Implement a matchmaking + lobby service backed by Redis, with session management and a leaderboard.
  • Containerize a dedicated game server and deploy it on Kubernetes with Agones for fleet orchestration and auto-scaling.

1 item under this folder.