Что значит фт машина в гта 5 рп

Обновлено: 14.05.2024


Мотоциклы

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

В мотосалоне можно купить любое транспортное средство этой категории. Начиная от велосипеда и заканчивая квадроциклами, тяжелыми байками или спортивными облегченными моделями. Цены начинаются от 2,5 тыс. $ и доходят до 250 тыс. $ + есть один люксовый байк за 5 миллионов.

Epic NPC Man - Подземелье и Драконы (Dungeons and Dragons)


Список машин в игре GTA 5 RP и их цены, классы и в каких салонах можно найти

В «ГТА» одна из самых больших коллекций транспортных средств во всей гейм-вселенной. И даже заядлые фанаты игры не в состоянии перечислить все, что когда-либо каталось по улицам Лос-Сантоса. Это изобилие дает массу возможностей: стать автосталкером и перепродавать редкие машины, собирать их коллекцию в своем гараже или открыть автосалон. В любом случае, нужно знать, какие машины есть в «GTA 5 RP» и что они собой представляют.

Как я сократил время загрузки GTA Online на 70%

GTA Online. Многопользовательская игра, печально известная медленной загрузкой. Недавно я вернулся, чтобы завершить несколько ограблений — и был потрясён, что она загружается настолько же медленно, как и в день своего выпуска, 7 лет назад.

Пришло время докопаться до сути.

Человек залез в "исходный код" игры, нашел криво работающую функцию и исправил ее, благодаря этому скорость загрузки возросла на 70%. Ссылки на dll для увеличения скорости в конце статьи.

Сначала я хотел проверить, вдруг кто-то уже решил проблему. Но нашёл только рассказы о великой сложности игры, из-за чего она так долго загружается, истории о том, что сетевая p2p-архитектура — мусор (хотя это не так), некоторые сложные способы загрузки в сюжетный режим, а потом в одиночную сессию, и ещё пару модов, чтобы скипнуть видео с логотипом R* во время загрузки. Ещё немного почитав форумы, я узнал, что можно сэкономить колоссальные 10-30 секунд, если использовать все эти способы вместе!

Тем временем на моём компе…

Загрузка сюжетного режима:

Без загрузочного меню, от логотипа R* до игрового процесса (без логина в Cоциальный Клуб.

Старый, но приличный проц: AMD FX-8350
Дешёвый SSD: KINGSTON SA400S37120G
Надо бы прикупить RAM: 2x Kingston 8192 MB (DDR3-1337) 99U5471
Нормальный GPU: NVIDIA GeForce GTX 1070

Я (не) одинок

Если доверять этому опросу, проблема достаточно широко распространена, чтобы слегка раздражать более 80% игроков. Прошло уже семь лет!

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Я немного поискал информацию о тех

20% счастливчиках, которые загружаются быстрее трёх минут, и нашёл несколько бенчмарков с топовыми игровыми ПК и временем загрузки онлайн-режима около двух минут. Я бы кого-нибудь убил хакнул за такой комп! Действительно похоже на железячную проблему, но что-то не складывается…

Почему у них сюжетный режим по-прежнему загружается около минуты? (кстати, при загрузке с M.2 NVMe не учитывались видео с логотипами). Кроме того, загрузка из сюжетного режима в онлайн занимает у них всего минуту, в то время как у меня около пяти. Я знаю, что их железо гораздо лучше, но не в пять же раз.

Высокоточные измерения

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

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Почти минута уходит на загрузку общих ресурсов, которые нужны и для сюжетного режима, и для онлайна (почти наравне с топовыми ПК), затем GTA в течение четырёх минут полностью нагружает одно ядро CPU, больше ничего не делая.

Использование диска? Нет! Использование сети? Есть немного, но через несколько секунд падает в основном до нуля (кроме загрузки вращающихся информационных баннеров). Использование GPU? Ноль. Память? Вообще ничего…

Что это, майнинг биткоинов или что-то такое? Чую здесь код. Очень плохой код.

Единственный поток

На моём старом процессоре AMD восемь ядер, и он ещё молодцом, но это старая модель. Его сделали ещё тогда, когда производительность одного потока у AMD была намного ниже, чем у Intel. Наверное, это главная причина таких различий во времени загрузки.

Что странно, так это способ использования CPU. Я ожидал огромное количество операций чтения с диска или массу сетевых запросов, чтобы организовать сеансы в сети p2p. Но такое? Вероятно, здесь какая-то ошибка.

Профилирование

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

Итак, добро пожаловать в образцы стека (stack sampling). Для приложений с закрытым исходным кодом есть только такой вариант. Сбросьте стек запущенного процесса и местоположение указателя текущей инструкции, чтобы построить дерево вызовов в заданные интервалы. Затем наложите их — и получите статистику о том, что происходит. Я знаю только один профилировщик, который может проделать это под Windows. И он не обновлялся уже более десяти лет. Это Люк Stackwalker! Кто-нибудь, пожалуйста, подарите Люку немножко любви :)

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Обычно Люк группировал бы одинаковые функции, но у меня нет отладочных символов, поэтому пришлось смотреть на соседние адреса, чтобы искать общие места. И что же мы видим? Не одно, а целых два узких места!

