Решили: кооп тестируется на Steam AppId 3259720 (Few Seconds - Many Deaths! — неизданный проект Макса, чья страница осталась жива), свой слот покупается ближе к демке.

Почему: обычный выбор для тестов — Spacewar (480), и он же худший для нашей задачи: у 480 владеют все, поэтому он не проверяет ровно то, что проверять надо — лобби и relay под приложением с ограниченным кругом владельцев. Покупать свой слот сейчас — платить за то, что понадобится к демке, и всё равно переезжать, потому что демо-слот будет другим.

Сказано: «Это моя давняя игра, что так и не вышла, но страница осталась. Все тесты будут на ней, ближе к демке куплю новый слот. Ок?» (01.08.2026, сессия 9e6eef1b).

Грабли: _appId — сериализованное поле, и правка дефолта в коде обычно НЕ меняет значение на уже размещённом объекте. Здесь она сработала только потому, что компонент не лежит ни в одной сцене и ни в одном префабе (проверено поиском по guid c459789c7b4121b4aacb49051575b0ed) — сеть в проекте пока нигде не поднимается. Когда бутстрап положат на объект, значение придётся править через редактор, а не здесь.

Три следствия чужого AppId, которые закрываются до фазы сессии и подробно разобраны в ТЗ: второй аккаунт с доступом (иначе «двое на двух машинах» упрётся не в код), Auto-Cloud старой игры (облако действует по AppId и не знает, кто писал файл), один Steam-клиент на машину (два локальных клиента под Steam-транспортом невозможны — отсюда обязательность dev-профиля UTP, а не его удобство).

Владелец правды: Net/FacepunchTransportBootstrap.cs (<remarks> у поля), Planning - Coop Vertical §2.1.