Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Толстый/тонкий сервер. Синхронизация состояние мира. Какие минусы видите в такой реализации? (12 стр)

Толстый/тонкий сервер. Синхронизация состояние мира. Какие минусы видите в такой реализации? (12 стр)

Поделиться
Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 3 4 ... 11 12

tacПостоялецwww14 окт. 201620:38#165
Ravager
> у себя на компе ты перепрыгнул через забор а у соседа Васи ты еще перед ним
> стоишь. а у меня на компе сеть не очень, я тебя вижу на одном месте. кому
> верить, кто читерит?
вообще то уже про это говорилось выше, лень повторяться

клиент знает кто на сколько запаздывает

RavagerПостоялецwww15 окт. 20161:58#166
tac
Ну да, ну да...
В теории сложив свой Пинг 50 и пинг врага 100мс ты получишь 150мс запаздывания. А на практике, ввиду наличия двух сторон, Пинг получится от 100 до 200мс. И он будет разный для тебя и для твоего врага, поэтому неизбежно возникнут коллизии. Как быть? 4 из 7 сказали что игрок читер, а в след раз наоборот. Кому верить? Плюс это все вообще неприменимо для боев типа 1-1 на арене например.
Вся эта теория высосана из пальца, в реале пробуя сделать хотя бы синхронизацию уже сталкиваешься с несправедливостью сетевого мира. К тому же, уже все давно придумано и опробовано. Есть лишь 2 рабочие модели: авторитарный сервер, тонкий клиент и нормальная игра. Либо тонкий сервер, толстый клиент и дырявая игра. Ну и 3-й вариант сервера с проверками, который по сути тоже авторитарный сервер. Выбирай что хочешь

Правка: 15 окт. 2016 2:03

tacПостоялецwww15 окт. 20169:28#167
Ravager
> 4 из 7 сказали что игрок читер, а в след раз наоборот. Кому верить?
а будет сверка с учетом погрешности, читер не сможет сам обманывать в этих диапазонах, перелеты на большие расстояния будут только отлавливаться /нам не важно сделал он шаг или два, важно лишь прошел он через стену или нет/

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

Правка: 15 окт. 2016 9:37

RavagerПостоялецwww15 окт. 20169:49#168
tac
Ок, вижу ты решил что ты умнее всех - удачи, напишешь когда сделаешь, протестируем кто был прав
tacПостоялецwww15 окт. 201615:53#169
Я решил, что авторитарный сервер пройденый и неперспективный вариант для развития, задачи с читерами я и решать не буду, главноебыло понять что это в любой момент можно доделать ... а так да, к новому году будем тестить, и я посмотрю как вы вскроете клиента и тогда посмотрю какие из вас хакеры ))
iDarkLordПользовательwww19 янв. 201716:18#170
Тот факт что кто то не может вскрыть клиент еще не означает, что этого никто не может сделать. "авторитарный сервер пройденый и неперспективный вариант", "задачи с читерами я и решать не буду" - вот как бы и все.
Вообще насколько знаю есть такая тема во всяких RTS, когда каждый клиент отсылает данные каждому клиенту. Соответственно авторитарный сервер отсутствует. Но я слышал там столько проблем =)) Навскидку которые  помню, синхронизация часов, часы должны быть одинаковыми на всех клиентах, детерминистическая модель мира накладывает тоже массу ограничений.
  Я не очень силен именно в таком варианте сервера, не могли бы вы пояснить:
Я только что зашел в игру и у меня честная настоящая действующая модель мира (как говорится самхау), с этого момента все плохо мир теряет синхронизацию, поэтому есть пару вопросов.
1. Клиент знает положения игроков возде меня (или нет ?), почему бы мне не сделать волхак ?
2. Какой то злодей выстрелил в меня, пока я бежал за флагом, почему бы мне не сказать всем вокруг что в тот момент когда пуля должна была пробить мне бошку, я перестал бежать, пуля прошла мимо, а затем я с снова продолжил движение ?
tacПостоялецwww19 янв. 201717:11#171
iDarkLord
> почему бы мне не сделать волхак ?
по русски?

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

