# ddpoker | Doug Donohoe | Knowledge Base | Instagit

DD Poker Source Code

GitHub Stars: 204

Repository: https://github.com/dougdonohoe/ddpoker

---

## Articles

### [How DD Poker Handles Network Latency and Synchronization in Online Play](/dougdonohoe/ddpoker/how-does-the-game-handle-network-latency-and-synchronization-in-online-play)

Discover how DD Poker masters network latency and synchronization for online play using custom UDP transport, adaptive timers, and MTU discovery. Ensure seamless distributed tables despite variable conditions.

- Tags: architecture
- Published: 2026-02-28

### [DD Poker Logging Framework: Apache Log4j 2 Configuration and Setup](/dougdonohoe/ddpoker/what-logging-framework-is-used-and-how-is-it-configured)

Learn how to configure Apache Log4j 2 for DD Poker. Discover centralized logging with the LoggingConfig class and property file overrides.

- Tags: how-to-guide
- Published: 2026-02-28

### [How DD Poker Manages Player Actions During Each Betting Round: A Deep Dive into TournamentDirector](/dougdonohoe/ddpoker/how-does-the-game-manage-player-actions-during-each-betting-round)

Discover how DD Poker manages player actions in betting rounds via TournamentDirector, processing human, AI, and remote decisions using the immutable HandAction object.

- Tags: deep-dive
- Published: 2026-02-28

### [How DD Poker Handles Showdown and Pot Distribution: A Complete Code Walkthrough](/dougdonohoe/ddpoker/how-does-the-game-handle-showdown-and-pot-distribution)

Explore DD Poker's code to understand how it handles showdown and pot distribution. Learn about winner determination, chip splitting, and remainder distribution in this code walkthrough.

- Tags: deep-dive
- Published: 2026-02-28

### [How DD Poker Handles Card Dealing and Deck Management: A Deep Dive into the Engine](/dougdonohoe/ddpoker/how-does-the-game-handle-card-dealing-and-deck-management)

Explore how DD Poker manages card dealing and deck management with its secure random shuffling and deterministic seeds. Learn about the core logic in this deep dive.

- Tags: deep-dive
- Published: 2026-02-28

### [How DD Poker Server Handles Player Registration and Authentication](/dougdonohoe/ddpoker/how-does-the-server-handle-player-registration-and-authentication)

Discover how the DD Poker server handles player registration and authentication using the OnlineProfile model and service for secure email-based account management and login.

- Tags: how-to-guide
- Published: 2026-02-28

### [How the DD Poker Hand Simulator Analyzes Hand Ranges: Full Enumeration vs. Monte Carlo](/dougdonohoe/ddpoker/how-does-the-hand-simulator-work-for-analyzing-hand-ranges)

Learn how the DD Poker hand simulator analyzes hand ranges using full enumeration or Monte Carlo sampling to quickly calculate equity percentages for optimal play.

- Tags: deep-dive
- Published: 2026-02-28

### [How the ddpoker Table Design System Handles Seating Arrangements](/dougdonohoe/ddpoker/how-does-the-table-design-system-handle-seating-arrangements)

Discover how the ddpoker table design system manages seating arrangements. Learn about the separation of concerns between TableDesign and PokerTable for efficient seat logic and display.

- Tags: how-to-guide
- Published: 2026-02-28

### [DD Poker Database Schema for Players, Hands, and Game History: Complete Guide](/dougdonohoe/ddpoker/what-is-the-database-schema-for-players-hands-and-game-history)

Explore the DD Poker database schema for players, hands, and game history. Understand the wan_profile, wan_game, and wan_history MySQL tables and their JPA entity mappings for your poker data.

- Tags: deep-dive
- Published: 2026-02-28

### [How the Chat System Works in Online Multiplayer Games: Inside DD Poker's Client-Server Architecture](/dougdonohoe/ddpoker/how-does-the-chat-system-work-in-online-multiplayer-games)

Discover how DD Poker's client-server architecture powers its online multiplayer chat system. Learn about message routing, UI decoupling, and all messaging types.

- Tags: internals
- Published: 2026-02-28

### [DD Poker Debugging Tools and Settings: A Complete Developer Guide](/dougdonohoe/ddpoker/what-debugging-tools-and-settings-are-available-for-development)

Explore DD Poker debugging tools and settings. Leverage property-driven diagnostics and shell scripts for efficient thread dumps and load testing. Master development with this comprehensive guide.

- Tags: how-to-guide
- Published: 2026-02-28

### [How DD Poker Handles Game State Persistence and Saved Games](/dougdonohoe/ddpoker/how-does-the-game-handle-game-state-persistence-and-saved-games)