Вниз по кроличьей норе

Позаимствовав у моего друга совершенно законную копию стандартного дизассемблера (нет, я действительно не могу его себе позволить… когда-нибудь освою гидру), я пошёл разбирать GTA.

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

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

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

Проблема 1: это что… strlen?!

Дальнейший разбор дампа выявил один из адресов с некоей меткой strlen, которая откуда-то берётся! Спускаясь вниз по стеку вызовов, предыдущий адрес помечен как vscan_fn, и после этого метки заканчиваются, хотя я вполне уверен, что это sscanf.

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Он что-то парсит. Но что? Логический разбор займёт целую вечность, поэтому я решил сбросить некоторые образцы из запущенного процесса с помощью x64dbg. Через несколько шагов отладки выясняется, что это… JSON! Он парсит JSON. Колоссальные десять мегабайт JSON'а с записями 63 тыс. предметов.

.
"key": "WP_WCT_TINT_21_t2_v9_n2",
"price": 45000,
"statName": "CHAR_KIT_FM_PURCHASE20",
"storageType": "BITFIELD",
"bitShift": 7,
"bitSize": 1,
"category": ["CATEGORY_WEAPON_MOD"]
>,
.

Проясним некоторую путаницу: я полагаю, что это предметы, приобретаемые за игровые деньги, не связанные напрямую с микротранзакциями.

10 мегабайт? В принципе, не так уж и много. Хотя sscanf используется не самым оптимальным образом, но, конечно, это не так уж плохо? Что ж…

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Да, такая процедура займёт некоторое время… Честно говоря, я понятия не имел, что большинство реализаций sscanf вызывают strlen, поэтому не могу винить разработчика, который написал это. Я бы предположил, что он просто сканировал байт за байтом и мог остановиться на NULL.

Проблема 2: давайте использовать хэш-…массив?

Оказывается, второго преступника вызывают сразу за первым. Даже в одной и той же конструкции if, как видно из этой уродливой декомпиляции:

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Все метки мои, и я понятия не имею, как на самом деле называются функции/параметры.

Вторая проблема? Сразу после разбора элемента он хранится в массиве (или встроенном списке C++? не уверен). Каждая запись выглядит примерно так:

А перед сохранением? Он проверяет весь массив, сравнивая хэш каждого элемента, есть он в списке или нет. С 63 тыс. записей это примерно (n^2+n)/2 = (63000^2+63000)/2 = 1984531500, если я не ошибаюсь в расчётах. И это в основном бесполезные проверки. У вас есть уникальные хэши, почему не использовать хэш-таблицу.

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Во время реверс-инжиниринга я назвал его hashmap, но это явно не_hashmap. И дальше ещё интереснее. Этот хэш-массив-список пуст перед загрузкой JSON. И все элементы в JSON уникальны! Им даже не нужно проверять, есть они в списке или нет! У них даже есть функция прямой вставки элементов! Просто используйте её! Серьёзно, ну ребята, что за фигня!?

