Undedicated Lobby Servers for Scalable Multiplayer Game Hosting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing social networking platforms face challenges in efficiently hosting a multitude of on-demand games and game sessions while managing server usage and storage costs, particularly in a scalable and cost-effective manner.
Innovation Solution
Implementing a serverless architecture using undedicated servers, such as durable objects, which act as a lobby server to manage user interactions and game state persistence, while game servers handle specific game logic, allowing for a common API for various games and efficient scaling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dedicated servers are used to host each game session, then game stability and performance are improved, but server costs and infrastructure complexity increase significantly
Solution Approach 1:
Multiple game sessions are merged into a single shared server instance. The server dynamically manages multiple game rooms within one process, reducing the number of dedicated server instances needed while maintaining game session stability through isolated game room contexts.
Solution Approach 2:
A single server instance is designed to perform multiple functions by hosting different game sessions simultaneously. The server can dynamically create, manage, and terminate multiple game rooms, allowing one server to replace what would traditionally require multiple dedicated servers.
2Productivity
If multiple dedicated servers are deployed to support numerous game sessions, then game availability and concurrent user support are improved, but storage costs and server usage efficiency deteriorate
Solution Approach 1:
The server architecture transitions from static dedicated assignments to dynamic resource allocation. Game rooms are dynamically created when needed and terminated when not in use, allowing the system to optimize resource usage based on actual demand rather than maintaining fixed allocations.
Solution Approach 2:
The server system automatically manages game room lifecycle including creation, maintenance, and termination based on player presence and game state. When all players leave a game room, the server automatically cleans up resources without requiring manual intervention or dedicated persistent allocation.
3Reliability
If a robust server architecture is implemented to support scalable game hosting, then system reliability and game session management are improved, but implementation complexity and development time increase
Solution Approach 1:
The system is segmented into independent game room contexts that can be individually managed within a shared server process. Each game room operates as an isolated unit with its own state and player connections, allowing scalable addition of game sessions without increasing overall system complexity.
Data Source
AI summary
The present technology provides a lobby system including lobby servers and game servers, whereby the lobby server functions as the hub for all connected users for an entire server. The single lobby server processes all incoming traffic but is largely unaware of the actual logic & data for the game that is being played. Its main function is to provide basic operations such as listing games, listing users, and providing game state change notifications to users. Game specific requests get forwarded from the lobby server to the game server over HTTP. Any relevant game state is then returned to the user and the lobby maintains a subset of game's state information in order to provide users a preview of all the games that are being played on the community server.


