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

2024 ж. 22 Мам.
7 796 Рет қаралды

Это девятый урок из серии 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

    @cyberstars-5839@cyberstars-5839 Жыл бұрын
  • Невероятно полезный канал! Спасибо за все уроки...

    @unrealengineruseng9583@unrealengineruseng9583 Жыл бұрын
  • Достойно объясняешь, спасибо и успехов каналу и тебе

    @TheBestSurvival@TheBestSurvival Жыл бұрын
  • Полный бон вояж - благодарна!

    @rapatologyrrr472@rapatologyrrr472 Жыл бұрын
  • Топовый контент. Смотрю все ваши видео от начала до конца. Но тема репликаций и мультиплеера - это прям вишенка на торте. Давно занимаюсь своей игрой, но многое не понимал и делал по наитию. Теперь всё встало на свои места))

    @srpgame@srpgame Жыл бұрын
  • Красава. Уроки топ!

    @user-rv3do9qp1e@user-rv3do9qp1e Жыл бұрын
  • Благодарю

    @anotherpain9120@anotherpain912010 ай бұрын
  • Ищу я видео как добавить список серверов и тут свежее видео от киберстар😂😂 Киберстар всегда знает что нужно Мирону Исе

    @mironcreator@mironcreator Жыл бұрын
  • Спасибо за очередное отличное видео! Не планируется ли разбор Animation Blueprint Linking и Animation Layer Interface?

    @zerotroll@zerotroll Жыл бұрын
  • Мелодия на фоне : Kevin MacLeod - Fluidscape Спасибо за обучалку :))))

    @TinikTV2575@TinikTV2575 Жыл бұрын
  • спасибо:) | | ^

    @ZloyN6@ZloyN68 ай бұрын
  • Спасибо за уроки. Не планируете в одном из следующих уроков рассмотреть мультиплеер через Steam? Steam Advanced Session, кажется, используется.

    @maxdrozdov7546@maxdrozdov7546 Жыл бұрын
    • Планируется) уже в разработке

      @cyberstars-5839@cyberstars-5839 Жыл бұрын
    • @@cyberstars-5839 отлично, будем ждать. Не так давно начал с этим разбираться, гайдов вроде хватает, но что-то уже устарело, что-то не очень понятно, в итоге предсказуемого результата добиться пока не получилось.

      @maxdrozdov7546@maxdrozdov7546 Жыл бұрын
  • 👍

    @bkarimov777@bkarimov777 Жыл бұрын
  • 18:48 почему то сейчас get assets by class отличается, что использовать вместо него или как это исправить?

    @VladCzars777@VladCzars7773 ай бұрын
  • Вопрос, повторяю меню CreateServer и CreateSingle. При вызове combobox получаю ошибку Blueprint Runtime Error: "Accessed None" что при добавлении что при вызове. Если проверить на валидность то ошибка пропадает, но и естественно не чего не выводится. Почему я могу не получить доступ если все внутри одного блупринта.

    @Dimitry444@Dimitry444 Жыл бұрын
  • сё красиво зделано , а сам какои нибут проект делаеш или уже на дядю работаеш ?

    @vladastretiakovas6229@vladastretiakovas6229 Жыл бұрын
    • Я сам дядя)

      @cyberstars-5839@cyberstars-5839 Жыл бұрын
    • @@cyberstars-5839 а какие игры разрабатывать, или какои проект делаете, расскажи.

      @vladastretiakovas6229@vladastretiakovas6229 Жыл бұрын
  • Когда создаю сессию и открываю свой лвл клиент на котором ищу сессию показывает что есть созданая сессия но играков 0. когда нажимаю подключится возвразает на лвл меню ( с 4х созданих окон standalone 3е окно вообще не видит сессий. что это может быть? если запускаю в New editor window все ок (

    @arsenstakhiv9115@arsenstakhiv911510 ай бұрын
  • Можно ли создать один или несколько серверов к которым бы подключались абсолютно все игроки при помощи своей учётной записи не становясь хостом и не создавая лобби, чтобы все данные об игроке хранились на таком сервере, как это реализовать в UE5?

    @secret.message.@secret.message. Жыл бұрын
    • можно, это называется dedicated сервер. учетки игроков можно на нем же хранить: хоть в текстовых файлах, хоть в сейвах или в базе данных.

      @AlphaBrox@AlphaBrox Жыл бұрын
  • скажите не кто не показывает как создать логику матча с раундами, таймером и тп например кс го закладка, возможно тут это будет?

    @SuperCinema4d@SuperCinema4d Жыл бұрын
    • на канале UE rus есть ~15 стримов по созданию сетевого шутера. Оттуда можно взять основы

      @anotherpain9120@anotherpain912010 ай бұрын
  • не отображаются имена карт... Раньше имя класса выглядело примерно так: «/Script/Engine.StaticMesh», а теперь его можно было записать в виде двух отдельных значений «/Script/Engine» и «StaticMesh». Простое написание «StaticMesh» больше не поддерживается. как решить кто знает?

    @male_bee@male_bee Жыл бұрын
    • в путь /Script/Engine в имя world

      @male_bee@male_bee Жыл бұрын
    • Болею той же проблемой. Решил взамен создать массив имён миров, которые мне нужны (всего их 2). И вроде работает, но после запаковки один из миров просто куда-то пропадает и не грузится при выборе и даж через консоль болше не открывается. Других решений за 4 дня придумать так и не смог.

      @ostoff2@ostoff2 Жыл бұрын
    • @@ostoff2 мб не добавил в package settings его в List of maps to include in a packaged build, эта настройка находится в advanced категории packaging (раскрывается стрелочкой)

      @BonaMors@BonaMors Жыл бұрын
    • Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.

      @SPro-Game@SPro-Game4 ай бұрын
  • А можно ли изучать язык С, а потом перейти на изучение С++? или там заного надо учиться? у меня книга просто есть про С

    @wevegothostiles6226@wevegothostiles6226 Жыл бұрын
    • Языки очень похожи, при знании C, сможешь легко перейти на C#, или C++

      @TR_Mount@TR_Mount Жыл бұрын
    • Если собираешься расширять свой кругозор и работать над низкоуровневыми вещами, типа операционными системами, драйвера, системами управления базами данных, тогда изучай сначала C, потом C++. Если тебе нужен C++ для unreal engine и ты не собираешься хардкодить, тогда изучай сразу C++. С отчасти является подмножеством C++. Изучив C++ ты как бы будешь знать и C, но не будешь понимать где, проходит грань между ними. В работе с unreal engine тебе это не помешает. Рекомендую два курса по C++ Валерия Лесина на Computer Since Center.

      @zerotroll@zerotroll Жыл бұрын
    • О! спасибо вам большое. Очень интересно. Конечно же интересует перспектива на анрил.

      @wevegothostiles6226@wevegothostiles6226 Жыл бұрын
    • Как же обидно, что в юнити и в анриле разные языки! В Юнити пачками клепают такие приятные, оптимизированные маленькие игры, а в Анриле топовая графика. Эх!

      @wevegothostiles6226@wevegothostiles6226 Жыл бұрын
  • Странно что бизнес логику делают виджеты. Что если я не хочу чтобы мои Debug карты были у человека в списке карт? Это нормально что пинг к своей же сессии - 508?

    @1play2fun@1play2fun Жыл бұрын
    • Да. Это птмчто свернуто окно

      @cyberstars-5839@cyberstars-5839 Жыл бұрын
    • Сделать поиск по тегам, либо логику на исключение

      @cyberstars-5839@cyberstars-5839 Жыл бұрын
  • Get Assets by Class не работает, поля выглядят по другому в ноде и при любом вводе слова "world" не выдает результата. Поэтому нет возможности сформировать список карт, как это исправить?

    @alexr8968@alexr89689 ай бұрын
    • Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.

      @SPro-Game@SPro-Game4 ай бұрын
  • В версии 5.2.1 на 18:40 из Get Asset Registry получаю Get Assets by Class, но input параметр не Class Name, а Class Path Name, из-за этого я не могу получить список карт, и подключаться к ним, что делать?

    @Aliterego@Aliterego8 ай бұрын
    • Может поможет: 1) вместо Get Assets by Class используй Get All Assets 2) из цикла взять Array Element, а из него Get Class и через бранч отобрать среди всех ассетов только карты через приравнивание к классу World

      @LTL_RED@LTL_RED7 ай бұрын
    • @@LTL_RED делаю проверку на World класс, ни один элемен не вернулся, Get Asset Registry, get all assets, for each, array element get class, return value сравниваю с World, branch true - add option, не работает

      @maxkos5547@maxkos55475 ай бұрын
    • @@maxkos5547 getallassets - > foreach-> break array в нем assetclasspath, это строка, конвертите ее в name и сравниваете с '/Script/Engine.World'

      @gnmgnomski3579@gnmgnomski35795 ай бұрын
    • Поздно конечно пишу, но вдруг другим поможет. Как вариант можно использовать Get Assets by Path и в нём указать путь к папке до всех игровых карт. Тогда не надо делать никакие исключения и т.п. Пример пути к картам: /Game/Maps , где Game указывать обязательно, движок её воспринимает как папку Content.

      @SPro-Game@SPro-Game4 ай бұрын
    • @@SPro-Game да, так даже удобнее, лишние карты не попадают в список, спасибо

      @gnmgnomski3579@gnmgnomski35794 ай бұрын
  • Я первый

    @calmspace7021@calmspace7021 Жыл бұрын
    • Всём насрать

      @tntrat@tntrat Жыл бұрын
    • @@tntrat иди нах педик. Тебя не спрашивали

      @calmspace7021@calmspace7021 Жыл бұрын
    • @@tntrat нет, он реально ПОБедитель

      @cyberstars-5839@cyberstars-5839 Жыл бұрын
    • @@cyberstars-5839 ПОБ?

      @tntrat@tntrat Жыл бұрын
  • ребзя ,а вы не пробовали к государству обращаться ,мб им нужны игры и они готовы за это давать деньги ,у вас вроде опыт есть ,почему бы его не применить ?

    @fkcstrt6058@fkcstrt6058 Жыл бұрын
  • Так а как мне сделать следующее? У меня есть MainMenu где игроки выбирают нацию и режим игры и мне нужно чтобы выбрав они попали в очередь, когда набралось на этот режим нужное кол-во людей, сервер перешел в другую карту, но при этом только у людей из очереди был переход. Просто если делать ServerTravel то переходят все клиенты вообще. И при этом конечно никакие listen соединения не вариант)), а это значит что логика сессий я так полагаю мне не подходит

    @pulsar7016@pulsar70164 ай бұрын
KZhead