Урок 9 | Unreal Engine 5 Мультиплеер - Список серверов | Подключение к сессии / UMG
Это девятый урок из серии Unreal Engine 5 Мультиплеер, в котором мы организуем соединение между игроками, а именно создание сессии, поиск сессий, подключение к сессии, отключение от сессии. Для этого создадим виджеты при помощи UMG UI в том числе список серверов - Server list / Лобби / Браузер серверов.
Подключение через Listen Server.
Эта тема относится к Networking, Online subsystem, Online session, Matchmaking
00:00 Содержимое
ЧАСТЬ 1 Создание UMG виджетов
00:46 - Widget Список серверов
05:04 - Закрытие и открытие Виджетов
07:25 - Widget Строка с информацией о сессии
08:32 - Widget Создать сервер
11:08 - Widget Открыть уровень карту
11:39 - Вывод виджетов в главное меню
12:32 - Переключение между окнами
13:37 - Загрузка
14:57 - Стиль курсора
ЧАСТЬ 2 Создание сервера
16:02 - Создание сессии
18:18 - Список всех карт (level)
19:45 - Настройка сессии
24:24 - Открытие карты (level)
ЧАСТЬ 3 Подключение к серверу
25:54 - Вывод списка сессий
28:42 - Вывод информации о сессии
31:03 - Подключение к сессии
32:16 - Удаление сессии
33:48 - Проверка
Разовый донат new.donatepay.ru/@cyberstars
Patreon - / cyberstars
Discord - / discord
TikTok - www.tiktok.com/@cyberstars_en...
Google Play - play.google.com/store/apps/de...
Facebook - facebook.com/CyberstarsEn...
Instagram - instagram.com/cyberstars_...
ВКонтакте - vk.com/cyberstars_entertainment
Телеграм - t.me/cyberstars1
#cyberstars #gamedev @UnrealEngine
Discord - discord.gg/z8t2uSWCBq Разовый донат new.donatepay.ru/@cyberstars Patreon - www.patreon.com/cyberstars
Невероятно полезный канал! Спасибо за все уроки...
Достойно объясняешь, спасибо и успехов каналу и тебе
Полный бон вояж - благодарна!
Топовый контент. Смотрю все ваши видео от начала до конца. Но тема репликаций и мультиплеера - это прям вишенка на торте. Давно занимаюсь своей игрой, но многое не понимал и делал по наитию. Теперь всё встало на свои места))
Красава. Уроки топ!
Благодарю
Ищу я видео как добавить список серверов и тут свежее видео от киберстар😂😂 Киберстар всегда знает что нужно Мирону Исе
Спасибо за очередное отличное видео! Не планируется ли разбор Animation Blueprint Linking и Animation Layer Interface?
Мелодия на фоне : Kevin MacLeod - Fluidscape Спасибо за обучалку :))))
спасибо:) | | ^
Спасибо за уроки. Не планируете в одном из следующих уроков рассмотреть мультиплеер через Steam? Steam Advanced Session, кажется, используется.
Планируется) уже в разработке
@@cyberstars-5839 отлично, будем ждать. Не так давно начал с этим разбираться, гайдов вроде хватает, но что-то уже устарело, что-то не очень понятно, в итоге предсказуемого результата добиться пока не получилось.
👍
18:48 почему то сейчас get assets by class отличается, что использовать вместо него или как это исправить?
Вопрос, повторяю меню CreateServer и CreateSingle. При вызове combobox получаю ошибку Blueprint Runtime Error: "Accessed None" что при добавлении что при вызове. Если проверить на валидность то ошибка пропадает, но и естественно не чего не выводится. Почему я могу не получить доступ если все внутри одного блупринта.
сё красиво зделано , а сам какои нибут проект делаеш или уже на дядю работаеш ?
Я сам дядя)
@@cyberstars-5839 а какие игры разрабатывать, или какои проект делаете, расскажи.
Когда создаю сессию и открываю свой лвл клиент на котором ищу сессию показывает что есть созданая сессия но играков 0. когда нажимаю подключится возвразает на лвл меню ( с 4х созданих окон standalone 3е окно вообще не видит сессий. что это может быть? если запускаю в New editor window все ок (
Можно ли создать один или несколько серверов к которым бы подключались абсолютно все игроки при помощи своей учётной записи не становясь хостом и не создавая лобби, чтобы все данные об игроке хранились на таком сервере, как это реализовать в UE5?
можно, это называется dedicated сервер. учетки игроков можно на нем же хранить: хоть в текстовых файлах, хоть в сейвах или в базе данных.
скажите не кто не показывает как создать логику матча с раундами, таймером и тп например кс го закладка, возможно тут это будет?
на канале UE rus есть ~15 стримов по созданию сетевого шутера. Оттуда можно взять основы
не отображаются имена карт... Раньше имя класса выглядело примерно так: «/Script/Engine.StaticMesh», а теперь его можно было записать в виде двух отдельных значений «/Script/Engine» и «StaticMesh». Простое написание «StaticMesh» больше не поддерживается. как решить кто знает?
в путь /Script/Engine в имя world
Болею той же проблемой. Решил взамен создать массив имён миров, которые мне нужны (всего их 2). И вроде работает, но после запаковки один из миров просто куда-то пропадает и не грузится при выборе и даж через консоль болше не открывается. Других решений за 4 дня придумать так и не смог.
@@ostoff2 мб не добавил в package settings его в List of maps to include in a packaged build, эта настройка находится в advanced категории packaging (раскрывается стрелочкой)
Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.
А можно ли изучать язык С, а потом перейти на изучение С++? или там заного надо учиться? у меня книга просто есть про С
Языки очень похожи, при знании C, сможешь легко перейти на C#, или C++
Если собираешься расширять свой кругозор и работать над низкоуровневыми вещами, типа операционными системами, драйвера, системами управления базами данных, тогда изучай сначала C, потом C++. Если тебе нужен C++ для unreal engine и ты не собираешься хардкодить, тогда изучай сразу C++. С отчасти является подмножеством C++. Изучив C++ ты как бы будешь знать и C, но не будешь понимать где, проходит грань между ними. В работе с unreal engine тебе это не помешает. Рекомендую два курса по C++ Валерия Лесина на Computer Since Center.
О! спасибо вам большое. Очень интересно. Конечно же интересует перспектива на анрил.
Как же обидно, что в юнити и в анриле разные языки! В Юнити пачками клепают такие приятные, оптимизированные маленькие игры, а в Анриле топовая графика. Эх!
Странно что бизнес логику делают виджеты. Что если я не хочу чтобы мои Debug карты были у человека в списке карт? Это нормально что пинг к своей же сессии - 508?
Да. Это птмчто свернуто окно
Сделать поиск по тегам, либо логику на исключение
Get Assets by Class не работает, поля выглядят по другому в ноде и при любом вводе слова "world" не выдает результата. Поэтому нет возможности сформировать список карт, как это исправить?
Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.
В версии 5.2.1 на 18:40 из Get Asset Registry получаю Get Assets by Class, но input параметр не Class Name, а Class Path Name, из-за этого я не могу получить список карт, и подключаться к ним, что делать?
Может поможет: 1) вместо Get Assets by Class используй Get All Assets 2) из цикла взять Array Element, а из него Get Class и через бранч отобрать среди всех ассетов только карты через приравнивание к классу World
@@LTL_RED делаю проверку на World класс, ни один элемен не вернулся, Get Asset Registry, get all assets, for each, array element get class, return value сравниваю с World, branch true - add option, не работает
@@maxkos5547 getallassets - > foreach-> break array в нем assetclasspath, это строка, конвертите ее в name и сравниваете с '/Script/Engine.World'
Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.
@@SPro-Game да, так даже удобнее, лишние карты не попадают в список, спасибо
Я первый
Всём насрать
@@tntrat иди нах педик. Тебя не спрашивали
@@tntrat нет, он реально ПОБедитель
@@cyberstars-5839 ПОБ?
ребзя ,а вы не пробовали к государству обращаться ,мб им нужны игры и они готовы за это давать деньги ,у вас вроде опыт есть ,почему бы его не применить ?
Так а как мне сделать следующее? У меня есть MainMenu где игроки выбирают нацию и режим игры и мне нужно чтобы выбрав они попали в очередь, когда набралось на этот режим нужное кол-во людей, сервер перешел в другую карту, но при этом только у людей из очереди был переход. Просто если делать ServerTravel то переходят все клиенты вообще. И при этом конечно никакие listen соединения не вариант)), а это значит что логика сессий я так полагаю мне не подходит