Решили: у второй стороны арены есть ВЛАДЕЛЕЦ (OpposingSide: энкаунтер · игрок · ничья), и из него считаются оба следствия — право распоряжаться стороной и надо ли делить участников по сторонам. Буль «только своих» удалён.

Почему: он отвечал сразу на два вопроса. Правом владел DeploymentInteraction/DeploymentController, а ActivitySideAssignment выводил из того же буля число сторон. Кампания получила флаг 05.08.2026 — и сеанс развёл союзников: гость сел на сторону энкаунтера, стал двигать монстров и потерял свой отряд. Отвергнут вариант «Sides: сколько сторон» — он тоже пересказ, только в другую сторону, и на Ристалище требовал бы объяснения «почему тут можно всё»; отвергнута и заплатка в ActivitySideAssignment — она оставила бы один факт с двумя читателями.

Сказано: «А ристалище, где доступны оба? Это же костыли. Да и игрок сможет же в ПВП выбирать свою команду. давай что-то без костылей» (Макс, 07.08.2026, сессия 9c0cf5ea). Модель — ответ на это: Ристалище не исключение из правила, а место, где сторону не у кого забирать.

Грабли: вторая мина в том же узле — при неразделённых сторонах команду из GameConfig.LocalPlayerTeam получало только место ноль, поэтому поднятая дев-ручка «за кого я играю» разводила хозяина и гостя в кампании. Видно это было бы только вдвоём и только с изменённым конфигом. Владелец стороны едет по сети и обязан сверяться на приёме (Enum.IsDefined): гость выводит из него своё право двигать бойцов, и неизвестное значение дало бы разные права на одной арене. Умолчания у параметра нет намеренно — ровно умолчанием кампания и провалилась мимо права 05.08.

Владелец правды: Data/Definitions/Activity.cs (OpposingSide, MayCommandSide, SidesAreDealt), Game/Session/Net/HostSessionRoster.cs; тесты ActivityPresetRightsTests, ActivityStateTests, PresenceSidesTests, CoopIntentRightsTest.