OneLiteFeatherNET / OneLiteFeatherNET/Voyager

Multiple simultaneous lobbies (parallel cup instances)

Open
#135 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

beta infrastructure P2
Dominant language
Java
Stars
0
Forks
0
Avg merge
2d 21h
Merged PRs (30d)
12

Description

Description

Currently only one cup can run at a time on a single server instance. For beta with more concurrent players, multiple lobbies must be able to run simultaneously in separate game instances on the same JVM.

Acceptance Criteria

  • A player joining the server is routed to an available lobby (one with space, waiting for players) or a new lobby is created
  • Each lobby is an isolated GameInstance in Minestom with its own EntityManager and phase lifecycle
  • Cup/map data is shared (read-only) between instances — no data duplication
  • Maximum concurrent instances is configurable (default: 4 per server)
  • Players in different instances cannot see, hear, or collide with each other
  • When an instance completes its cup, it is cleaned up and its slot becomes available
  • Load test verifies 4 parallel instances × 5 players = 20 total players within tick budget

Technical Details

  • New LobbyManager or InstanceRouter in server module
  • Minestom supports multiple InstanceContainer objects — use one per lobby
  • EntityManager is per-instance, not global

Dependencies

  • "Load-test ECS game loop" (Alpha) results should guide the per-instance player cap

Estimate

XL

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the server module and review the existing game lifecycle, then inspect Minestom's InstanceContainer and per-instance EntityManager model. Use the “Load-test ECS game loop” results to guide the player cap and run the required parallel-instance load test. Done means the acceptance criteria are verified, including routing, isolation, cleanup, configuration, and 4-instance performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.