Learn how DD Poker manages game state persistence and saved games. The Game class serializes GameState objects, saving component details for seamless restarts.

- Tags: how-to-guide
- Published: 2026-02-28

### [How DD Poker Handles Network Communication: UDP vs TCP Protocols](/dougdonohoe/ddpoker/how-does-network-communication-handle-udp-versus-tcp-protocols)

Discover how DD Poker utilizes UDP and TCP protocols for game network communication. Learn about their custom reliability layer for low-latency traffic and connection-oriented services.

- Tags: deep-dive
- Published: 2026-02-28

### [How the Game Clock Manages Tournament Blind Levels in DD Poker](/dougdonohoe/ddpoker/how-does-the-game-clock-manage-tournament-blind-levels-and-levels)

Discover how the DD Poker game clock manages tournament blind levels. Learn about its pipeline for tracking time, advancing levels, and defining blind amounts to optimize gameplay.

- Tags: internals
- Published: 2026-02-28

### [How the DD Poker AI Opponent Decision-Making Algorithm Works](/dougdonohoe/ddpoker/how-does-the-ai-opponent-decision-making-algorithm-work)

Discover how the DD Poker AI opponent decision-making algorithm works. Learn about its deterministic rule-engine, hand strength evaluation, and optimal strategy for fold, call, or raise.

- Tags: internals
- Published: 2026-02-28

### [Maven Multi-Module Project Structure and Module Dependencies in DD Poker](/dougdonohoe/ddpoker/what-is-the-structure-of-the-maven-multi-module-project-and-module-dependencies)

Explore the Maven multi-module project structure and inter-module dependencies in DD Poker. Learn how the parent POM coordinates 23 child modules for seamless dependency management.

- Tags: internals
- Published: 2026-02-28

### [How the DD Poker Wicket Web Application Handles User Sessions and Profiles](/dougdonohoe/ddpoker/how-does-the-wicket-web-application-handle-user-sessions-and-profiles)

Discover how the DD Poker Wicket web app manages user sessions and profiles with custom sessions, cookie auto-login, and Spring-integrated validation. Learn about their session handling.

- Tags: internals
- Published: 2026-02-28

### [How the DD Poker Property Configuration System Works with User Overrides](/dougdonohoe/ddpoker/how-does-the-property-configuration-system-work-with-user-overrides)

Understand the DD Poker property configuration system. Learn how it merges hierarchical properties with user overrides, ensuring user settings take highest precedence when allowOverrides is enabled.

- Tags: internals
- Published: 2026-02-28

### [How the Database Layer Works with Hibernate and MySQL in DD Poker](/dougdonohoe/ddpoker/how-does-the-database-layer-work-with-hibernate-and-mysql)

Learn how DD Poker's database layer leverages Hibernate and MySQL for efficient CRUD operations and pagination. Discover the JPA data access layer powered by Spring.

- Tags: internals
- Published: 2026-02-28

### [How DD Poker's Server-Client Communication Architecture Works: A Deep Dive into the Network Layer](/dougdonohoe/ddpoker/what-is-the-architecture-of-the-server-client-communication-in-dd-poker)

Explore DD Poker's server-client communication architecture. Discover its hybrid network stack combining TCP, HTTP, UDP reliability, and P2P sockets for efficient real-time gameplay.

- Tags: architecture
- Published: 2026-02-28

### [How the DD Poker Online Multiplayer System Establishes and Manages Connections](/dougdonohoe/ddpoker/how-does-the-online-multiplayer-system-establish-and-manage-connections)

Learn how DD Poker's online multiplayer system uses Java NIO and a peer-to-peer protocol via GameServer and OnlineManager to establish and manage TCP connections and player reconnects.

- Tags: architecture
- Published: 2026-02-28

### [How DD Poker Handles Betting Rounds, Pots, and Side Pots: Engine Deep Dive](/dougdonohoe/ddpoker/how-does-the-game-engine-handle-betting-rounds-pots-and-side-pots)

Explore the DD Poker engine's sophisticated handling of betting rounds, pots, and side pots. Learn how it dynamically manages chip contributions and recalculates side pots for fair distribution.

- Tags: deep-dive
- Published: 2026-02-28

### [How DD Poker's Hand Evaluator Works: Calculating Hand Strength in Java](/dougdonohoe/ddpoker/how-does-the-hand-evaluator-work-and-calculate-hand-strength-in-dd-poker)

Learn how DD Poker calculates hand strength in Java by evaluating all pocket card combinations against the board and ranking hands by percentile.

- Tags: deep-dive
- Published: 2026-02-28

