FiveM/projectΛ update - January 30th, 2017

We have pushed out an update to CitizenFX/Five on the production branch today. This update, for once, is not just bugfixes, and has the rare occasion to be one that updates the server as well. The client will automatically update, old servers should still be compatible, but we implore you to upgrade that one too. Manually.

Summarized changelog

  • Update Botan to a newer version, integrated with the build system. If your game doesn’t start, this is probably why. It’s required for future changes including resource cache obfuscation, of course.
  • Fix a bug where dwm.exe would use large amounts of CPU/RAM during the main menu/loading screens.
  • Server connection improvements:
    • Make the game only load after receiving a connectOK packet from the server. This will make annoying errors such as Failed to connect after 3 attempts, Failed to fetch resource.rpf, Couldn’t load some resource and RECURSIVE RECURSIVE ERROR non-fatal and allow choosing another server without having to re-open the entire game.
    • Show an actual resource name in the Couldn’t load some resource error.
    • Indicate connection state while connecting before game load.
  • Better network session establishment code:
    • Retry entering/initializing the rline session if the first attempt failed, instead of red-boxing out.
    • If combined with the new server, handle race conditions when multiple players join an empty server at the same time even better.
    • Disallow gameplay (don’t run any resource scripts/spawning code) until connected to a network session. Invoke-LevelLoad should be unaffected by this.
  • Loading screen improvements:
    • Seamless loading screens from the main menu up to being connected and spawned.
    • Official support for custom loading screens, using a loadscreen directive in any resource manifest. See resources/[test]/keks in the server for an example loading screen (or, just start keks!).
    • Add status callback to the loading screen for connection status. Please use it.
  • Make NUI document encoding default to UTF-8 to support the :eggplant: emoji in the default :cookie: keks example.

Server changelog

Make sure when downloading the server that you have version 45c2dc72261272a913127d0cb88e67f93dd71055 (check RELEASE.txt to see)!

  • Fix a bug in assignment of TempIDs causing playerConnecting to return incoherent identifiers. Hopefully.
  • Fix a bug in assignment of NetIDs that caused crazy player counts due to certain NetID references being duplicated (if clients join with a bad connection). Again, hopefully.
  • Support W3C server-sent events for the /log HTTP endpoint.
  • Only allow resource downloads for connected and authenticated clients.
  • Allow GetPlayerEP for clients that only have a TempID (that is, while connecting).
  • Force starting sessionmanager as it handles the enhanced arbitrator mutex system.
  • Updated keks with new UI and CitizenFX/Five support!
  • Server-side handler for session locking.

#Developer information
There’s still no wiki, but there’s developer info this time!

###Resource manifest (__resource.lua) changes

  • The loadscreen directive got added. For examples on usage and the JS events supported, check keks in the new server.

###Server-sent events

This allows getting the data from /log (http://server.ip:port/log) in a streaming fashion rather than a polling fashion.

Example JS code for a client:

const es = new EventSource('http://server:30120/log');
es.addEventListener('chatMessage', e =>
{
    const msg = JSON.parse(e.data);
    console.log(msg.name + ": " + msg.message);
});

#Future plans

Finalization of the rebranding will occur sometime within the next few months. The internal OneSync project has been started, which will, in the short term, make servers more aware of what clients are trying to send - and in the future (projected H2 2017) will allow for higher player caps (practically unlimited, even) without breaking backward compatibility or synchronization fidelity.

Short-term plans are currently unannounced, but we have a few things cooking up continuing the style of fixes that has been in this update! :slight_smile:

Stay tuned, as, remember, FiveM is the original RAGE GTA modification, having been in development in various forms since the end of 2013, making it the longest-lived online+offline modification platform for GTA on RAGE. Development takes time if you care about quality rather than quantity, of course. :spaghetti:

8 Likes

Holy SHIT. I never joined this fast on 5R after this update!

My server streams nothing more since I had done my client-side update, what’s the problem?

the server needs an update too. but the backwards compatibility will be fixed soon :tm:

The client update has been reissued, fixing the issue with streaming resources being cleared before loading into a server.

Thank you for the fast support, goodluck with the future updates :slight_smile:

nice yea i just put the server back together works great everything streaming properly as it should

1 Like

same problem again, “Oudated”
WinHttpSendRequest on http: //…/info.json failed - error code 12002

Yay! Thanks for the update information. :smiley:

great
news
:slight_smile:

After this update my game doesn’t even work. It just say LZMA decoding error 7 in citizen/ui.rpf. And that file is corrupted. Says my OpenIV. Can that been fixd?

a) ‘this’ update is from 2 months ago, are you sure you’re replying to the right update
b) ‘says your OpenIV’, maybe don’t trust OIV for such things? OIV is meant for game files, not CitizenFX files
c) you’re the one who should fix it, try deleting caches.xml?

Im not very sure is this right version but anyway it updated last week. because i usent FiveM for month

@Arki_Kiina Go to your gtav main dir and delete openiv.asi… that will solve the problem… if you use openiv make sure you go in to you dir every time before you open FiveM and delete that fileA

Thank you! That solved my problem.

when is the import export update gonna be on five m ?