Lichess.org offers a peek behind the scenes of real-time chess gameplay with its robust backend infrastructure. The use of websockets ensures instant updates between the client and server, enhancing the playing experience. Unique details include randomly generated strings for session tracking and acknowledgment counters for message tracking. The backend architecture of Lichess consists of lila and lila-ws, utilizing Redis Pub/Sub for communication. MongoDB stores game states efficiently by buffering moves until necessary. The use of java.util.concurrent.ConcurrentHashMap ensures smooth gameplay for players joining a game in progress. Overall, the technical processes involved in making a move in Lichess are intricate and optimized for a seamless gaming experience worldwide.
https://www.davidreis.me/2024/what-happens-when-you-make-a-move-in-lichess