Matchmaking application written in Java
Matchmaking εφαρμογή υλοποιημένη σε Java

Master Thesis
Author
Topalidis, Iason
Τοπαλίδης, Ιάσων
Date
2025-05Advisor
Alepis, EfthimiosΑλέπης, Ευθύμιος
View/ Open
Keywords
Matchmaking ; MMR ; ELO ; WebSockets ; RabbitMQ ; Linear programmingAbstract
This thesis presents the design, implementation and evaluation of an advanced competitive matching system that addresses the critical challenge of creating balanced teams in multiplayer gaming environments. The system employs a multi-algorithm approach using three different evaluation methodologies: the traditional ELO rating system originally developed for chess, a custom Matchmaking Rating (MMR) algorithm that takes into account team dynamics, and a novel linear programming implementation that optimizes team formation based on multiple weighted factors.
The architecture leverages modern principles of distributed systems, implementing a message queuing architecture with RabbitMQ to ensure robust, scalable and fault-tolerant asynchronous communication between system components. This approach enables efficient processing of matchmaking requests even under high-load conditions while maintaining system resilience. Complementing the backend, the system incorporates WebSocket technology to provide real-time match status updates and notifications to users, significantly improving the user experience through instant updates.
The frontend implementation uses React, a JavaScript framework, to create an interactive application. This modern approach to UI development facilitates efficient visualization, state management and seamless integration with WebSocket for real-time updates.
The resulting structure offers a flexible, scalable solution that can be adapted to various gaming environments. The thesis contributes to the field by demonstrating how modern software architecture standards and multiple evaluation algorithms can be effectively combined to create a matching system that balances computational efficiency with the critical goal of creating fair teams.