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

Поділитися
Вставка
  • Опубліковано 1 чер 2024
  • Это девятый урок из серии 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

КОМЕНТАРІ • 55

  • @cyberstars-5839
    @cyberstars-5839  Рік тому +8

    Discord - discord.gg/z8t2uSWCBq
    Разовый донат new.donatepay.ru/@cyberstars
    Patreon - www.patreon.com/cyberstars

  • @unrealengineruseng9583
    @unrealengineruseng9583 Рік тому +1

    Невероятно полезный канал!
    Спасибо за все уроки...

  • @rapatologyrrr472
    @rapatologyrrr472 Рік тому +5

    Полный бон вояж - благодарна!

  • @TheBestSurvival
    @TheBestSurvival Рік тому

    Достойно объясняешь, спасибо и успехов каналу и тебе

  • @srpgame
    @srpgame Рік тому

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

  • @zerotroll
    @zerotroll Рік тому

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

  • @mironcreator
    @mironcreator Рік тому

    Ищу я видео как добавить список серверов и тут свежее видео от киберстар😂😂
    Киберстар всегда знает что нужно Мирону Исе

  • @user-rv3do9qp1e
    @user-rv3do9qp1e Рік тому

    Красава. Уроки топ!

  • @anotherpain9120
    @anotherpain9120 11 місяців тому

    Благодарю

  • @TinikTV2575
    @TinikTV2575 Рік тому

    Мелодия на фоне : Kevin MacLeod - Fluidscape
    Спасибо за обучалку :))))

  • @Dimitry444
    @Dimitry444 Рік тому

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

  • @VladCzars777
    @VladCzars777 4 місяці тому

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

  • @maxdrozdov7546
    @maxdrozdov7546 Рік тому

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

    • @cyberstars-5839
      @cyberstars-5839  Рік тому

      Планируется) уже в разработке

    • @maxdrozdov7546
      @maxdrozdov7546 Рік тому

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

  • @ZloyN6
    @ZloyN6 9 місяців тому

    спасибо:) | |
    ^

  • @arsenstakhiv9115
    @arsenstakhiv9115 11 місяців тому

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

  • @male_bee
    @male_bee Рік тому +2

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

    • @male_bee
      @male_bee Рік тому +2

      в путь /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 місяців тому +1

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

  • @secret.message.
    @secret.message. Рік тому

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

    • @AlphaBrox
      @AlphaBrox Рік тому

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

  • @bkarimov777
    @bkarimov777 Рік тому

    👍

  • @wevegothostiles6226
    @wevegothostiles6226 Рік тому

    А можно ли изучать язык С, а потом перейти на изучение С++? или там заного надо учиться? у меня книга просто есть про С

    • @TR_Mount
      @TR_Mount Рік тому +4

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

    • @zerotroll
      @zerotroll Рік тому

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

    • @wevegothostiles6226
      @wevegothostiles6226 Рік тому

      О! спасибо вам большое. Очень интересно. Конечно же интересует перспектива на анрил.

    • @wevegothostiles6226
      @wevegothostiles6226 Рік тому

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

  • @1play2fun
    @1play2fun Рік тому

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

    • @cyberstars-5839
      @cyberstars-5839  Рік тому

      Да. Это птмчто свернуто окно

    • @cyberstars-5839
      @cyberstars-5839  Рік тому

      Сделать поиск по тегам, либо логику на исключение

  • @SuperCinema4d
    @SuperCinema4d Рік тому

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

    • @anotherpain9120
      @anotherpain9120 11 місяців тому

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

  • @alexr8968
    @alexr8968 9 місяців тому

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

    • @SPro-Game
      @SPro-Game 5 місяців тому +1

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

  • @vladastretiakovas6229
    @vladastretiakovas6229 Рік тому +1

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

    • @cyberstars-5839
      @cyberstars-5839  Рік тому +2

      Я сам дядя)

    • @vladastretiakovas6229
      @vladastretiakovas6229 Рік тому

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

  • @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 7 місяців тому

      Может поможет: 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 місяців тому +1

      Поздно конечно пишу, но вдруг другим поможет.
      Как вариант можно использовать 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 Рік тому +1

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

  • @pulsar7016
    @pulsar7016 4 місяці тому

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