Доказательство концепции

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

План такой. 1. Написать .dll, 2. внедрить её в GTA, 3. зацепить некоторые функции, 4. . 5. профит. Всё предельно просто.

Проблема с JSON нетривиальная, я не могу реально заменить их парсер. Более реалистичным кажется заменить sscanf на тот, который не зависит от strlen. Но есть ещё более простой способ.

* подождать длинной строки

* если поступит ещё вызов в пределах диапазона строки, вернуть закэшированное значение

Что-то вроде такого:

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

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

Как я сократил время загрузки GTA Online на 70% GTA 5, GTA Online, Benchmark, Расследование, Детектив, Реверс-Инжиниринг, Длиннопост

Полный исходный код PoC здесь.

Ну и как оно работает?

Прежнее время загрузки онлайн-режима: около 6м
Время с патчем проверки дубликатов: 4м 30с
Время с парсером JSON: 2м 50с
Время с двумя патчами вместе: 1м 50с

(6*60 - (1*60+50)) / (6*60) = 69.4% улучшение времени (класс!)

Да, чёрт возьми, получилось! :))

Скорее всего, это не решит всех проблем с загрузкой — в разных системах могут быть и другие узкие места, но это такая зияющая дыра, что я понятия не имею, как R* пропустила её за все эти годы.

Краткое содержание

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

Оказалось, GTA изо всех сил пытается распарсить 10-мегабайтный файл JSON

Сам парсер JSON плохо сделан/наивен и

После парсинга происходит медленная процедура удаления дублей

R*, пожалуйста, исправьте

Если информация каким-то образом дойдёт до инженеров Rockstar, то проблему можно решить в течение нескольких часов силами одного разработчика. Пожалуйста, ребята, сделайте что-нибудь с этим :<

Вы можете либо перейти на хэш-таблицу для удаления дублей, либо полностью пропустить дедупликацию при запуске как быстрое исправление. Для парсера JSON — просто замените библиотеку на более производительную. Не думаю, что есть более простой вариант.

* Получил подтверждение от R*, что это скоро исправится

* Только что получил награду в размере $10k через их внутриигровую награду H1 в качестве исключения :)) (обычно это делается, только по вопросам безопасности)

* Пытаюсь понять, что такое W8 (от ред. это форма налоговой службы США) и как его заполнить (лол)

* Я сделаю еще один тест, как только обновление выйдет, надеюсь их инженеры не разочаруют :)

Автомобили «Эконом»

В «ГТА 5 РП», как и в жизни, авто делятся на классы, и возможность обзавестись колесами была у каждого игрока, независимо от бюджета. Чтобы просмотреть все автомобили определенного класса, нужно прийти в автосалон.

машина на мосту

В игре 4 организации по продаже авто:

  1. На пересечении Сторберри и Дэвис Авеню.
  2. На Палетто Бэй.
  3. В международном аэропорту Лос-Сантос.
  4. И на канале Веспуччи или Паломино-авеню.

Не ждите от авто эконом-класса какой-то фантастики. Это просто транспорт, который доставит вашу тушку из пункта «А» в пункт «В» без изысков. Для скоростных миссий, погонь, бегства от копов они не подойдут.

В этой группе есть настоящие автодинозавры из 50-60 гг.: Tornado, Hermes, Fagaloa, Dynasty, Clique. Они неповоротливы, тяжелы и стоят от 7 до 20 тыс. $. Если такое старье не подходит, то можно приобрести что-то вроде Glendale или Nebula. Более привычный глазу классический вид американского авто из 80-х. Вместительный багажник и скорость до 150 км/ч. Цена выше – до 35 тыс. $.

машина ретро

