Community Pulse - April 2024

Hi everyone, we are back with another Pulse!

As we continue to evolve the Community Pulse to better serve the needs of the community, we are officially changing the format and timing so that each Pulse will now serve as a look back on what has been done over the entire previous month, and will be purposely released regularly at the beginning of the following month. We’ll continue to work on improving the Pulse and please keep the feedback coming. Now, let’s get onto this month’s topics!


New Community Guidelines

As you may have seen, earlier this month Rockstar Games published a new set of Community Guidelines to help ensure players have a positive experience across all online titles. Together with the Rockstar Games Terms of Service, these documents provide the guiding principles for the types of behaviors and actions that are encouraged, and those that are not allowed inside all Rockstar titles.

Please note that these guidelines also apply to the play experiences inside FiveM and RedM servers. We encourage everyone to check these guidelines out and help ensure that players have a positive experience wherever they are playing!


Featured Servers

Starting this month, we are rotating the homepage featured server slot of the FiveM client. Each month, a new server will be showcased on our game client and will be featured in the Community Pulse.

This is a first step towards revisiting the way we curate and spotlight content on our platform, while we are exploring other ways to underline what the community has been up to. Stay tuned!


Server of the Month

In May, our featured server is Transport Tycoon!

Transport Tycoon is a server oriented around transporting goods and building yourself up to the status of a multi-millionaire. Transport Tycoon has been with the FiveM community for a while, as it was one of the first pinned servers on the platform.

Website: tycoon.community
Play on the server: cfx.re/join/2epova
Join their Discord server: discord.gg/tycoon


Development

This month, we have been working on a lot of maintenance tasks for our main repository, from auditing our code to writing tests and making sure our dependencies are up-to-date.

We are now preventing game clients from connecting to servers with FXServer build older than 29/04/2021 when using the connect client console command.

Some creators reported assets downloaded from Keymaster were being falsely flagged by Windows Defender for containing a trojan; we are actively working with Microsoft to get this resolved.

Some notable changes:

  • Add new startNetworkSyncedSceneEvent event to cancel synchronized scenes.
  • Remove leftover single player and build 372 code.
  • Remove mention of gameconfig.xml in RedM pool errors.
  • Disable C# key mapping functions on RedM (Thanks to @AvarianKnight).
  • A new NuiCallback attribute has been added to C# (Thanks to @AvarianKnight).
  • Add additional checks to our out of band protocol.
  • The message provided in the quit command is now prefixed with “Quit: ”.
  • The confusing sv_disableClientReplays server variable no longer shows in the server view.
  • Improved the handling of the server message event.
  • Improved the RCON message handler to improve server performance.
  • Improved the performance of server packet handling.
  • Improved the consistency of syncing tattoos to other players.
  • Improved Discord authentication when running multiple clients.
  • Fixed an issue with cursor lock not always working.
  • Fixed a crash caused by passing an invalid color index to REPLACE_HUD_COLOUR.
  • Fixed an issue with the C# scheduler not requesting a call-in.
Git Shortlog

Dillon Skaggs (2):

  • [4839e2dcd] fix(mono-v2): disallow KeyMap to be used on RedM
  • [b29e70d29] feat(mono-rt2): add NuiCallback attribute

Disquse (6):

  • [ccb9a81e2] feat(gamestate/server): add network synced scenes events
  • [c88fcd169] tweak(five): remove leftover CfxIsSinglePlayer calls
  • [8580541ed] tweak(five): remove leftover b372 code
  • [5358a5743] tweak(core/rdr3): don’t mention gameconfig in pool errors
  • [b6a9df87e] tweak(five): move player sync no phone fix
  • [5d454a136] tweak(net/rdr3): hide scenario crash workaround logs in release builds

Fabian Terhorst (50):

  • [661a8b8e3] fix(tests): linux linking
  • [80cb438c1] feat(tests): add se::Principal tests
  • [3ae9a5756] tweak(tests/principal): add object parents tests
  • [c17807363] tweak(vendor/lz4): bump lz4 version from 1.9.3 to 1.9.4
  • [6e65085dc] tweak(vendor/yojimbo): remove yojimbo
  • [7fce3ba18] tweak(vendor/slikenet): remove slikenet
  • [2a9f229a7] tweak(vendor/yojimbo): remove configs
  • [242c7aef6] tweak(vendor/replxx): move out of linenoise vendor config
  • [802268ae5] tweak(vendor/linenoise-ng): remove linenoise
  • [14a91f8ae] tweak(legacy-game-re3): remove all mentions
  • [6a90b6e2c] tweak(vendor/librwgta): remove librwgta
  • [e967b0ce9] tweak(vendor/librw): remove librw
  • [dec5bc8be] tweak(citizen-ssh-server): remove citizen-ssh-server
  • [5f5d29586] tweak(vendor/libssh): remove libssh
  • [11d77aae6] tweak(vendor/libsodium): remove version header
  • [6d59a0448] tweak(net): remove unused yaml-cpp dependency
  • [5a78d6500] tweak(vendor/yaml-cpp): remove yaml-cpp
  • [6724cbed2] tweak(vendor/ngtcp2): remove ngtcp2
  • [46cc2d561] tweak(vendor/nghttp3): remove nghttp3
  • [b699ccfe9] feat(tests): use catch2 random seed to make random tests failures reproducable
  • [1afcf9828] feat(tests): add rl::MessageBuffer tests
  • [4cbf89e2a] feat(tests): add ascii random string gen
  • [820ace6da] tweak(server): make WithOutOfBand testable
  • [410d8367f] feat(tests): add out of band protocol tests
  • [c43a75534] fix(server): missing out of band protocol checks
  • [2ed87101f] fix(server): undefined behavior setCb bool in out of band protocol
  • [fb45f9958] fix(vendor/msgpack-c): ignore in premake generated header files
  • [95527ad13] fix(vendor/eastl): recursive submodules
  • [5e7f42233] tweak(vendor/eabase): update
  • [e62b51eca] tweak(vendor/eastl): update
  • [4474cb20c] tweak(server): improve msgServerEvent handling
  • [9d66a8123] tweak(vendor/enet): remove old enet
  • [9eabf2847] fix(server): out of band handler
  • [2ab4a9883] tweak(server): use net::Buffer string_view read in out of band handler
  • [d2475b343] feat(tests): net::Buffer ReadTo, Read string, CanRead
  • [67a855535] feat(net): add net::Buffer string_view read
  • [3e235c2ea] tweak(server): improve rcon handler
  • [eccda7a48] feat(server): add GetAmountOfConnectedClients to ClientRegistry
  • [112225cf8] feat(server): compile time oob handler, move getinfooob to own file, improvements for getinfooob
  • [ee0e8f21f] feat(tests): add getinfooob tests and adjust the oob tests
  • [24a5c0f58] feat(server): add force_consteval
  • [18b9dcfdb] tweak(shared): rename GetInfooob to GetInfoOutOfBand
  • [dda4880b9] fix(server): GetStatusOOB linux build
  • [6359aa89c] fix(tests): fix infooob tests on linux
  • [a4ba2ce3e] tweak(server): use unordered_map for packet handlers
  • [2f4db586b] feat(tests): add TestUtils::fillVectorU8Random
  • [6ca236c95] feat(tests): add RoutingPacketHandler onesync receive test
  • [08d85694c] tweak(server): prevent packet routing in onesync and double vector allocation
  • [a78b6330a] tweak(tests): adjust test utils to codestyle
  • [39acea761] tweak(tests): add ClientRegistry and ServerInstance

Gottfried Leibniz (8):

  • [53ff4d830] feat(streaming/five): improve PED_OVERLAY_FILE sorting
  • [e1ac57b6d] tweak(nui/core): remove outdated CEF hooks
  • [7007fc1c6] tweak(input/five): ensure consistent ClipCursor state
  • [12fe74037] tweak(extra-natives/five): water natives
  • [68263e96c] tweak(graphics/five): move swapchain flags pattern to HookFunction
  • [018ca012f] fix(server): out of band infinite recursion
  • [e1b6e8ee0] tweak(extra-natives/five): sanitize hudColorIndex
  • [b3b7bce6e] tweak(client): prefix quit command messages

Jonmichael Chambers (1):

  • [59e24f047] [CFX-1144] Remove Piwik analytics

Oleg Makushev (2):

  • [b655da770] fix(ext/cfx-ui): added exception for sv_disableClientReplays server variable
  • [ece1afb14] fix(ext/cfx-ui): updated dependencies

prikolium-cfx (2):

  • [9969efa85] tweak(client): trying to connect to discord pipe in interval
  • [dd56a2c42] tweak(client): added comment to clarify such behavior

nihonium (4):

  • [763aa11f2] fix(ci): use unique temp folder name for review upload script
  • [e98524bd1] tweak(ext/system-resources): drop unnecessary gen-sha256 command, move --file option to allow for default value for add/update command
  • [f3a7a57e5] tweak(ext/system-resources): bump txAdmin version to 7.1.0
  • [045d279e6] fix(ext/native-doc-gen): guard yarn instances with mutex to allow concurrent runs

thorium (2):

  • [9510d09d5] fix(build-tools): fix several compat conversions
  • [b47bedba9] fix(clrcore-v2): call-in after subsequent scheduling

Coming Next

We are exploring potential ways to upgrade our Node.js scripting runtime, and will share more information in the coming weeks.

