|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.09.2010, 17:45 | #1 |
Регистрация: 18.09.2010
Сообщений: 6
|
онлайновые игры
Приветствую тебя, нечаянно зашедший в эту тему. Оо
Собственно для чего создалась тема - я пытаюсь выяснить принцип, последовательность действий, предпосылки, зацепки и намеки выявления багов в онлайновых играх. Заранее прошу прощения, если где то в недрах данного форума, подобная тема есть. Началось все с того, что как то пробегаясь по торговой площади, одной из самых популярных онлайновых игр, я увидел сообщение в приват о продаже игровой валюты ( деньги, вещи и т.д. ) В голову сразу пришла мысль, что их хранилища набивались, отнюдь, не руками, а дюпом на баге. В принципе молодцы, зарабатывают на знаниях. Мне же стало интересно другое ( нет нет не игровое господство или сторонний заработок), а принцип поиска этих самых багов, так как увлекаюсь подобным направлением мозговой деятельности ( что то типа философии - люблю знать принцип на котором построен какое либо явление с которым я, непосредственно, пересекаюсь). В програмировании я абсолютный ноль. Но все же склоняюь к тому, что со определенными знаниями в этой области, можно прикидывать причину появления бага. Собственно этим и прошу поделиться. А лучше кинуть ссылочку на гайдик, но это уже на ваше усмотрение. |
19.09.2010, 00:07 | #2 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Процветание торговли игровыми ресурсами - ошибка исключительно разработчиков.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
19.09.2010, 09:45 | #3 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 197
|
Причина появления дюпов - рассинхра информации в киенте и на сервере.
До определённого момента разработчики доверяли клиентам, и некоторые значения хранились в памяти клиента, и передавались на сервер (а не как сейчас, только на сервере, в клиент передаётся для визуального отображения, менять бессмысленно). Отсюда исходило, что память можно изменить, а клиент передаст это значение с очередным пакетом\датаграммой. Собственно так и появлялись дюпы, хотя сейча свсе пользуются снифферами с возможностью редактирования пакетов, а не редакторами памяти. |
19.09.2010, 14:07 | #4 |
Регистрация: 18.09.2010
Сообщений: 6
|
Ну т е в основном дюпают или подменой пакетов или повисанием сервера. Это, впринципе понятно, а вот выявление багов? Каким образом его можно выявить, если не надеяться на случайность, ну или какие намеки могут быть у багов, как они себя палят?
|
19.09.2010, 16:44 | #5 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Палят через наблюдение, и на оперативных оповещениях, так же как и с антивирусными системами, ...пользователь присылает кусок кода в центр анализа, для получения сигнатур и методов борьбы с вредоносными программами. Иногда по слухам, по описаниям в сети, после которых только начинают шевелиться разработчики on-line игр. Самая правильная система - лог событий, интеллектуальный анализ, блокировка операций с ресурсами, до выяснения обстоятельств, ...разработчики среднего уровня останавливаются на простой системе "кто вошел, кто вышел, IP-адреса, бакап", все! Серьезные разработчики используют протокол TCP/IP, за счет которого держат на "коротком поводке" всех пользователей, не допускают никаких вычислений на стороне клиента, вся игра с ее многомерными изменениями происходит на сервере, а клиент получает только проекцию во времени в графическом виде. В приложении клиента допускается производить только простейшие вычисления, которые нужны только для правильного отображения графики и данных, не позволяющий получить управление сервером. Рассинхронизировать такую систему невозможно, у нее нет частей, она вся целиком на сервере, ...а что там отображается у клиента им же подправленное совершенно не важно, следующий фрейм исправит все как должно быть. Ввести в заблуждение сервер неверным пакетом не позволит система проверки подлинности пакета, любое нарушение поведет за собой запись пользователя в лог и его немедленное отключение. Вспоминаем, на подключение по TCP/IP требуется время, масса плюсов, минусы в кривых руках разработчиков.
Если вы интересуетесь как начинающий разработчик, все выше описано, ...если как пользователь, который хочет по симптомам отыскать баг, то я вам искренне сочувствую, как игроку.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 19.09.2010 в 16:49. |
19.09.2010, 18:51 | #6 |
Регистрация: 18.09.2010
Сообщений: 6
|
Всего навсего, есть знакомые в ГМ сайде одной из игр, который попросил по мере возможности отлавливать баги и сообщать о них. Ничего преступного или мега нереального. Много воды.
|
19.09.2010, 21:44 | #7 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Этот знакомый должен лучше знать, где у него баг, систему он должен знать досконально, все утечки там видны сразу, если подумать, ...визуальные баги - вот это можно ему подсказывать, ...если он понимает, где управление сервером передается клиенту, то должен уже пересмотреть систему игрового протокола.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
20.09.2010, 19:50 | #8 |
Регистрация: 18.09.2010
Сообщений: 6
|
Обычно после ввода аддонов, обновлений и новых эпизодов с внушительным содержанием нового контента, отследить все и вся, достаточно, проблематично. Хоть ты Билл Г. Но хватит о неглавном. Полемика не нужна. Нет, дак нет
|
21.09.2010, 17:31 | #9 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
В этом разделе полемик не допускаю, все в рамках дружественного диалога, с полным уважением к собеседнику.
Вы хотите сказать, если разработчик выпустил много аддонов и с их внедрением потерял контроль над сервером, то это не его вена? ...стечение обстоятельств? ...заложник неизбежности? ...ну, это глупости, которые приходят в голову от недостатка знаний. Или нужно четко сказать: "вот тут при тыканьи в это место идет задержка, смотрим инвентарь, быстренько швыряем и подбираем предметы, может произойти дублирование, чего и добиваемся" ? ...оно? ...от чего так происходит? ...разработчик просто напросто передал полномочие фиксировать предметы в инвентаре клиенту, и именно он решает, поднят предмет или нет, вместо того чтобы организовать запрос с клиента о "просьбе" поднять предмет, и только после проверки сервером, есть ли такой предмет перед пользователем, отправить подтверждение, что предмет поднят, и вот так он выглядит и вот такие у него параметры и лежит он во в этой ячейке, ...весьма просто, не так ли? Если разработчик хочет достичь определенной степени защиты своего ресурса, особенно, когда от этого ресурса зависит его благосостояние, он должен изучить такой предмет как "Защита информации", это очень важно. Простейшее четкое разделение полномочий между сервером и клиентом уже значительно повышает степень защиты от дюпов. Клиентское приложение не может управлять сервером, а лишь слать запрос что хочет клиент. В грубой форме вот так: Клиент: "Можно мне поднять предмет, лежащий тут?" Сервер: "Стоять! ...ты вот такой, стоишь тут, у тебя есть место в рюкзаке, предмет рядом вот такой, с параметрами такими, ...можешь взять! ... уже положил тебе в рюкзак." Клиент: "Принял пакет, ...вижу предмет". Вот в таком духе. Причем, серверу уже, извините, глубоко пофиг, ответил клиент или не ответил, получил или не получил пакет, вылетел из игры или не вылетел, но специально молчит, ...предмет на стороне сервера в рюкзаке этого пользователя, ...последующее подключение после сбоя или просмотр рюкзака пользователем вернет все на свои места. Клиент - проекция сервера, графическое отражение, не более того.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 21.09.2010 в 17:57. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Игры | Nazar1994 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 11.05.2011 16:23 |
Какими бы вы хотели видеть Онлайновые Игры | OrdJONY | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 18 | 02.01.2011 11:32 |
разработка игры "Реверси". Имеется код этой игры на С++ | CD-RW | Помощь студентам | 0 | 28.03.2010 00:13 |
Игры | wwwдмитрий | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 24.12.2007 12:28 |