Пользовательский выделенный сервер UE4 (коллизии, хитбоксы) - PullRequest
0 голосов
/ 26 марта 2019

Итак, я сейчас занимаюсь разработкой собственного выделенного сервера в UE4 с нуля. Я использую RakNet в качестве сетевого движка и хочу создать типичный выделенный сервер, который может управлять добавлением игроков в мир, хитбоксов, коллизий и проверкой пакетов в целом. Что я имею в виду под проверкой здесь, например, если сервер получает пакет перемещения, он может решить, может ли отправитель пакета переместиться туда или нет. Я вижу самую большую проблему в проверке, например, пакеты движения и хитбоксы, потому что сервер должен иметь доступ к миру и методы нереального столкновения, которые я не знаю, как сделать с нуля. Можно ли получить базовый сервер от UE4 и оснастить его собственным сетевым механизмом и обработкой пакетов? Или есть лучший способ достичь моей цели?

1 Ответ

0 голосов
/ 09 мая 2019

AFAIK, для этого не существует готового решения. Вам нужно что-то нестандартное. Я могу думать о 3 решениях:

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

  2. Напишите пользовательскую обработку коллизий на вашем сервере. Это много работы. Сервер должен знать все положения коллайдеров, их размеры и т. Д. Затем вы можете использовать физическую библиотеку (например, Bullet Physics) для проверки столкновений или написания пользовательских проверок столкновений.

  3. Скомпилируйте UE4 как выделенный сервер. Вы можете найти больше информации здесь: https://wiki.unrealengine.com/Dedicated_Server_Guide_(Windows_%26_Linux) Просто используйте Raknet вместо собственной сети UE4.

PS. Исходный код UE4 - это более двух миллионов строк сложного кода на C ++, поэтому совет кому-то «просто загрузить исходный код и изменить все, что вам нравится» не является жизнеспособным советом.

PS.PS. Я не уверен, что RakNet является хорошим выбором в данный момент, этот проект не обновлялся уже 5 лет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...