Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Правила форума Чёрный рынок Реклама и привилегии Гаранты Арбитраж

Регистрация Бан-лист Сообщество ПОПУЛЯРНОЕ
Вернуться   RF-Cheats.ru - форум читеров и ботоводов > > > >

Статьи о Rising Force

: Статьи описывающие те или иные особенности, фишки игры RFO.
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр




Закрытая тема
 
Опции темы
Старый 26.03.2008, 09:15   #1
Sauron
Супер-модератор
Аватар для Sauron
OFFLINE
Регистрация: 10.04.2007
Сообщений: 72
Благодарностей:
164 всего
Мнения: + 934
Репутация: 1091

Как именно работает клиент и сервер игры (для новичков)


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

Все действия в игре происходят в 99% на сервере и только на нем, а клиент просто является графическим интерфейсом между сервером и игроком.

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

Вот, как пример, грубо приближенный 'диалог' сервера с клиентом:

('сервер клиенту:' - это посылается пакет клиенту от сервера)
('клиент серверу:' - это посылается пакет серверу от клиента)

сервер клиенту: в координатах x,z,y появился моб
сервер клиенту: это моб имеющий ID флема
(тут игрок увидел появившегося вдалеке флема и тычет на него мышой)
клиент серверу: я хочу его выделить (это последствие попытки игрока выделить моба)
сервер клиенту: да, моб достаточно близко и он выделябельный. вам разрешается его выделить.
(игрок видит, что цель выделилась и нажимает атаку)
клиент серверу: я хочу атаковать выделенного моба (реакция на попытку игрока атаковать)
сервер клиенту: атаковать запрещаю, так как ты далеко от моба, для этого типа атаки.
клиент серверу: ок, бегу к мобу
сервер клиенту: разрешаю.
(игрок видит что его чар побежал к мобу)
сервер клиенту: ты передвинулся. Теперь ты в координатах рядом с мобом.
(игрок видит, что он прибежал к мобу)
...
...
клиент серверу: я хочу атаковать выделенного моба
сервер клиенту: разрешаю, вы нанесли ему 100 урона.
(здесь и далее игрок видит присланные от сервера цифры урона)
клиент серверу: я опять атакую моба
сервер клиенту: разрешаю, вы нанесли ему еще 120 урона
сервер клиенту: а вот он вам ответил на 50 урона
сервер клиенту: у вас теперь здоровья меньше на 50
(здесь игрок видит как его здоровье уменьшилось)
клиент серверу: и опять я атакую моба
сервер клиенту: а вот фиг тебе, атаку запрещаю.
(здесь игрок увидел, что атака не прошла, урона не было)
сервер клиенту: так как моб умер.
(здесь игрок увидел, что моб упал и сдох)
сервер клиенту: ой, из него выпала шняга
(здесь повяляется дроп)
сервер клиенту: и еще одна шняга
(здесь повяляется еще дроп)
клиент серверу: я хочу поднять шнягу
сервер клиенту: разрешаю. Вы подняли шнягу.
(шняга упала к нам в инвентарь и изчезла с земли)
...
...
..
Дальше все в таком же духе.
Я привел пример очень грубо, без указания аргументов пакетов и какой либо конкретики вообще. (да и логику протокола немного покоробил)

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

Надеюсь, что теперь флуда и глупостей на форуме будет меньше. ;)


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

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


Последний раз редактировалось Sauron; 26.03.2008 в 09:26.

^_O
= WP661f = (15.10.09)

Злой и Жестокий критик и баголов. Вижу очень далеко, насквозь.

Быстрей наслаждайся иллюзией, пока кто нибудь не растоптал твои грезы.

На любой R0 драйвер найдется свой R0 драйвер.

Yoda не люблю я, дразнится под меня он.
 


Старый 20.04.2008, 15:10   #2
serg-wiz
Гость
Аватар для serg-wiz
Сообщений: n/a
Благодарностей:
0 всего

Спс. Вот только бы не плохо ещё написать (или ссылку дать), как работать с пакетами.

Вот нашёл про пакеты: https://www.rf-cheats.ru/forum/showthread.php?t=754

Последний раз редактировалось serg-wiz; 20.04.2008 в 15:37.
 
Старый 22.04.2008, 19:07   #3
Danzer
Нуб
Аватар для Danzer
OFFLINE
Регистрация: 16.04.2008
Сообщений: 0
Благодарностей:
0 всего
Мнения: + 93
Репутация: 1

Везде пишут алгоритмы ввода, где найти и как открыть ету самую консоль для правки файла?
 
Старый 22.04.2008, 19:37   #4
Няшкин
Постоялец
Аватар для Няшкин
OFFLINE
Регистрация: 18.07.2007
Сообщений: 143
Благодарностей:
514 всего
Мнения: + 1805
Репутация: 2156
Отправить сообщение для Няшкин с помощью Skype™

...
(пользователь с ником user входит в игру)
клиент серверу: я хочу войти в игру.
(пользователь с помощью чит программ меняет ник на admin)
сервер клиенту: разрешаю. Проверяю данные.
клиент серверу: отдаю данные.
сервер клиенту: У тебя был ник user!
клиент серверу: а мне пофиг у меня ник admin!
сервер клиенту: :( разрешаю вход.

...
(через некоторое время)
сервер клиенту: (Несоответствие данных)
(выкидывает из игры)
 
Старый 24.04.2008, 09:50   #5
Sauron
Супер-модератор
Аватар для Sauron
OFFLINE
Регистрация: 10.04.2007
Сообщений: 72
Благодарностей:
164 всего
Мнения: + 934
Репутация: 1091

Цитата:
Сообщение от WareZzz Посмотреть сообщение
...
(пользователь с ником user входит в игру)
клиент серверу: я хочу войти в игру.
(пользователь с помощью чит программ меняет ник на admin)
сервер клиенту: разрешаю. Проверяю данные.
клиент серверу: отдаю данные.
сервер клиенту: У тебя был ник user!
клиент серверу: а мне пофиг у меня ник admin!
сервер клиенту: :( разрешаю вход.

...
(через некоторое время)
сервер клиенту: (Несоответствие данных)
(выкидывает из игры)

Чушь полнейшая, ты не знаешь о чем говоришь.
Кстати, написать 'разрешаю' ПЕРЕД 'проверяю данные' это непростительная ошибка для человека, который замахнулся писать защиту для сервера (хаха как я тебя под$%6ал, но ты не серчай, я же жестокий)

Сервер сразу пошлет уже на второй строчке.
Сервер делает вывод на данных в своей базе, а не на том, что ему шлет клиент.
и главное - правильный (т.е. теоритически абсолютный (сверический в вакууме )) сервер это абсолютный ПАРАНОИК, которые не верит ничему.

Единственая беда серверов подобно RF - это разгильдяйство кодеров, что его написали.

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

Грубо говоря - Чтобы 'что то' _правильно_ сломать, надо изначально уметь это 'что то' построить. (выучите это и повторяйте как отче наш.)

Последний раз редактировалось Sauron; 24.04.2008 в 10:06.

^_O
= WP661f = (15.10.09)

Злой и Жестокий критик и баголов. Вижу очень далеко, насквозь.

Быстрей наслаждайся иллюзией, пока кто нибудь не растоптал твои грезы.

На любой R0 драйвер найдется свой R0 драйвер.

Yoda не люблю я, дразнится под меня он.
 
Старый 24.04.2008, 10:25   #6
Няшкин
Постоялец
Аватар для Няшкин
OFFLINE
Регистрация: 18.07.2007
Сообщений: 143
Благодарностей:
514 всего
Мнения: + 1805
Репутация: 2156
Отправить сообщение для Няшкин с помощью Skype™

Цитата:
Сообщение от Sauron Посмотреть сообщение

Чушь полнейшая, ты не знаешь о чем говоришь.
Кстати, написать 'разрешаю' ПЕРЕД 'проверяю данные' это непростительная ошибка для человека, который замахнулся писать защиту для сервера (хаха как я тебя под$%6ал, но ты не серчай, я же жестокий)

Сервер сразу пошлет уже на второй строчке.
Сервер делает вывод на данных в своей базе, а не на том, что ему шлет клиент.
и главное - правильный (т.е. теоритически абсолютный (сверический в вакууме )) сервер это абсолютный ПАРАНОИК, которые не верит ничему.

Единственая беда серверов подобно RF - это разгильдяйство кодеров, что его написали.

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

Грубо говоря - Чтобы 'что то' _правильно_ сломать, надо изначально уметь это 'что то' построить. (выучите это и повторяйте как отче наш.)
йа сервер на#%л =) ник был WareZzz
[img]http://img222.**************/img222/6826/gmjl2.th.jpg[/img]
 
Старый 25.04.2008, 04:16   #7
Sauron
Супер-модератор
Аватар для Sauron
OFFLINE
Регистрация: 10.04.2007
Сообщений: 72
Благодарностей:
164 всего
Мнения: + 934
Репутация: 1091

Цитата:
Сообщение от WareZzz Посмотреть сообщение
йа сервер на#%л =) ник был WareZzz
[img]http://img222.**************/img222/6826/gmjl2.th.jpg[/img]
Клиент ты нае6@л, а не сервер, такими глупостями занимаешься, ну право как ребенок.
Вместо пустой траты времени, лучше бы ты учился, чтобы хоть как то улучшить свою недозащиту.

^_O
= WP661f = (15.10.09)

Злой и Жестокий критик и баголов. Вижу очень далеко, насквозь.

Быстрей наслаждайся иллюзией, пока кто нибудь не растоптал твои грезы.

На любой R0 драйвер найдется свой R0 драйвер.

Yoda не люблю я, дразнится под меня он.
 
Старый 07.05.2008, 15:33   #8
bettatest
Постоялец
Аватар для bettatest
OFFLINE
Регистрация: 09.05.2007
Сообщений: 88
Благодарностей:
28 всего
Мнения: + 9
Репутация: 338
Отправить сообщение для bettatest с помощью ICQ

Наверное в этой теме будет уместен мой вопрос к Саурону.

Это набросок алгоритма РЕКОРДЕРА
1 выбираем персонажа "АКТЕР"(сид ид, пишем только его)
2 пишем в файл пакеты о действиях "АКТЕР"а, каждая запись 1 пакет с меткой таймера (с начала записи). т.е.
1;datatime1;s>packet"АКТЕР"1.
2;datatime2;s>packet"АКТЕР"2.
3 отмечаем начало и конец записи begin end

Переходим к проигрывателю, алг ПЛЭЙЕР:
1 Устанавливаем "ЗРИТЕЛЯ" в зрительный зал
2 Заправляем киноленту - открываем файл, который записали рекордером
3 Запускаем таймер
4 Считываем последовательно записи, сверяя временную метку
5 Если время пришло посылаем ЭНый пакет ЗРИТЕЛЮ.
---------------------------------
При просмотре меняем актеров подставляя понравившийся СИДИД

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

Интересно, а что это сейчас так БУМкнуло?
И где интересно мой воздушный шарик?
И откуда тут взялась эта зеленая тряпочка?
Ааааа!Аааааа!Аааааа!Ааааа!АААААААААААА!
::divan::
 
Старый 17.06.2008, 01:11   #9
Peres
Гость
Аватар для Peres
Сообщений: n/a
Благодарностей:
0 всего

Хм.. а тогда что овердамаг и спидхак?
ОД:
1кс - выделяю
2ск - разрешаю
3кс - применяю скил Х
4ск - (откат, мп, расстояние, тип и тд проверки) разрешаю
5ск - вы нанесли ХХ дмг
6ск - выделение пропало, цель убита
Если дмг считаеться на серваке, то как наноситься необходимый урон? оО
СХ:
кс - я нахожусь тут
ск - подтверждаю
кс - тыкаю мышкой туда
ск - (расстояние, активность, кликабельность) подтверждаю
ск - начато движение с вашей скоростью
кс - я уже тут
ск - Чаго? оО
Судя внешне, перс тыркаеться и дергаеться, значит на пункте "Чаго?" сервер принял положение клиента, а клиент не успел анимировать передвижение. Я прально понимаю? Если взять за то, что СХ дает не мгновенное перемещение, то в пакетиках идет поттасовка о данных скорости перемещения, тобишь какой-то фактор Ф? Или все вообще не так?
Вы уж звиняете за такие тупые вопросы, я просто нуб, но хочу хоть чуть-чуть вникнуть в тему )))
 