Найдутся в «экономе» даже массивные внедорожники. Характерный представитель этих авто — Rebel. Большой и тяжелый, зато имеет кузов на 40 единиц, внушительные колеса и едет не так уж медленно — 130-150 км/ч. «Ребел» позволит если уж не убежать от погони, то задавить врагов массой. Цена этого «жеребца» — 49 тыс. $.

В «экономе» найдутся и спорткары, и маслкары, и седаны, даже пара малолитражек и старенький пикап. А еще секретное авто — Cheburek, клон русского «ВАЗ2106». Правда, стоит как самолет, но чего не сделаешь ради удовольствия ездить в любимой игре на русской машине. Кстати, если вы надумали купить автосалон, а на оригинальном сервере все раскуплено, и мест нет, то воспользуйтесь Рейдж Multiplayer.

парковка жигули

Ответ на пост «Как я сократил время загрузки GTA Online на 70%»

Rockstar Games подтвердила PC Gamer, что фанатское решение проблемы долгого времени загрузки GTA Online станет официальным в грядущем обновлении.

В начале марта пользователь Github tostercx, также известный как t0st, заявил, что он обнаружил способ сократить время загрузки GTA Online до 70 процентов. Кроме того, он также выпустил исправление.

Rockstar подтвердила, что выводы tostercx были верными и что исправление уже в пути.

Последнее обновление для GTA Online вышло на всех основных платформах. На PlayStation обновление весит 700 МБ, на Xbox – 1 ГБ и на ПК – 400 МБ.

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


Автомобили «Люкс»

В салонах люкс-класса в игре представлены авто, которые стоят как ВИП-квартира, способны дать прикурить копам в плане скорости, сводят с ума в тюнинге даже человека, далекого от автомира, и, наконец, демонстрируют величину банковского счета владельца. Уникальные ультрасовременные гоночные болиды и спорткары: Bullet, Reaper, Taipan, Furia, Emerus. Стоимость машин начинается от 900 тыс. $ и доходит аж до 10 млн. Цены на авто варьируются, но, в целом, модели, достойные внимания, держат планку около 2 миллионов.

Чтобы ездить на такой «пташке», придется ограбить банк в игре или завалить босса конкурирующей банды. Зато почет, уважение и престиж обладателю класса люксового авто обеспечены автоматом.

огненная машина

Автомобили «Премиум»

Это самый широкий класс авто, которые, в основном, рассекают по дорогам. В автосалоне можно выбрать из 75 моделей. Тип «седан» в разной комплектации составляет 60 %. Для поклонников стильных спорткаров: Massacro, FuroreGT, Revolter, Surano, Penumbra. Скорость – до 190 км/ч, разбег до сотки – за 3-5 секунд, салон-купе, даже багажник на 15 единиц. Цена авто – от 300 до 600 тыс. $.

большой джип

GTA 5 RP: что это и где скачать бесплатно на ПК

Ролевые игры – один из столпов гейминга, который за несколько десятков лет эволюционировал во множество поджанров и подарил миру кучу крутых игр (чего только стоят Ведьмак и Скайрим).

Серия игр GTA, безусловно, крутой проект, но «из коробки» возможностей для рп не так много. Да, в GTA San Andreas была возможность ходить в качалку (или наоборот обжираться фастфудом), но по умолчанию игра с открытым миром была без нормального мультиплеера и расширенной поддержки ролплеинга. Именно в эпоху ГТА Сан Андреас и зародились РП-сервера, и РП в ГТА 5 – продолжение этого тренда.

Да, можно пройти сюжетку пятой ГТА, влюбиться в мир игры и перейти в ГТА Онлайн, но как бы не старались разработчики Rockstar, все ограбления и миссии не способны заменить ролевую игру. Чем и пользуется сообщество.


Автомобили «Комфорт»

