Hello everyone,
It has been half a year since we joined Rockstar Games, and we have been spending that time hard at work in our new home within the Rockstar Games team, sharing knowledge, improving our processes and much more.
In this Pulse, we’ll go over how our development methods have changed throughout those six months, including our plans to expand the team with new hires. Most importantly, we’ll provide updates and insight into what the team has been working on, while also addressing some of the feedback we have been receiving from the community.
Community Feedback
RedM and FiveM both have vibrant communities, and we wouldn’t be part of Rockstar Games today without the dedication from so many server owners, developers, volunteers, creators and players.
As we have settled in here at Rockstar Games, we admit we’ve been a little quieter lately than we’d like to be, and we will endeavor to use our various channels to communicate more frequently as we move forward. Interacting with our community remains one of our most important goals, and we constantly explore ideas on how to communicate the status of our projects, highlight any major milestones and give our contributors credit where credit is due.
Support Improvements
We are welcoming new support agents to help us clear tickets more efficiently, and more improvements are coming to provide a better experience when reaching out for support.
Another area of focus is our support articles: we are now ensuring changes made by our engineering teams are correctly reflected in new or existing articles. We are also creating new articles on frequent support questions and issues.
We are also working on implementing self-service processes for common actions on your FiveM account.
Protecting Our Community
Providing a positive and safe experience for all players continues to be a top priority for us. In the past six months, we have taken action against more infringing servers than in all previous years combined, and we continue to ramp up our efforts to weed out bad actors on a regular basis. We have also been allocating resources towards proactive monitoring, and we are starting to work on the tooling we need to make platform compliance more efficient for our team members.
Development
To plan collaboration as efficiently as possible, one of the first people we hired was a talented producer who helped our teams start their first sprints in January, which significantly improved our predictability and planning of future tasks.
We have also hired and will continue hiring more engineers to work on our products; our open positions are always evolving, so keep an eye out! You can check the complete list of Rockstar Games openings on our Careers website.
Our currently open positions are:
Server security fixes
We have been working on fixing more security issues inside the Cfx.re Platform Server:
- We fixed a crash occurring when a maliciously crafted request was sent to the server (Thanks to Cyberfilters for the report)
- Rate limiting has been added for state bags to counter the abuse of large state bag payloads (Thanks to @AvarianKnight)
RedM
Red Dead Redemption 2 received a minor game stability and performance patch (1491.18) on January 31st. We have updated RedM to support this patch, and it has been successfully deployed to production.
RedM also got its native declarations updated, meaning you can call native functions by name directly instead of invoking them:
-- _CLEAR_PED_COMBAT_STYLE
Citizen.InvokeNative(0x78815FC52832B690, ped, 1)
-- But now, it can be called this way in your scripts:
ClearPedCombatStyle(ped, 1)
Note for our C# users: only MonoV2 will be receiving the updated native declarations. Beware that MonoV2 is still not considered ready for production use. For more information, please visit our dedicated Github Repository.
Finally, we are working on publishing a native reference website and repository for RedM which are our first steps towards providing better documentation for developers.
Anticheat Updates
Our anticheat team has been very active, as usual!
We recently deployed large ban-waves against multiple cheat vendors and our efforts won’t stop there. Several changes have also been made to our ban evasion prevention system to make it more accurate.
We have also created a support article providing some steps to follow if you’re experiencing the “Game integrity check failed” error while playing FiveM or RedM.
If you come across any undetected cheating software made for our games, please report it through our support platform.
Web services
Keymaster now has a warning when you receive a grant transfer from an asset purchased less than 14 days ago. We made an article on our support website to provide more details on why you may want to be careful before accepting it.
Our developers also worked on a variety of bug fixes, tweaks and even some refactors across a large number of our services. Most are not visible to our end-users, but they ensure our services can remain operational & performant.
Game development updates
- Fixed the artificial lights state crash caused by vehicles that use
CCustomShaderEffectStandardVehicle
. - Fixed a crash with asynchronous audio in RedM (Thanks to @Nikez, @z3t4s, and okqut).
- Fixed resources not unloading on network kill, such as during switching to story mode.
- Thanks to packfile for making efforts in researching ped and player appearance data nodes.
- The draw graphics natives for RedM have been reworked, this fixes flickering and matches the behavior like in GTA 5.
- Changed the cursor capture when the game is paused (Thanks to @nta)
- Fixed not allowing the crew name to be set.
- The camera shake toggle console variable has been reworked, fixing it for b3095.
- Add max size checks to the client endpoint, this counters for an attack that could result in a server crash.
- Add max packet size checks to the server (Thanks to @AvarianKnight).
- The Chromium shipped with FiveM and RedM has been updated to fix a vulnerability in a package from a vendor.
- Added
OVERRIDE_PEDS_USE_DEFAULT_DRIVE_BY_CLIPSET
to allow bypassing the game preventing the use of overridden drive-by clipsets in certain scenarios. - Added
GET_WORLD_COORD_FROM_SCREEN_COORD
for RedM - Fixed a game memory leak related to dropping weapons.
- The resource name has been added to NUI callbacks to allow for extra security checks in resources.
- The default chat resource has been updated to no longer allow command execution from any other origin than it’s own.
- The ‘Early-exit trap’ error message has been changed to a more friendly error message.
- Fixed an issue with some flags not being reset after disconnection.
- Add function to allow to configure the max listeners count for the JavaScript ScRT (Thanks to joelwurtz).
- Fixed failed-jupiter-spring and dakota-thirteen-december crashes.
- Fixed an issue with corrupted game cache downloads.
Git Changelog
Disquse (15):
[
b1ce618f0
]
feat(rdr3): upgrade build 1491 to 1491.18 (31-01-2024)[
1a3a6d24e
]
tweak(gamestate/server): addmsgNetGameEvent
packet size checks[
537f43424
]
feat(extra-natives/rdr3): add GET_WORLD_COORD_FROM_SCREEN_COORD[
56e46cb6e
]
fix(native-decls): fix link inGetWeaponAnimationOverride
[
f105179a9
]
feat(extra-natives/five): drive-by clipset fallback bypass native[
0a0f0b465
]
tweak(core/five): remove weapon object skeleton on weapon drop[
00e7ded7a
]
feat(native-decls): addOVERRIDE_PEDS_USE_DEFAULT_DRIVE_BY_CLIPSET
[
8ca2ea1d9
]
feat(ext/natives): add typedefs for RDR3[
92d3e5192
]
tweak(vendor): update native-doc-tooling[
3fd4e6414
]
tweak(extra-natives): improverage::grcViewport
struct[
70d91a020
]
fix(extra-natives/rdr3): use world view matrix inUnproject
function[
62a596047
]
fix(extra-natives/five): reset “can stand on vehicles” flag and map[
16a085ecf
]
tweak(extra-natives/five): usegetAndCheckVehicle
to avoid code duplication[
b3c01f12a
]
tweak(core/five): don’t remove skeleton from weapons with components[
536b7f9d1
]
tweak(ext/natives): add decl forSET_TEXT_FONT_FOR_CURRENT_COMMAND
Gottfried (1):
[
863f27348
]
tweak(ros): failed-jupiter-spring handling
Joel Wurtz (1):
[
a4ab49f4a
]
feat(scripting/v8): allow to set the max listeners count for event and raw event
LWSS (1):
[
7477ed02c
]
tweak(build): Use Boost submodules instead of requiring builders to download+extract a full boost.zip somewhere.
blattersturm (4):
[
52e4e6a85
]
fix(steam): steamname.txt overrides as UTF-8[
1b0320ea7
]
fix(steam): race condition leading to duplicate SteamChild[
3683eaf55
]
tweak(vendor): update utfcpp to v4.0.4[
902066930
]
fix(steam): truncate presence to a valid UTF-8 sequence
jakub (4):
[
a400337a5
]
tweak(nui/resources): respect CORS header values from raw NUI callbacks[
d56266ae8
]
tweak(server): less cumbersome version checking for startup notices[
39bc7d546
]
fix(server): sanitize structured trace utf8 input[
f617f8f31
]
fix(server): fix startup notice processor linux build
neptunium (1):
[
069201621
]
tweak(minidump): less vague ‘Early-exit trap’ message in some cases
nihonium (4):
[
b6cc153df
]
tweak(client/launcher): don’t launch on Windows 8[
e538b6da8
]
tweak(vendor/cef): update CEF release[
1ec451a9b
]
tweak(ext/system-resources): improve artifact-based system resources handling[
c50f48c9a
]
tweak(client/launcher): check file size for downloadable game cache entries
thorium (11):
[
d31bc533e
]
fix(github): PR labeling permission[
e62f1a15b
]
tweak(nui): add resource name to raw NUI callbacks[
9348495e0
]
tweak(resources/chat): disallow commands/events for non-resources[
d166ede5d
]
feat(natives/redm): build and enable RedM natives[
2fade99ee
]
tweak(resources/chat): allow overriding of chat’s new security policy[
55248f0ac
]
fix(native-doc-gen): download node from our own servers[
eb1e6d855
]
fix(system-resources/chat): disable security check by default[
f1c013cd8
]
fix(rage-formats-x): correct integer width checks[
2b9077019
]
fix(natives/compatgen): result ‘conversion’ to default and null[
e7c77d34b
]
feat(github): enable PR CI Linux server builds[
3a941247e
]
tweak(github): run checks on PRs that won’t be compiled
Developer documentation
One of our goals for the near term is to improve our documentation across the board so that developers have ready access to the information they need. To ensure the documentation is the best it could be, we will shortly be distributing a survey soliciting your feedback on how you use our documentation website. We encourage you all to contribute and help us make the best website possible.
Natives updates
We’d like to give our thanks to community members who have been contributing with updates to various natives: @Whoeza, @AvarianKnight, @freedy69, @Scaarus, @ahcenezdh, @azutake, @smoke1974 & @tofudeadeye
Demonstration resources
We finalised and are now reviewing our first demonstration resources to help new developers test out their skills with some basic game modes. The first one is a Capture The Flag game mode, and the second one is a Team Death-Match game mode. You will be able to find them in an upcoming Github repository as well as on our documentation website.
Infrastructure
Earlier this year, a small number of users with Gmail accounts may not have been receiving our emails after changes to Google’s email authentication process to combat spam. We have since changed our email process to match the new system so that users receive our emails on time.
We have also been improving the testing capabilities for our platform developers, adding several updates and security improvements to our forums. We are also happy to share that our recent improvements to platform stability are paying off, and our infrastructure has been capable of handling rapidly expanding community without any hiccups!
And that’s all, see you next time!