iDarkLord
> у меня честная настоящая действующая модель мира

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

iDarkLordПользовательwww20 янв. 20179:21#172
tac
> по русски?
wallhack
tac
> вы уж определитесь, или вы взломали клиента или нет, если нет то вы ничего
> сказать не можете - скажет клиент
А вот как вы рассуждаете =)) Вы ранее уже высказались что не собираетесь думать о читерах, и если надо то мол допилите потом, но в такой схеме (да и в любой другой) нужно о читерах думать сразу, т.е. такой подход подразумевает организацию защиты клиента от взлома, но это чертовски тяжело. Вы же не думаете что модифицировать ваш клиент составляет хоть сколько нибудь сложную задачу ? Кроме того всегда есть возможность перехватить ваши сетевые пакеты от клиента модифицировать их и отправить дальше на сервер. Второй прикол над которым вам стоит подумать что бы подорвать уверенность в том что ваш клиент это что такое нерушимое, это тот факт что злые люди могут вообще не использовать ваш клиент)), они могут написать свой, вообще с нуля, все что им нужно это сокетное соединение с вашим сервером или лобби сервером, как бы вы там его не называли.

Правка: 20 янв. 2017 9:23

tacПостоялецwww20 янв. 201710:47#173
iDarkLord
> Вы же не думаете что модифицировать ваш клиент составляет хоть сколько нибудь
> сложную задачу ? Кроме того всегда есть возможность перехватить ваши сетевые
> пакеты от клиента модифицировать их и отправить дальше на сервер.
ну пока местные умельцы не справились ))
http://www.gamedev.ru/projects/forum/?id=217540&page=2#m29

попробуете?

а так не смогут, трафик шифруется

Правка: 20 янв. 2017 10:53

iDarkLordПользовательwww20 янв. 201711:30#174
Ну я вам уже писал, что то что местные умельцы не могут не значит что никто не сможет. Плюс иногда не надо чего то там декомпилировать и реверсинжинирить иногда достаточно работающего клиента и чтения определенных регионов памяти, хотя да их еще нужно будет найти, но насколько я понял это не проблема.
Если честно я слабо представлю как у вас устроено клиент-серверное взаимодействие, если не затруднит дайте линк где у вас написано кто куда что шлет и кто принимает решение о том что данные валидны. Так или иначе, шифрование трафика это прекрасно, но к сожалению создает накладные расходы на шифрование/дешифрование данных. Это может быть критичным, а может и не быть, зависит от архитектуры сервера и количества одновременных коннектов и метода шифрования может у вас там тупо Rot 13 XDD.
Никогда ничего не реверсил, но щас гляну ваш клиент.
iDarkLordПользовательwww20 янв. 201711:32#175
Что ж для начала уже не плохо "Имеется информация, что эта веб-страница атакует компьютеры!".
ZabПостоялецwww20 янв. 201711:50#176
iDarkLord
> шифрование трафика это прекрасно, но к сожалению создает накладные расходы на шифрование/дешифрование данных
Есть способы почти бесплатной и практически невскрываемой шифровки. DESS на короткий сеанс + инициация сеанса по RSA. Примерно так линии связи банкоматов шифруют.  Сеанс несколько минут, а криптостойкость ключа DESS десятки часов.
iDarkLordПользовательwww20 янв. 201712:16#177
Zab
> Есть способы почти бесплатной и практически невскрываемой шифровки. DESS на
> короткий сеанс + инициация сеанса по RSA. Примерно так линии связи банкоматов
> шифруют. Сеанс несколько минут, а криптостойкость ключа DESS десятки часов.
Насчет почти бесплатной я бы поспорил, но учитывая что у него там стратегия какая то пошаговая то да, пофиг на затраты по шифрованию/дешифрированию.
tacПостоялецwww20 янв. 201715:38#178
iDarkLord
> "Имеется информация, что эта веб-страница атакует компьютеры!"

испугались :))

Страницы: 1 2 3 4 ... 11 12

/ Форум / Программирование игр / Сеть

2001—2017 © GameDev.ru — Разработка игр