Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.07.2011, 13:19
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 11  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
редположим в игре есть перемещение персонажа. Игрок нажимает на клавишу и перемещается. Если динамически не кодировать данные, то игрок может 100 раз в секунду нажимать на клавишу и перемещаться в игре как флэш
И что? Это что-то даёт?
Самый правильный вариант - всю важную логику, которая влияет на выигрыш-проигрыш хранить на сервере. В крайнем случае валидировать. Например расчёт путей по a-star довольно нагрузочная операция, поэтому пути каждого из персонажей я вычислял на клиенте и отправлял серверу. Сервер только проверял являются ли точки пути соседями и проходимыми (чтобы не было читов)
По такому же принципу можно проверять почти все параметры вычисляемые на клиенте, т.к. часто проверка намного экономичнее расчётов.
Но команды от клиента - "я выиграл" - быть не должно в любом случае)
__________________
Отряд Котовскага

Старый 26.07.2011, 13:20
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 12  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
Цитата:
Что вы можете смело доверить клиенту?
Всё, что не касается денег, игровых достижений и т.п. То, что не нарушит общую логику.
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

Старый 26.07.2011, 13:24
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 13  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Сообщение от kackbip Посмотреть сообщение
Клиенту почти ничего доверять нельзя... Клиент должен только отображать ту реальность которую ему диктует сервер. Только отображать. Но все правила игры реализуются на сервере. Иначе обязательно найдется читер, который подменит клиент.
Ну и что с того? Да и фиг с этим читером. Зато сервер не будет перегружен лишней работой.

Цитата:
Что вы можете смело доверить клиенту?
Многое можно доверить. Пепермещение персонажей, столкновения, вообще всю физику, на сервере можно прозводить валидацию отправленных с клиента результатов, которые будут записаны в базу. Как это делать, каждый решает для себя сам.

Котяра, carrotoff +1.

Старый 26.07.2011, 13:41
suVrik вне форума Посмотреть профиль Отправить личное сообщение для suVrik Найти все сообщения от suVrik
  № 14  
Ответить с цитированием
suVrik
 
Аватар для suVrik

Регистрация: Nov 2009
Адрес: Минск
Сообщений: 45
Отправить сообщение для suVrik с помощью Skype™
Цитата:
И что? Это что-то даёт?
Это даёт игроков-читеров, которые могут испортить игру другим игрокам, что очень нехорошо.
Цитата:
Пепермещение персонажей, столкновения, вообще всю физику
Но ведь это плохо, когда по игровому миру сквозь стены бегает/летает игрок с невероятной для игры скоростью.

FYI: В крупных онлайн играх у сервера находится карта препятствий мира и все движения персонажей проверяются.
FYI2: Вот тема, в которой администраторы серверов игры Tales of pirates давно мучаются с проблемой дюпания предметов, быстрого перемещения по карте, наложение заклинаний на большом расстоянии и прочими недочётами разработчиков. А совсем недавно в базу данных серверов загоняли SQL иньекции, из за того, что одно из полей, заносимого в базу, не проверялось.


Последний раз редактировалось suVrik; 26.07.2011 в 13:57.
Старый 26.07.2011, 13:47
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 15  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Все выразили одну общую всем понятную мысль.

Сервер мог бы просчитывать физику для большого количества объектов. При условии грамотного разбиения на локации, сервер может заниматься всей логикой. Такой подход все таки безопаснее. Еще есть такая штука как двойной просчет - логика реализуется как на клиенте так и на сервере - на клиенте логика реализуется для того чтобы игра не превращалась в пошаговую стратегию в ожидании ответа или нотификации от сервера, но получая данные с сервера, клиент обязан принять состояние диктуемое сервером.


Последний раз редактировалось kackbip; 26.07.2011 в 13:54.
Старый 26.07.2011, 14:35
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 16  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Это даёт игроков-читеров, которые могут испортить игру другим игрокам, что очень нехорошо.
Процент таких игроков будет очень невелик. Зато если делать всю логику на сервере, количество игроков будет намного меньше, так как сервер просто не будет справляться. Лично для меня лучше большее количество игроков, чем беспокойство о каком-то небольшом количестве читеров.
Цитата:
Сервер мог бы просчитывать физику для большого количества объектов. При условии грамотного разбиения на локации, сервер может заниматься всей логикой.
+ добавь еще кучу этих локаций, и сервер ляжет. А если физика сложная? Допустим, хотя бы, 3000 экземпляров box2d мира (о 3д вообще не говорю). Запусти на своем компе хотя бы 1000, и посмотри как вся эта система будет жутко тормозить.
Не должен он заниматься не своим делом. Валидация части данных максимум.
Создание всей логике на сервере попахивает паранойей и манией преследования в одном флаконе

Старый 26.07.2011, 16:08
windrunner31 вне форума Посмотреть профиль Отправить личное сообщение для windrunner31 Найти все сообщения от windrunner31
  № 17  
Ответить с цитированием
windrunner31

Регистрация: Jul 2011
Сообщений: 169
Так,значит о безопастности можно благополучно забыть,если используется п2п система?Просто у меня нет средств для покупки нормального сервера,поэтому я использую п2п систему,все работает исправно,но раз вы все говорите,что главную часть данных должен обрабатывать сервер,то п2п мне не катит,верно?

Старый 26.07.2011, 16:16
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 18  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Если у вас нет сервера вообще - о чём речь тогда? Что такое передают клиенты друг-другу (p2p), что это можно и имеет смысл подделать?
Типа я сходил а2-а4 а оппоненту послал, что c2-c4? А смысл?
__________________
Отряд Котовскага

Старый 26.07.2011, 16:21
MXPain вне форума Посмотреть профиль Отправить личное сообщение для MXPain Найти все сообщения от MXPain
  № 19  
Ответить с цитированием
MXPain
 
Аватар для MXPain

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
кстати на secureSWF сейчас вроде 30% скидка

Старый 26.07.2011, 16:27
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 20  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Любая онлайн игра ломается, а уж флэш и подавно, там вообще не надо спец навыков.

Тут все говорят о расчетах на стороне сервера, но в реальной жизни картина другая. Если ты делаешь какого нить фермера, то - да, может там и проверяют, в какую грядку ты репку воткнул. А если это нормальное ММО, то там так не делают.

Очень много популярных ММО ковырял, где клиент устанавливать надо, и всем им наплевать на проверку данных. Я думаю либо там люди сидят которые на деньги работают, либо действительно чтобы серваки не забивать.

Так что все кто тут пишут любо фермеров делают, либо проэкты не сильно популярные. Единственный кто заботятся о безопасности это всем известный WOW, и те кто использует GGClient, вот там да.

Так что с п2п о безопасности забудь.

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:28.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.