Старый 17.06.2008, 04:53   #10
Sauron
Супер-модератор
Аватар для Sauron
OFFLINE
Регистрация: 10.04.2007
Сообщений: 72
Благодарностей:
164 всего
Мнения: + 934
Репутация: 1091


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

На счет спидхака:
из за возможности лагов и запаздывания система премещения имеет большой гистерезис, и обманывая клиент мы в конечном счете посылаем серверу координату заведомо дальше чем следовало. Сервер думает, что был лаг и перс реально убежал так далеко и НЕ ПРОВЕРЯЯ реальной скорости и возможности перемещения продолжает движение уже из указанной точки. Т.е. проблема спидхака в РФ в проверке на стороне сервера.

На счет овердамага:
на сервере отсутствуют некоторые проверки на скорость атаки (ланчеры) и элементы атак (проверки на использование патронов)

Реализацию данных эксплойтов можно найти под хайдами на этом форуме.


Последний раз редактировалось Sauron; 17.06.2008 в 05:00.

^_O
= WP661f = (15.10.09)

Злой и Жестокий критик и баголов. Вижу очень далеко, насквозь.

Быстрей наслаждайся иллюзией, пока кто нибудь не растоптал твои грезы.

На любой R0 драйвер найдется свой R0 драйвер.

Yoda не люблю я, дразнится под меня он.
 
Закрытая тема



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

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

Быстрый переход

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр