diff --git a/tools/btoperator.py b/tools/btoperator.py index 890048b..d525586 100644 --- a/tools/btoperator.py +++ b/tools/btoperator.py @@ -577,14 +577,12 @@ class Operator(QMainWindow): args += ["--relay", str(self.f_port.value()), self.egg_path] if self.f_manual.isChecked(): args += ["--manual-launch"] - # RESERVE the operator's LOCAL seats so a remote join.bat can't be - # assigned one before the (slow-to-boot) local instance claims it - # -- the seat-collision that dropped the operator's pod + stalled - # the launch (field report 2026-07-18). - local_tags = [tags[r] for r in range(self.table.rowCount()) - if self._row_local(r) and r < len(tags)] - if local_tags: - args += ["--reserve", ",".join(local_tags)] + # --reserve RETIRED (2026-07-22): it protected the operator's + # BT_SELF-pinned local seats from walk-up assignment, but local + # instances now request seats like every joiner -- reserving + # their seats locked THEM out ("ROSTER FULL" on the operator's + # own launch, field report). Seat order is first-come now; the + # trim-on-launch flow makes exact seats moot. else: # mesh: console dials each pod's CONSOLE port (= game port - 1) args += [self.egg_path]