Пятница, 27 Декабря 2024, 23:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Photon Server + Физика
robertonoДата: Суббота, 30 Мая 2015, 12:25 | Сообщение # 1
Чокнутый Кот
Сейчас нет на сайте
Здравствуйте!

Как защититься от читерства на Photon Servere? Как вы знаете, из коробки он идет без физики.

Я хочу сделать 2D игру, возможно в какой то мере похожую на Terraria, мир из кубиков, только вид сбоку.
Каждый кубик - 1х1. Персонаж - 1х3 или 2х3 , ещё не знаю.

Нужно как то защититься от NoClip (прохождение сквозь стены) и SpeedHack.
Как я понимаю для этого придется к фотон серверу прикручивать физику ? Как её прикрутить так, что бы нагрузка на сервер была минимальная? Планируется использование большого количества Box Collider 2D. В принципе их можно объединить в один Polygon Collider 2D и по моему это будет намного лучше чем 50 коробочных коллайдеров..
Что думаете по этому поводу?

В документации ExitGames (Photon Server) предлагается использовать Unity Instances для проверки физики. А именно запускать Unity Instances, где физика просчитывается исключительно на Триггерах, что бы можно было проверить, например если игрок попал мечем по другому игроку и т.д. Но как запускать Unity Instance и как общаться серверу с этим Инстансом - я не понял, да там и не сказано конкретно. Это просто как ещё один клиент, запущенный локально, на котором воссоздается сцена в упрощенном виде ?
Что думаете по этому поводу?
Вот ссылка на то, как это в доках написано: http://doc.exitgames.com/en....-server

В общем цель одна - избавиться от читерства. А именно никаких полетов, быстрых перемещений и прохождений сквозь стены. По моему в игре не такая сложная физика, что бы это реализовать. Но я пока что не понял как именно это надо делать..
Жду ваших ответов smile


Сообщение отредактировал robertono - Суббота, 30 Мая 2015, 12:30
Edison6Дата: Суббота, 30 Мая 2015, 12:57 | Сообщение # 2
TRUE Programmer
Сейчас нет на сайте
авторитарный сервер ставь и физику на нем считай

Берил сбрей усы
robertonoДата: Суббота, 30 Мая 2015, 14:24 | Сообщение # 3
Чокнутый Кот
Сейчас нет на сайте
Edison6, Photon Server и есть авторитарный сервер...
Edison6Дата: Суббота, 30 Мая 2015, 15:41 | Сообщение # 4
TRUE Programmer
Сейчас нет на сайте
Цитата robertono ()
Photon Server и есть авторитарный сервер...

а я подумал про Cloud.....



Берил сбрей усы

Сообщение отредактировал Edison6 - Суббота, 30 Мая 2015, 15:42
EchoITДата: Суббота, 30 Мая 2015, 18:39 | Сообщение # 5
старожил
Сейчас нет на сайте
Тошнит уже от вашего Photon Server, в каждый тред его запихать надо, ещё и свой создать. Нужна защита от читеров - пиши свой сервак. А вообще, не понимаю, в чём проблема сделать сравнение серверных координат игрока с клиентскими, и если разница внезапно слишком большой стала, то просто возвращать его в прежнюю позицию? А для защиты от ноклипа проверять на наличие объектов в координатах игрока.

Долгожданный анонсик: State of War

Сообщение отредактировал EchoIT - Суббота, 30 Мая 2015, 18:40
robertonoДата: Суббота, 30 Мая 2015, 19:03 | Сообщение # 6
Чокнутый Кот
Сейчас нет на сайте
Цитата EchoIT ()
А для защиты от ноклипа проверять на наличие объектов в координатах игрока.

Подскажите пожалуйста как это проверять, если фотон сервер не имеет сцены игроков? Свою псевдофизику писать?
EchoITДата: Суббота, 30 Мая 2015, 19:10 | Сообщение # 7
старожил
Сейчас нет на сайте
Цитата
Подскажите пожалуйста как это проверять, если фотон сервер не имеет сцены игроков? Свою псевдофизику писать?

Ну, собственно, потому что я с ним не работаю, подсказать этого не смогу. Но ИМХО от этого отталкиваться нужно. Ну или написать псевдо-физику, всё её особенности вам и не нужны, только проверка коллизий. Если все коллизии - прямоугольники, то это не так сложно должно быть.


Долгожданный анонсик: State of War
robertonoДата: Суббота, 30 Мая 2015, 22:45 | Сообщение # 8
Чокнутый Кот
Сейчас нет на сайте
А есть смысл запускать локального клиента на том же компе где сервер? Я имею ввиду запускать игру на Unity, где всё что есть так это невидимые 3д объекты (только коллайдеры) и все остальные игроки? И подключать этого клиента как обычного, но сделать что бы на нем проводились физические проверки?
EchoITДата: Воскресенье, 31 Мая 2015, 13:48 | Сообщение # 9
старожил
Сейчас нет на сайте
robertono, ну это будет всем костылям костыль! biggrin Не думаю, что это хорошая идея.

Долгожданный анонсик: State of War
Storm54Дата: Понедельник, 01 Июня 2015, 10:25 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Можно прикрутить какой-нибудь физический движок к Photon Server. Не знаю, что именно используется в Unity, но думаю, что на стороне сервера самым простым решением было бы прикрутить какой-нибудь Box2D. Это, если нужна более-менее реалистичная физика твердых тел. Если все, что нужно проверять - пересечение двух объектов, то можно написать свою реализацию физического движка (Я пару лет назад писал такую систему: в ней все тела представляли из себя набор отрезков, соответственно пересечения между ними считались по простому алгоритму пересечения отрезков. Для оптимизации все эти тела засовывались в деревья из Bounding Box'ов. )
robertonoДата: Четверг, 04 Июня 2015, 22:59 | Сообщение # 11
Чокнутый Кот
Сейчас нет на сайте
EchoIT, тогда если локальный клиент для просчета физики - не вариант, то что имеется ввиду в документации, говоря "run Unity Instances" ? Помогите разобраться пожалуйста.
  • Страница 1 из 1
  • 1
Поиск:

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