Тёмный

Урок 9 | Unreal Engine 5 Мультиплеер - Список серверов | Подключение к сессии / UMG 

Cyberstars -  How to create a game
Подписаться 142 тыс.
Просмотров 8 тыс.
50% 1

Это девятый урок из серии 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 - CyberstarsEn...
Instagram - cyberstars_...
ВКонтакте - cyberstars_entertainment
Телеграм - t.me/cyberstars1
#cyberstars #gamedev @UnrealEngine

Опубликовано:

 

10 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 56   
@cyberstars-5839
@cyberstars-5839 Год назад
Discord - discord.gg/z8t2uSWCBq Разовый донат new.donatepay.ru/@cyberstars Patreon - www.patreon.com/cyberstars
@unrealengineruseng9583
@unrealengineruseng9583 Год назад
Невероятно полезный канал! Спасибо за все уроки...
@rapatologyrrr472
@rapatologyrrr472 Год назад
Полный бон вояж - благодарна!
@TheBestSurvival
@TheBestSurvival Год назад
Достойно объясняешь, спасибо и успехов каналу и тебе
@srpgame
@srpgame Год назад
Топовый контент. Смотрю все ваши видео от начала до конца. Но тема репликаций и мультиплеера - это прям вишенка на торте. Давно занимаюсь своей игрой, но многое не понимал и делал по наитию. Теперь всё встало на свои места))
@user-rv3do9qp1e
@user-rv3do9qp1e Год назад
Красава. Уроки топ!
@mironcreator
@mironcreator Год назад
Ищу я видео как добавить список серверов и тут свежее видео от киберстар😂😂 Киберстар всегда знает что нужно Мирону Исе
@zerotroll
@zerotroll Год назад
Спасибо за очередное отличное видео! Не планируется ли разбор Animation Blueprint Linking и Animation Layer Interface?
@anotherpain9120
@anotherpain9120 11 месяцев назад
Благодарю
@TinikTV2575
@TinikTV2575 Год назад
Мелодия на фоне : Kevin MacLeod - Fluidscape Спасибо за обучалку :))))
@deniskian6854
@deniskian6854 2 дня назад
Уроки действительно шикарные. А еще вопрос - если просто ввести белый IP адрес с двух разных компов и подключится - неужели сработает? Просто в прошлых уроках было open level и вместо его имени IP адрес. Если это сработает, я еще раз помолюсь за магию Unreal Engine! 😊
@ZloyN6
@ZloyN6 9 месяцев назад
спасибо:) | | ^
@maxdrozdov7546
@maxdrozdov7546 Год назад
Спасибо за уроки. Не планируете в одном из следующих уроков рассмотреть мультиплеер через Steam? Steam Advanced Session, кажется, используется.
@cyberstars-5839
@cyberstars-5839 Год назад
Планируется) уже в разработке
@maxdrozdov7546
@maxdrozdov7546 Год назад
@@cyberstars-5839 отлично, будем ждать. Не так давно начал с этим разбираться, гайдов вроде хватает, но что-то уже устарело, что-то не очень понятно, в итоге предсказуемого результата добиться пока не получилось.
@bkarimov777
@bkarimov777 Год назад
👍
@VladCzars777
@VladCzars777 4 месяца назад
18:48 почему то сейчас get assets by class отличается, что использовать вместо него или как это исправить?
@Dimitry444
@Dimitry444 Год назад
Вопрос, повторяю меню CreateServer и CreateSingle. При вызове combobox получаю ошибку Blueprint Runtime Error: "Accessed None" что при добавлении что при вызове. Если проверить на валидность то ошибка пропадает, но и естественно не чего не выводится. Почему я могу не получить доступ если все внутри одного блупринта.
@vladastretiakovas6229
@vladastretiakovas6229 Год назад
сё красиво зделано , а сам какои нибут проект делаеш или уже на дядю работаеш ?
@cyberstars-5839
@cyberstars-5839 Год назад
Я сам дядя)
@vladastretiakovas6229
@vladastretiakovas6229 Год назад
@@cyberstars-5839 а какие игры разрабатывать, или какои проект делаете, расскажи.
@arsenstakhiv9115
@arsenstakhiv9115 11 месяцев назад
Когда создаю сессию и открываю свой лвл клиент на котором ищу сессию показывает что есть созданая сессия но играков 0. когда нажимаю подключится возвразает на лвл меню ( с 4х созданих окон standalone 3е окно вообще не видит сессий. что это может быть? если запускаю в New editor window все ок (
@secret.message.
@secret.message. Год назад
Можно ли создать один или несколько серверов к которым бы подключались абсолютно все игроки при помощи своей учётной записи не становясь хостом и не создавая лобби, чтобы все данные об игроке хранились на таком сервере, как это реализовать в UE5?
@AlphaBrox
@AlphaBrox Год назад
можно, это называется dedicated сервер. учетки игроков можно на нем же хранить: хоть в текстовых файлах, хоть в сейвах или в базе данных.
@male_bee
@male_bee Год назад
не отображаются имена карт... Раньше имя класса выглядело примерно так: «/Script/Engine.StaticMesh», а теперь его можно было записать в виде двух отдельных значений «/Script/Engine» и «StaticMesh». Простое написание «StaticMesh» больше не поддерживается. как решить кто знает?
@male_bee
@male_bee Год назад
в путь /Script/Engine в имя world
@ostoff2
@ostoff2 Год назад
Болею той же проблемой. Решил взамен создать массив имён миров, которые мне нужны (всего их 2). И вроде работает, но после запаковки один из миров просто куда-то пропадает и не грузится при выборе и даж через консоль болше не открывается. Других решений за 4 дня придумать так и не смог.
@BonaMors
@BonaMors Год назад
@@ostoff2 мб не добавил в package settings его в List of maps to include in a packaged build, эта настройка находится в advanced категории packaging (раскрывается стрелочкой)
@SPro-Game
@SPro-Game 5 месяцев назад
Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.
@1play2fun
@1play2fun Год назад
Странно что бизнес логику делают виджеты. Что если я не хочу чтобы мои Debug карты были у человека в списке карт? Это нормально что пинг к своей же сессии - 508?
@cyberstars-5839
@cyberstars-5839 Год назад
Да. Это птмчто свернуто окно
@cyberstars-5839
@cyberstars-5839 Год назад
Сделать поиск по тегам, либо логику на исключение
@alexr8968
@alexr8968 10 месяцев назад
Get Assets by Class не работает, поля выглядят по другому в ноде и при любом вводе слова "world" не выдает результата. Поэтому нет возможности сформировать список карт, как это исправить?
@SPro-Game
@SPro-Game 5 месяцев назад
Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.
@SuperCinema4d
@SuperCinema4d Год назад
скажите не кто не показывает как создать логику матча с раундами, таймером и тп например кс го закладка, возможно тут это будет?
@anotherpain9120
@anotherpain9120 11 месяцев назад
на канале UE rus есть ~15 стримов по созданию сетевого шутера. Оттуда можно взять основы
@wevegothostiles6226
@wevegothostiles6226 Год назад
А можно ли изучать язык С, а потом перейти на изучение С++? или там заного надо учиться? у меня книга просто есть про С
@TR_Mount
@TR_Mount Год назад
Языки очень похожи, при знании C, сможешь легко перейти на C#, или C++
@zerotroll
@zerotroll Год назад
Если собираешься расширять свой кругозор и работать над низкоуровневыми вещами, типа операционными системами, драйвера, системами управления базами данных, тогда изучай сначала C, потом C++. Если тебе нужен C++ для unreal engine и ты не собираешься хардкодить, тогда изучай сразу C++. С отчасти является подмножеством C++. Изучив C++ ты как бы будешь знать и C, но не будешь понимать где, проходит грань между ними. В работе с unreal engine тебе это не помешает. Рекомендую два курса по C++ Валерия Лесина на Computer Since Center.
@wevegothostiles6226
@wevegothostiles6226 Год назад
О! спасибо вам большое. Очень интересно. Конечно же интересует перспектива на анрил.
@wevegothostiles6226
@wevegothostiles6226 Год назад
Как же обидно, что в юнити и в анриле разные языки! В Юнити пачками клепают такие приятные, оптимизированные маленькие игры, а в Анриле топовая графика. Эх!
@Aliterego
@Aliterego 8 месяцев назад
В версии 5.2.1 на 18:40 из Get Asset Registry получаю Get Assets by Class, но input параметр не Class Name, а Class Path Name, из-за этого я не могу получить список карт, и подключаться к ним, что делать?
@LTL_RED
@LTL_RED 8 месяцев назад
Может поможет: 1) вместо Get Assets by Class используй Get All Assets 2) из цикла взять Array Element, а из него Get Class и через бранч отобрать среди всех ассетов только карты через приравнивание к классу World
@maxkos5547
@maxkos5547 6 месяцев назад
@@LTL_RED делаю проверку на World класс, ни один элемен не вернулся, Get Asset Registry, get all assets, for each, array element get class, return value сравниваю с World, branch true - add option, не работает
@gnmgnomski3579
@gnmgnomski3579 5 месяцев назад
@@maxkos5547 getallassets - > foreach-> break array в нем assetclasspath, это строка, конвертите ее в name и сравниваете с '/Script/Engine.World'
@SPro-Game
@SPro-Game 5 месяцев назад
Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.
@gnmgnomski3579
@gnmgnomski3579 5 месяцев назад
@@SPro-Game да, так даже удобнее, лишние карты не попадают в список, спасибо
@calmspace7021
@calmspace7021 Год назад
Я первый
@tntrat
@tntrat Год назад
Всём насрать
@calmspace7021
@calmspace7021 Год назад
@@tntrat иди нах педик. Тебя не спрашивали
@cyberstars-5839
@cyberstars-5839 Год назад
@@tntrat нет, он реально ПОБедитель
@tntrat
@tntrat Год назад
@@cyberstars-5839 ПОБ?
@fkcstrt6058
@fkcstrt6058 Год назад
ребзя ,а вы не пробовали к государству обращаться ,мб им нужны игры и они готовы за это давать деньги ,у вас вроде опыт есть ,почему бы его не применить ?
@pulsar7016
@pulsar7016 4 месяца назад
Так а как мне сделать следующее? У меня есть MainMenu где игроки выбирают нацию и режим игры и мне нужно чтобы выбрав они попали в очередь, когда набралось на этот режим нужное кол-во людей, сервер перешел в другую карту, но при этом только у людей из очереди был переход. Просто если делать ServerTravel то переходят все клиенты вообще. И при этом конечно никакие listen соединения не вариант)), а это значит что логика сессий я так полагаю мне не подходит
Далее