diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java
index 279a86ac7..a4213db9e 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java
+++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/TournamentRequestHandler.java
@@ -116,7 +116,7 @@ public class TournamentRequestHandler extends LotroServerRequestHandler implemen
.filter(code -> _soloDraftDefinitions.getAllSoloDrafts().values().stream().anyMatch(soloDraft -> code.equals(soloDraft.getCode()))).map(code -> new JSONDefs.ItemStub(code, availableSoloDraftFormats.get(code)))
.collect(Collectors.toList());
data.tableDrafts = _tableDraftLibrary.getAllTableDrafts().stream()
- .map(tableDraftDefinition -> new JSONDefs.ItemStub(tableDraftDefinition.getCode(), tableDraftDefinition.getName()))
+ .map(tableDraftDefinition -> new JSONDefs.LiveDraftInfo(tableDraftDefinition.getCode(), tableDraftDefinition.getName(), tableDraftDefinition.getMaxPlayers(), tableDraftDefinition.getRecommendedTimer().name()))
.collect(Collectors.toList());
data.draftTimerTypes = DraftTimer.getAllTypes();
@@ -228,6 +228,8 @@ public class TournamentRequestHandler extends LotroServerRequestHandler implemen
Throw400IfStringNull("tableDraftFormatCode", tableDraftFormatCodeStr);
var tableDraftDefinition = _tableDraftLibrary.getTableDraftDefinition(tableDraftFormatCodeStr);
Throw400IfValidationFails("tableDraftFormatCode", tableDraftFormatCodeStr,tableDraftDefinition != null);
+ //Check if all players can get to one table
+ Throw400IfValidationFails("maxPlayers", maxPlayersStr, tableDraftDefinition.getMaxPlayers() < maxPlayers);
tableDraftParams.tableDraftFormatCode = tableDraftFormatCodeStr;
tableDraftParams.format = tableDraftDefinition.getFormat();
tableDraftParams.draftTimerType = DraftTimer.getTypeFromString(tableDraftTimer);
@@ -244,7 +246,7 @@ public class TournamentRequestHandler extends LotroServerRequestHandler implemen
params.cost = 0; // Gold is not being used, they can be free to enter
params.playoff = Tournament.PairingType.parse(playoff);
params.tiebreaker = "owr";
- params.prizes = Tournament.PrizeType.LIMITED; // At 4+ players, get one Event Award for each win or buy
+ params.prizes = Tournament.PrizeType.LIMITED; // At 4+ players, get one Event Award for each win or bye
params.maximumPlayers = maxPlayers;
params.manualKickoff = false;
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js
index aa552cfc1..b8ef4c14e 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js
@@ -189,7 +189,13 @@ var GempLotrHallUI = Class.extend({
const startableEarly = $("#startableEarlySelect").val();
const readyCheck = $("#readyCheckSelect").val();
- const validPlayerCount = Number.isInteger(playerCount) && playerCount >= 1;
+ const formatMaxPlayers = $("#formatSelect").find("option:selected").data("maxplayers");
+ var validMaxPlayers = true;
+ if (formatMaxPlayers) {
+ validMaxPlayers = playerCount <= formatMaxPlayers;
+ }
+
+ const validPlayerCount = Number.isInteger(playerCount) && playerCount >= 1 && validMaxPlayers;
const validDeckDuration = Number.isInteger(deckDuration) && deckDuration >= 5;
const draftValid = gameType !== "table_draft" || draftTimer;
const validPlayerReadyCombo = playerCount > 2 || readyCheck < 0;
@@ -247,11 +253,16 @@ var GempLotrHallUI = Class.extend({
// Fill options
for (const format of formats) {
- $select.append(
- $("