Community Contributions

Thanks MonsieurBibo, @PsychoShock, freedy69, ahcenezdh, niekschoemaker, DatGuy1, Ra1n6666, @Noor_Nahas, @AvarianKnight for contributing to our natives documentation!


Infrastructure

While we did experience a few hiccups with our infrastructure this month, we took the opportunity to re-evaluate the timeline of some of our current migration projects. We experienced a hardware failure of one of our oldest cluster nodes, which caused the outages on the 16th and 17th of April. As a result, we decommissioned the few identical nodes we had and replaced them with better and more recent hardware. Finally, we also migrated Keymaster’s database to run on these newer machines.

We are happy to report that with the new hardware and database migration, there are significant improvements in both performance and stability. Across the board, all requests towards Keymaster now have a 50%~ response time improvement, ranging from 30ms improvements all the way to 400-500ms for listing all your asset grants (This is half the time it was previously!).


Thanks for reading, see you all next month! :mascot:

55 Likes

Thanks for the pulse :snail:

2 Likes

It is interesting to see what awaits in gta vi

2 Likes

Interesting…

4 Likes

Thats what i want to hear. Thanks!

When all 87 remaining PR will be handled !? Development and improvement is freaking slow …

3 Likes

Oh man, I can’t wait for the NodeJS update.
Better performance, less polyfills, more diagnostics tools, no more lib compatibility issues… Huge W.
I’m hyped!

1 Like

Finally nodejs upgrade :face_holding_back_tears: And we are waiting for more updates about the pinned servers. There are almost 5 CnR servers and they are all same.

3 Likes
  • The message provided in the quit command is now prefixed with “Quit: ”.

But how will I be able to combatlog from RP using fake crash messages? :frowning: (/s)

real tho, this is a nice change. Also, hopefully, the new featured servers tab can showcase the other side of FiveM as well, not just the RP meta. (Although, we already had a featured server list, and some servers still didn’t get the love they deserved. rip Los Santos V)

Maybe the Featured Server should get the center spot on the main menu, and move the “Top Servers” section at the bottom (also actually localize the top servers, and not use US only?)

2 Likes

It’s nice to see the community pulse evolve, I like the new server feature section.

Is it possible to see a similar feature (or maybe occasionally take the same spot) for cool community projects, resources, research initiatives, etc.? It would be cool to give attention to projects the community might not be familiar with.

Just unplug your router

This better not be one of those “FiveM Tech in GTAVI” speculative posts lol

2 Likes

Since ive now started getting censored on making a tldr every month ill just ask a few things.
Is there a reason why you have not approved the trains pr yet?
Do you intend on actioning the large amount of servers in violation of tos yet?
Do you know why the top list remain full with questionable upvotes.
How can any server owner compete when the top servers run cars/maps etc that violate tos?
Do you intend on addressing the “open letter”?

10 Likes

It helps to not post your tldr 10 minutes before the topic is closed. :sweat_smile:

Fair, but I was having fun with them. My bad Indra, if it was a approval time thing I understand and take back my censorship comment.

1 Like

I have seen 0 action being taken on cities that used IRL Branding, making it super hard to compete if you have a fully lore server.

11 Likes

One thing i see almost no one in the community address and even in the “Open letter” which still needs to be addressed is the issue with the upvote system abuse. It provides the community with nothing other than a competition for who can commit the most credit card fraud. The upvote system isn’t used properly and its gets me sick to open FiveM everyday and see the “Top Servers” thrive over others using a system that only brings new players to a community that doesn’t belong there. Only fix for this i see is to take it out all together it was a nice system long ago when there wasn’t as many servers and players were able to vote on a server to be at the top, now it just creates a environment for individuals to commit fraud to get there server on the top list. This goes hand and hand with the communities that do not care about TOS, abusing IPs and any rules in place for this things. Thank you for listening to my ted talk.

8 Likes

I agree completely, you cant compete in a market where rules are selectively being enforced. It starts at tos compliance being as simple as searching nyc/ferrari, then you go to the tebex stores on the largest and almost all are in violation. It is an unfair advantage and harmful to the fivem brand as a whole. These new players come in, see these advertised servers, get milked for money and leave the platform because the bad experience. Server owners cant compete with this unless they are willing to rinse fivem accounts on the very rare occasion they get caught.

Fivem team, please start going server to server and hunt down the violator’s. Start by a simple keyword search.

6 Likes

I wouldn’t even mind going through and making a list and show proof of the violations. their just isn’t any system to report this violations which occurs so much in the community.

2 Likes

There is, and they have new agents to handle them from what I saw. But last tickets I had months ago auto closed after 3 months of no response. Indra can we have a link to the ticket page?

2 Likes