Пятница, 16 Мая 2025, 21:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
(Помогите!) Мультиплеер на Mirror Unity
gasterosДата: Суббота, 03 Мая 2025, 18:05 | Сообщение # 1
уже был
Сейчас нет на сайте
Добрый день, как уже указано в теме я создал игру в Unity используя Mirror и не могу запустить свою игру на двух разных устройствах и подключить друг к другу две игровые сессии. Я создавал игру по вот этим гайдам: https://rutube.ru/video/052c73de099db05345e8350679999dd4/. (Закончил вторую часть) И обнаружил, что игра у меня связывается только на компьютере(, если запускаю сразу две сессии). Но на разных устройствах сервера, созданные другим компьютером, просто невозможно увидеть.При этом сразу уточняю, что некоторые аспекты я чуть менял, поскольку пользовался я конечно более новыми версиями и Unity и Mirror. Я посмотрел информацию на счёт того, как это решить и толком не разобрался. Пожалуйста, помогите горе разработчику!!!

Сообщение отредактировал gasteros - Четверг, 08 Мая 2025, 06:38
maker-rusДата: Пятница, 09 Мая 2025, 18:46 | Сообщение # 2
Гений
Сейчас нет на сайте
Привет! Напиши пожалуйста конкретно, что ты сделал, чтобы подключить к своему "игровому серверу" другой пк? В видео происходит запуск только на одном устройстве.
gasterosДата: Суббота, 10 Мая 2025, 15:49 | Сообщение # 3
уже был
Сейчас нет на сайте
День добрый, условно говоря я ничего не делал. На месте Network adress у меня пока что стоит localhost. Хотя я знаю, что там будет стоять IP адрес сервера, на котором всё и происходит. Я просто не могу понять, как правильно настроить порты в KCP transport. Читаю документацию, как я понял требуется по нормальному настроить эти два параметра, чтоб у меня всё работало. А пока что у меня компьютер общается с сам собой.

Сообщение отредактировал gasteros - Суббота, 10 Мая 2025, 15:50
maker-rusДата: Четверг, вчера, 00:10 | Сообщение # 4
Гений
Сейчас нет на сайте
gasteros, прошу прощения, что долго отвечал, было много дел, которые нужно было решить. Смотри, такая вещь, как IP (протокол сетевой), достаточно универсальная, потому что стандартизирована и не зависит ни от каких фреймворков, библиотек, компонентов игрового движка. Есть два основных протокола (транспортных), которые работают поверх IP: TCP, UDP. Насколько я понял из документации KCP — всего лишь надстройка над UDP, так как он явно просит снять ограничения на обмен информации по сети на порту 7777 для UDP:
Цитата

Unblock UDP (not TCP), Port 7777 (the default, unless you change it).

Из чего мы можем сделать вывод, что KCP transport — не что иное, как обычный UDP-протокол с «дополнительными оптимизациями». Соответственно, настройка для твоего плагина ничем не отличается от обычной настройки сетевого порта для взаимодействия в сети по UDP-протоколу.

Для того чтобы запущенное приложение на одном компьютере могло взаимодействовать с другим компьютером или иным устройством, поддерживающим сетевое взаимодействие, необходимо на устройстве, которое подключается к другому компьютеру (сетевому устройству):
0. запустить приложение на основном устройстве (сервер), которое осуществляет прием подключений;
1. на втором устройстве (клиент) указать верный IP-адрес устройства (сервера), к которому осуществляется подключение из п. 1, узнать его можно посредством:
Код

// для Windows
ipconfig

// для Linux
ip a

2. указать корректный порт подключения, который указан в приложении на устройстве (сервере) из п. 1, в данном случае по умолчанию порт: 7777, если был задан другой порт — указать его;
3. проверить, что настройки firewall (Linux) или брандмауэра, антивируса (Windows) позволяют подключится по указанному порту к устройству (серверу) с другого устройства (клиента(ов)) в сети;
4. проверить, что настройки роутера, коммутатора позволяют отправлять пакеты между двумя этими устройствами, то есть они находятся в одной подсети или настроена маршрутизация между подсетями, или подключение происходит по (статическому) белому IP, который выделил интернет-провайдер.

Проверить наличие сетевого взаимодействия и видимость устройств в сети между собой можно проверить посредством отправления ICMP (PING) запроса:
Код

// Windows и большинство дистрибутивов Linux
ping IP_адрес_сервера
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2025 Рейтинг