Как такового, класса «Комфорт» в игре нет, но можно выделить отдельные модели, которые слишком уж хороши для эконома, но до премиума пока не дотягивают.

  1. Достойный внешний вид и современный дизайн корпуса сочетаются с лояльной ценой — 42500 $. Низкопрофильные шины и многоспицевые диски скроют классовую принадлежность авто. А формат купе добавил оригинальности и укоротил машину.
  2. Грозная, агрессивная передняя часть с характерным «нахмуром» претендует на «премиум», но, увы — это только комфорт, ведь стоит 70 тыс. $. Тачка для тех, кто очень хочет, но пока не может прыгнуть выше головы.
  3. Брат-близнец американского Hummer. Авто берет размером и славой прототипа. Некоторые отдают ему предпочтение даже когда есть вариант взять что-то выше уровнем. Ведь за 175 тыс. $ вы получите железного монстра.

джип хамерр

Rockstar реализует наработки пользователя в GTA Online по улучшению времени загрузки

В начале марта пользователь сервиса Github с ником tostercx, также известный как t0st, заявил о способе значительного сокращения времени загрузки GTA Online до 70 процентов. Кроме того, tostercx с единомышленниками выпустили неофициальный патч для версии GTA Online 2215/1.53, в котором исправили две ошибки игры и собственно сократили время загрузки систем.

Rockstar реализует наработки пользователя в GTA Online по улучшению времени загрузки Rockstar, GTA, GTA 5, GTA Online, Баг, Патч


VDM, объяснение в ролевой игре GTA Online

В GTA Online игроки могут играть как медицинский работник, полицейский, бизнесмен, владелец магазина или персонаж из любой сферы жизни. Ролевая игра в GTA Online сильно отличается от обычной GTA Online, и существуют другие правила работы игры.

На серверах обычно есть администраторы, которые модерируют действия игроков и смотрят, не создает ли кто-нибудь хаос. Эти администраторы имеют право временно и навсегда заблокировать игроков. Убийство игроков без причины в ролевой игре GTA Online является преступлением, и игроки, пойманные на этом, будут исключены из игры.

Когда игрок совершает VDM, игрок въехал на своей машине в другого игрока и убил его. Использование транспортного средства для убийства другого игрока называется VDM, и такое нарушение обычно наказывается баном игрока. Хотя это правило не является основным продуктом для каждого сервера ролевой игры GTA Online, оно является одним из самых популярных в реальных режимах RP.

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

Что такое ГТА РП

Это сервер на котором действуют определенные правила: на ролевом сервере у каждого есть своя роль, обязнности, карьерный рост и другие привычные атрибуты MMORPG, просто облеченные в оболочку ГТА 5 и из-за этого максимально приближенные к жизни.

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


GTA 5 RP / Система автомобилей и тюнинга

Но нет, на Cosmo RP система транспорта очень сложна и продумана с точки зрения сервера, но не с точки зрения игрока.

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

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

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

С любовью, Лариса.

Дубликаты не найдены


GTA 5 RP

3 поста 13 подписчиков

Лариса, а ты этот аккаунт пика купила или украла ?

Все нормально, у нее просто нет своего аккаунта)


Как работает ГТА РП? Нужно ли покупать GTA 5?

ГТА РП – отдельный лаунчер, который работает на базе лицензионной версии GTA. У каждого проекта свой процесс регистрации, персонажи, фишки (хотя большая часть плюс-минус везде одинаковая) и модель монетизации.

Кстати про монетизацию. ГТА РП качается бесплатно, но во время игры на сервере вы можете столкнуться с ситуацией, когда прогресс будет занимать слишком много времени, но процесс можно ускорить, потратив немного (или много) денег. Точная сумма зависит от ваших хотелок и политики администрации.


Итак, перейдем непосредственно к скачке лаунчера ГТА 5 РП на ПК. Стоит понимать, что таких проектов в сети много, и регулярно появляются новые. Вот список самых крупных:

Стоит понимать, что в списке перечислены мейнстримные сервера для ГТА 5 РП. Если вы хардкорный игрок в такой режим, то вряд ли вас это заинтересует и лучше смотреть в сторону закрытых проектов, куда участников набирают волнами и проводят жесткий отбор.

Читайте также: