Решили: кооп тестируется на 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.