Popular Post ragempdev Posted February 20, 2020 Popular Post Posted February 20, 2020 RAGE Multiplayer 1.1 is the new version based on 1.0-DP1, with almost 200 bug-fixes from 1.0 just in the last few weeks of pre-public testing and cool new features such as synchronised NPCs and more! So far, a tiny part of 1.0 known as "DP#2" has been delayed in favour of earlier and way more stable 1.1-DP1 release. DP2 requires more time with QA and you will get updated on that accordingly. Today's release means you will get immediate access to a public Windows Client/Server testing build branch aimed for server developers and for testing, you won't be able to join public 0.3.7 servers with this branch.Resources Updated: drastically improved streaming performance of encrypted game resources, also improved ram usage on heavy dlcpacks. Made encryption of game resources independent of individual system information, so you can keep redistributing huge files separately. Added support for overloading whole default dlcpacks (previously this would've caused "undefined" behaviour). Re-implemented the server resource scanner with better parallelisation of compression/encryption and the whole process (e.g. time required to scan and cache in the server memory 6GB of assets (LC-IV and VC to V map conversions bundle) has been decreased from >30s to 8-10s on test machine) Made client launcher and in-game resource verification multi-threaded. Added an ability to register raw game assets (i.e., you could decrease dlcpacks weight using this), example: /client_packages/game_resources/raw/infernus2.ytd. Synchronization Updated: synchronisation extrapolation is now optional, toggle-able through server config: "'enable-synchronisation-extrapolation': true". It's disabled by default (recommended for gamemodes when any desynchronisation caused by that latency is important though) in 1.0, this was always enabled in earlier releases, and the difference is it's just optional now. A few optimisations have been implemented for the new synchronisation. Security Ported 0.3.7’s latest anti-cheat/security mitigations, optimisations and additional useful branch changes that have not been ported yet. Implemented more multiplayer memory protections measures. Improved client-side package management code protection. Implemented additional cheating protecting over C# client-side scripting runtime API. Added "server-side-weapons-only-mode" to synchronise only weapons that have been given to the player by the server and not client-side script (which features it's own protection measurements too, which is why this option is disabled by default). API Added: out of the box (experimental) server-sided static and dynamic (synchronised) peds. Dynamic peds are synchronised/controlled by the player that your gamemode manually assigns and can be reassigned at any moment. let dynamicPed = mp.peds.new(mp.joaat('mp_m_freemode_01'), mp.players.at(0).position, {dynamic:true}); dynamicPed.controller = mp.players.at(0); let staticPed = mp.peds.new(mp.joaat('player_zero'), mp.players.at(0).position, { dynamic: false, // still server-side but not sync'ed anymore frozen: true, invincible: true }); Basic footage of peds on-foot sync (Franklin NPC shown in static mode): Cops AI/ped driving synchronisation: Added: server-side player.kickSilent, useful for quick reconnects, debugging and such (the client will act as if it's been timed out). Added: client-side cancellable event incomingDamage(sourceEntity, sourcePlayer, targetEntity, weapon, boneIndex, damage). Added: client-side cancellable event outgoingDamage(sourceEntity, targetEntity, targetPlayer, weapon, boneIndex, damage). Added: client-side dummyEntityDestroyed(entity, dummyType). Added: mp.Pool.getClosestInDimension(position, dimension[, numberOfEntities]); only server-side. Added: client-side event entityControllerChange(entity, newController) for peds and vehicles. Added: client-side mp.game.weapon.unequipEmptyWeapons. C# API: renamed server-side "Client" to "Player" to match other APIs. C# API: implement client-side-like entity pool APIs (e.g., RAGE.Entities.Players - yes, it *already* uses RAGE namespace like client-side API instead of "API" or "NAPI"). C# API: add UIMenu.SetMenuData and UIMenuItem.SetItemData which lets you link your own data to items to make menu handling logic simpler. C# API: Fixed incorrect boolean results in a few client-side methods. C# API: Added: AddSubMenu(UIMenu menu, string text, string description, System.Drawing.Point offset) overload. C# API: Added missing client-side 1.0 methods to C#. C# API: Fixed a naming mistake in RAGE.Game.Gxt. C# API: Fixed NAPI.Task-related issue. C# API: Added missing enums hashes. C# API: Updated vehicle seats enum. C# API: Updated vehicleData.json. C# API: Added support for custom vehicleData.json: name your file "vehicleData.custom.json" to use it instead (useful for add-on vehicle servers). C# API: Added missing IncomingConnection event. C# API: Fixed System.EntryPointNotFoundException. C# API: Fixed NAPI.Command not being available. C# API: Changed Entity.GetSharedData return type to object from dynamic. C# API: Added server-side player.Heading (with setter as well), fixed player.SetRotation. C++ API: Server: Increment SDK version (so it gives plugin incompatibility warning when it should). NodeJS API: Updated to NodeJS to v13.1.0. NodeJS API: Fixed NodeJS issues happening since 1.0/v13. NodeJS API: Fixed entity.setVariable and other related issues. NodeJS API: Fixed --inspect option not being handled by NodeJS. JS API: Changed mp.Pool.forEach behavior back to how it worked in 0.3 to prevent potential crashes; added mp.Pool.forEachFast for fast (but not entity.destroy()-safe) lookups (how it used to work in 1.0/1.1 initially). Other 1.50 game patch compatibility (the current public stable branch has already been updated to 1.50 (The Diamond Casino Heist Update) and was done in less than 5 hours after release - that's a new record for game's major patches!). Huge networking library optimisations - live 1800+ players server stress tests on an actual "feature-rich" gamemode with that optimisations ported to an experimental 0.3.7 server showed roughly ~10x networking performance improvements, possibly delivering even more effect on higher-end CPUs. Fixed a server memory leak (which occurred most often when there was a single player on the server, but other cases were possible also). Optimised client-side shared data getters for both scripting runtimes. Fixed nametag rendering jitter when target player is in a vehicle on high speed. Wine Launcher compatibility improvements (still can't get in the game at this stage though). Fixed bug that caused a ped to get duplicated after a model took too long to load. Added long string support for nametags and text labels. Updated Chromium to 79.0.3945.117. Fixed playerCreate/RemoveWaypoint client-side event. Updated server-side .NET Core to 3.1. Fixed client-side C# senseless "error" being logged into 'clientside_cs.txt' once on every initialisation. Update localisations: added Indonesian and Thai languages; updated a few other localisations. Fixed some of game limit adjustments not being applied correctly resulting in undefined behaviour. Fixed a few legacy crashes. Fixed updater image so configs don't get overwritten. Launcher: Fixed launcher storage.json being overwritten. Launcher: Fixed CEF debugger port not being saved when changed through launcher. Known Issues (ones that we didn't consider breaking and decided to not delay public testing because of them - they will be fixed before stable release though) There are a few cases when vehicle synchronisation might get "glitched" (like tyres state desync or unexpected unoccupied synchronisation behaviour). "trailerAttached" server-side event is not currently functioning exactly like it did in 0.3.*. Timeout reconnect might require manual rejoin through F1. Peds API is still at experimental stage and there are a few issues being worked on right now (mostly related to smoothing streaming). You might just crash 😶 And a few more bugs, to be listed once BugTracker goes online 0.3.7 compatibility guide Make sure your server-side resources use correct seat IDs (it starts from 0, not -1 anymore) C# only: Make sure to update GetData syntax (in most of cases you can just autoreplace "GetData(" with "GetData<object>(" for exact 0.3.7 behavior). C# only: "Client" got renamed with "Player". C# only: Vehicle occupants API now returns Entity instead of Player - that's because 1.1 synchronized peds could be vehicle occupants too C# only: EntityCreated/Destroyed events now pass Entity argument instead of NetHandle Optional: Make sure to use RGSC IDs instead of RGSC Nicknames Make sure to implement new chat API initerface. 0.3.7-.1.1 compatibility wrapper (CEF code): let api = {"chat:push": chatAPI.push, "chat:clear": chatAPI.clear, "chat:activate": chatAPI.activate, "chat:show": chatAPI.show}; for(let fn in api) { mp.events.add(fn, api[fn]); } 0.3.7 plugins should be removed from /plugins/, it's not compatible. Moreover, both "bridge.dll" and "rpfencrypt.dll" are redutant: C# API doesn't require a plugin to work. DLCPack files should be moved from /client_packages/dlcpacks to /client_packages/game_resources/dlcpacks. If required, custom server-sided gameconfig.xml (/client_packages/game_resources/common/data/gameconfig.xml) could be used. Don't confuse "/server-fiiles/ragemp-server.exe" (1.1) with "/server-files/server.exe" or "/server-files/dotnet/" with "/server-files/bridge/" Review all your custom synchronization code, some parts might be redutant with 1.1 More may follow, be sure to check this again if you find incompatibility issues. Download Branch name is "10_mNwuchuQ4ktWbR8d2N5jUzRt". If you don't know what to do with this, you probably don't need this. We only recommend you download this branch if you are comfortable with testing experimental features and software. 1.1 bugs and issues should only be reported where it's explicitly allowed and nowhere else. 75 9 2 4
rgnbgnhnd Posted February 20, 2020 Posted February 20, 2020 Wtf, my died an heart attack because of to much epicness in one announcement. 2
JamesBeast Posted February 20, 2020 Posted February 20, 2020 Just now, rgnbgnhnd said: Wtf, my died an heart attack because of to much epicness in one announcement. yeap i came 1
rgnbgnhnd Posted February 20, 2020 Posted February 20, 2020 Gerade eben schrieb Jaimuzu: yeap i came died and came at the same time 1
Recommended Posts