Search the Community

Showing results for tags 'devblog'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • RAGE Multiplayer
    • Announcements
    • Discussion
    • Suggestions
    • RDR2 Multiplayer
  • Scripting
    • Scripting
    • Resources
  • Community
    • Support
    • Servers
    • Media Gallery
  • Non-English
    • Русский - Russian
    • Français - French
    • Deutsch - German
    • Espanol - Spanish
    • Română - Romanian
    • Portuguesa - Portuguese
    • Polski - Polish


  • Scripts
  • Gamemodes
  • Libraries
  • Plugins
  • Maps
  • Tools

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me






Found 9 results

  1. Update: 1.48 support has been pushed into main updater branch. This morning we've announced public beta testing of 1.47 compatibility patch in the Discord, but as far as we realized later a lot of players still didn't join our Discord server (or just got banned for rules violation) so we've decided to inform everyone about the testing here as well. If you wish to participate in the testing, please open config.xml in RAGE Multiplayer root folder and change "prerelease" to "03_undefined". Bugs are possible since it's a testing release but issues are being rapidly resolved to make it stable enough to push it into the default branch. Server update is not required. { reminder to join our Discord here }
  2. Пишу клиентскую часть на c#. В примерах кода на JS используется функция mp.joaat(...) и на сервере и клиенте соответственно. Вот есть ли она на c#? Подскажите как ее найти.
  3. RAGE Multiplayer 0.3.7 introduces client-side C# scripting. Thanks to an incoming game update announcement today it goes into the stable branch with client updates that make it easier (you will have to back up your game files that are going to update still) to stay on the latest supported version until a compatibility update is done (previous time it has been made in a day, we can't give ETA though as the amount of changes is not known yet). STABLE RELEASE CHANGELOG (changes done from 0.3.7 Testing Release) Note: while there are no known security issues in the latest build, for now, it has been decided to not enable client-side C# by default in the Stable Release due to potential security concerns. Enabling it as pretty easy: just create "enable-clientside-cs.txt" file in your RAGE Multiplayer root folder. Added: Events.OnEventTriggeredByKey Added: Events.EnableKeyRemoteEvent Added: Events.OnEntityDataChangeByKey Added: Events.EnableKeyDataChangeEvent Added: Performance improvements thanks to utilizing some .NET Core features Added: Colshape.OnEnter (cancellable via OnPlayerEnterColshape) Added: Colshape.OnExit (cancellable via OnPlayerExitColshape) Added: Checkpoint.OnEnter (cancellable via OnPlayerEnterCheckpoint) Added: Checkpoint.OnExit (cancellable via OnPlayerExitCheckpoint) Added latest C# standard support Enhancements over providing secure .NET Core environment (@server devs: no worries for partial reflection restrictions introduced - that's going to be whitelisted per local contexts in future updates) .NET Core has been updated to our own fork based on .NET Core 2.2.0 Added: vehicle.nosActive Added: vehicle.nosAmount Peds are using entity streaming events now instead of what it used to be Fixed reported client-side JS regressions Fixed reported C# bugs Updating 0.3.6 resources Client-side: Update all the entityDataChange events to proper // old:"entityDataChange", (entity, dataName, value) => { if(dataName === "mydata") { HandleIt(); } }); // new:"mydata", (entity, value) => { HandleIt(); }); Client-side: Update ped stream in eventing (streamIn param got deprecated in favor of regular entity streaming events). Here's a function to reproduce 0.3.6 behavior: mp.peds.newLegacy = (hash, position, heading, streamIn, dimension) => { let ped =, position, heading, dimension); ped.streamInHandler = streamIn; return ped; };"entityStreamIn", (entity) => { if(entity.streamInHandler) { entity.streamInHandler(entity); } }); Downloads Client* (includes Windows server) Linux server Linux C# API *if you already have RAGE Multiplayer installed, it will update itself on the next launch
  4. RAGE Multiplayer 0.3.7 is another iteration of the 0.4 major features testing backport, this update is to assure the smoothest transition to 0.4. 0.3.7 introduces backports of major client-side scripting subsystem improvements, such as C# implementation (.NET Core, just like server-side) bringing new possibilities for C# game mode developers, but enhancements for the JavaScript runtime as well. C# C# scripts are stored in the /client_packages/cs_packages/ folder. Once a player connects, it collects all the scripts, checks its integrity and compiles into an in-memory assembly. Thanks to a number of compilation-time checks, there's no way to allow C# client-side scripts to maliciously hurt users. Despite the community concerns, all events and functions are available in C#! Here's a quick peek of basic C# stuff: EVENTS public class EventsExample : RAGE.Events.Script { public EventsExample() { // this kind of events receives mp.trigger,, but also remote events RAGE.Events.AddEvent("remote_triggerable_event", SomeEvent); RAGE.Events.AddDataHandler("some_data", SomeDataHandler); RAGE.Events.Tick += Tick; RAGE.Events.OnPlayerChat += ChatHandler; // trigger a js event RAGE.Events.CallLocal("eventName", 1, "someString", 1.0f); } public void SomeEvent(object[] args) { } public void SomeDataHandler(RAGE.Elements.Entity entity, object value) { } public void ChatHandler(string text, RAGE.Events.CancelEventArgs cancel) { if(text == "cancelme") { cancel.Cancel = true; } } // known as "render" in JS public void Tick(System.Collections.Generic.List<RAGE.Events.TickNametagData> nametags) { } } GAME INTERACTION // trivial game stuff int interior = RAGE.Game.Interior.GetInteriorFromCollision(0.0f, 0.0f, 0.0f); // player interaction RAGE.Elements.Entities.Players.GetAtRemote(1).ClearDecorations(); // player interaction using a game entity handle RAGE.Game.Ped.ClearPedDecorations(RAGE.Elements.Player.LocalPlayer.Handle); // ped creation uint freeroamHash = RAGE.Game.Misc.GetHashKey("mp_m_freemode_01"); RAGE.Elements.Ped ped = new RAGE.Elements.Ped(freeroamHash, new RAGE.Vector3(0.0f, 0.0f, 0.0f), dimension: 5); CEF ... public void OurEventHandler(object[] args) { RAGE.Chat.Output("Got actually called! {0}", (string)args[0]); } public void TriggerMe() { RAGE.Events.Add("eventExample", OurEventHandler); RAGE.Ui.HtmlWindow wnd = new RAGE.Ui.HtmlWindow("package://index.html"); wnd.ExecuteJs("mp.trigger('eventExample', 'yep')"); // "mp.gui.execute" RAGE.Ui.DefaultWindow.ExecuteJs("test()"); } BUILT-IN NATIVEUI using System; using System.Collections.Generic; using RAGE.NUI; public class MenuExample : RAGE.Events.Script { private bool ketchup = false; private string dish = "Banana"; private MenuPool _menuPool; public void AddMenuKetchup(UIMenu menu) { var newitem = new UIMenuCheckboxItem("Add ketchup?", ketchup, "Do you wish to add ketchup?"); menu.AddItem(newitem); menu.OnCheckboxChange += (sender, item, checked_) => { if (item == newitem) { ketchup = checked_; Notify("~r~Ketchup status: ~b~" + ketchup); } }; } public void AddMenuFoods(UIMenu menu) { var foods = new List<dynamic> { "Banana", "Apple", "Pizza", "Quartilicious", 0xF00D, // Dynamic! }; var newitem = new UIMenuListItem("Food", foods, 0); menu.AddItem(newitem); menu.OnListChange += (sender, item, index) => { if (item == newitem) { dish = item.IndexToItem(index).ToString(); Notify("Preparing ~b~" + dish + "~w~..."); } }; } public void AddMenuCook(UIMenu menu) { var newitem = new UIMenuItem("Cook!", "Cook the dish with the appropiate ingredients and ketchup."); newitem.SetLeftBadge(UIMenuItem.BadgeStyle.Star); newitem.SetRightBadge(UIMenuItem.BadgeStyle.Tick); menu.AddItem(newitem); menu.OnItemSelect += (sender, item, index) => { if (item == newitem) { string output = ketchup ? "You have ordered ~b~{0}~w~ ~r~with~w~ ketchup." : "You have ordered ~b~{0}~w~ ~r~without~w~ ketchup."; Notify(String.Format(output, dish)); } }; menu.OnIndexChange += (sender, index) => { if (sender.MenuItems[index] == newitem) newitem.SetLeftBadge(UIMenuItem.BadgeStyle.None); }; } public void AddMenuAnotherMenu(UIMenu menu) { var submenu = _menuPool.AddSubMenu(menu, "Another Menu"); for (int i = 0; i < 20; i++) submenu.AddItem(new UIMenuItem("PageFiller", "Sample description that takes more than one line. Moreso, it takes way more than two lines since it's so long. Wow, check out this length!")); } public void DrawMenu(System.Collections.Generic.List<RAGE.Events.TickNametagData> nametags) { _menuPool.ProcessMenus(); } public MenuExample() { _menuPool = new MenuPool(); var mainMenu = new UIMenu("Native UI", "~b~NATIVEUI SHOWCASE"); // original NativeUI replicates GTA V "interaction menu", //changing FreezeAllInput to true makes the player completely frozen // while the menu is active mainMenu.FreezeAllInput = true; _menuPool.Add(mainMenu); AddMenuKetchup(mainMenu); AddMenuFoods(mainMenu); AddMenuCook(mainMenu); AddMenuAnotherMenu(mainMenu); _menuPool.RefreshIndex(); RAGE.Events.Tick += DrawMenu; mainMenu.Visible = true; } public static void Notify(string text) { RAGE.Game.Ui.SetNotificationTextEntry("STRING"); RAGE.Game.Ui.AddTextComponentSubstringPlayerName(text); RAGE.Game.Ui.DrawNotification(false, false); } } Here's how that NativeUI example looks in the game: General Changes JS: "entityDataChange" event has been replaced with ", handler)" JS: added Improvements on initial server loading Fix voice chat not getting cleared properly after setting "voice3d" to false Improve voice chat playback thread synchronization mechanism, so it doesn't affect anything else Fix reported voice chat crashes 0.4's game interaction performance improvements backport Fix in-game UI not saving "latest IP connected to" correctly DataStorage UTF-8 support fixes Added a smoother voice chat packet loss handling Fixed reported voice chat stability issues Fixed some specific remote player tasks stuck after finished Added "experimental web platform features" flag to the in-game CEF Fixed key binding issues with isDown param = false Downloads You can download the update using the regular RAGE Multiplayer updater. Open config.xml and set your updater branch to 037_testing. Once you restart the client, it will download the update. We don't recommend to use the testing release build to play on 3rd-party servers. NOTE: In order to enable the client-side C# API IntelliSense fanciness, you should add the "dotnet/rage-sharp.dll" as a reference. additionally, You can reference "dotnet/Newtonsoft.Json.dll" for the Json functionalities.
  5. Even though a major update is under development still, it has been decided to push an update containing new features alongside with 1.45 game patch compatibility update. Today, nearly a week after public beta started, RAGE Multiplayer 0.3.6 goes into the stable branch! General changes Added: server-based voice chat (server config option to enable: `voice-chat`: true) Updated: Scripting stability improvements ("undefined" errors should be fixed now, needs to be confirmed) Updated: V8 (a separate vanilla one is used client-side now, not the one bundled with NodeJS) Updated: Security enhancements Added: Grand Theft Auto V's 1.45 patch support Reimplemented "construction zone crash" fix Vehicle model limit adjustment (it's not an actual 0.4 backport since it uses another method that doesn't rely on 0.4 features) Updated NodeJS Backported native fool proofing Added "allow-voice-chat-input" option (only available via registry at the moment); default value: 1 Updated: CEF (Chromium 70.0.3538.77) Fixed: potential aiming synchronization data corruption Added: more game limits have been adjusted so more global conversion mods are compatible now Fixed: custom dlc packs conflicting with certain game dlc pack Fixed: dlc packs not working correctly with FQDN Miscellaneous fixes Scripting Added: mp.voiceChat.muted (client-side) Added: mp.voiceChat.getPreprocessingParam(param) (client-side) Added: mp.voiceChat.setPreprocessingParam(param, value) (client-side) Added: player.voiceVolume (client-side) Added: player.voice3d (client-side) Added: player.voiceAutoVolume (client-side) Added: player.isVoiceActive (client-side) Added: event: playerStartTalking (client-side) Added: event: playerStopTalking (client-side) Added: player.enableVoiceTo(target) (server-side) Added: player.disableVoiceTo(target) (server-side) Added: player.voiceListeners (server-side) Added: mp.voiceChat.isAllowed (read-only) (client-side) Added: player.clearDecorations() (server-side) Added: player.getVoiceAttribute(attribute) (client-side) Added: player.setVoiceAttribute(attribute, value) (client-side) Fixed: vehicle.getOccupant Updated: C# enums Fixed: C# UTF-8 support improvements Downloads Client* (includes Windows server), complete package mirror #1 (EU), mirror #2 (EU), mirror #3 (NA) Linux server Linux C# API *if you already have RAGE Multiplayer installed, it will update itself on the next launch changelog The "Zero Dot Four" updater is used now Additional voice chat sanity checks Added "voice-chat-sample-rate" server config option (allowed values are 8000, 16000, 24000, 48000) More client fool-proofing
  6. Greetings, we have a project about hardcore RolePlay and we finally find that Rage MP. I want you guys to help us about creating a basic server because we are started from zero. We are welcome to all opinion and suggestions from you guys. thanks
  7. Нид хелп, ставлю Райдж на пиратку 1.0.1180, все инсталиться, качае и т.д, выбираю папку, клиент все чекает и происходит следующее Черный экран и все,никаких больше движений
  8. do a tutorial on your youtube channel on how to make a server of all kinds of servers like racing, freeroam and all that
  9. Кулити детишки! Я новенький в этом деле и попрошу вас когда будут выходить сервера с бонусами то кидать названия и айпи сюда. Прост хочеться поиграть на сервере с бонусами. Спасибо за понимание!