What's new in Just Cause 2 Multiplayer 0.2.3

Oct 31, 2016
  • Bug Fixes:
  • Client:
  • Hopefully fixed the crashes that have plagued AMD users for many months. We have reported a solution and details surrounding the bug to AMD.
  • Fixed a bug on AMD cards where SSAO would cause rendering artifacts. It has now been re-enabled in the options window.
  • Fixed a bug where vehicle mounted guns rotation could become mirrored.
  • Fixed one of the most frequently encountered crashes relating to decals. It should now be safe to enable decals again!
  • Removed unsynced sentry turrets and cannons from the game.
  • Fixed a bug where a player would become stuck on a bike if they attempted to steal it while the driver was reversing.
  • Fixed a bug where vehicles could become invulnerable if repaired while about to explode.
  • Fixed a bug where certain bushes could crash the game when collided with as they lacked a collision mesh.
  • Fixed a bug where RakNet was unintentionally creating a listen socket on port 80.
  • New Features:
  • Shared:
  • Changed Firestarter achievement to require 1,000 kills instead of 3,000.
  • Changed Only Human achievement to spread virally. If you kill a player who has the achievement, you will also be granted it.
  • Client:
  • Added EntityBulletHit event that triggers when the local player hits a Player or NPC with a bullet.
  • LocalPlayerExitVehicle now fires when the player's vehicle is removed while they were in it.
  • Added GetOutlineEnabled, SetOutlineEnabled, and SetOutlineColor to Characters and StaticObjects.

New in Just Cause 2 Multiplayer 0.2.2 (Feb 15, 2016)

  • Bug Fixes:
  • Shared:
  • Fixed Stuntshooter achievement incorrectly increasing stats for all vehicles, rather than just airplanes
  • Client:
  • Fixed a bug introduced by ShapeTrigger entities where Checkpoints fired for remote players
  • Vehicles are now unloaded when the player teleports to a location outside their range
  • Fixed client crash from passing an empty string to chat methods like Chat:Print
  • Fixed an issue with the renderer
  • GWEN now blocks main menu inputs where appropriate
  • New Features:
  • Shared:
  • Added SharedObject equality operator
  • Added SteamId.IsValid(string)
  • Client:
  • Added Config:GetValue(string category, string value)

New in Just Cause 2 Multiplayer 0.2 (Nov 9, 2015)

  • New Features:
  • Shared:
  • Added support for all of the previously unsupported civilian models
  • Added Steam achievements
  • Added SharedObject class
  • Added NetworkObject class
  • Added WorldNetworkObject class
  • Added basic UTF-8 support to Lua strings
  • Added SetUnicode(boolean) global function
  • Added storage to all entities, not just Players
  • Deprecated PlayerValueChange and PlayerNetworkValueChange events
  • Refactored Chat class functions to support multiple colours in a single message
  • Added Vehicle.GetClassByModelId
  • Added Vehicle:GetClass
  • Added VehicleClass enum
  • Improved Lua errors with event argument printout
  • Added delta argument to PreTick/PostTick and Render/PostRender
  • Added Angle.Delta
  • Added Vector2.Reflect and Vector3.Reflect
  • Added ComponentMultiply method to Vector2 and Vector3
  • Added Weapon equality operator
  • Server:
  • Added module metadata
  • Added Player:Damage
  • Added Vehicle:SetStreamPosition and Vehicle:SetStreamAngle
  • Added Vehicle:Get/SetSpawnPosition and Vehicle:Get/SetSpawnAngle
  • Can now disable collisions between two different types with Player/Server functions EnableCollision/DisableCollision
  • Added ClientModulesLoad event
  • Added Player:RequestGroupMembership(groupId, callback)
  • Added StreamableObject:GetStreamedPlayers
  • Added SLED debugger support
  • Added suppressible PlayerAchievementUnlock event
  • Added Server:GetFrameTime
  • Added SendAutorunWhenEmpty config variable, default as false, to control whether autorun scripts are sent for empty modules
  • Added netstat command
  • Client:
  • Added ClientActor class which provides a basic client-side NPC interface
  • Added GameRender event for depth-tested rendering in the game world
  • Main menu overhaul
  • Added support for streaming image resources with AssetLocation.Resource
  • Added support for Unicode characters in CharPress
  • Vastly improved the chat window with word wrap and chat history
  • Added LocalPlayer:SetLinearVelocity
  • Added Character class, common to Player and ClientActor
  • Added Character:Get/SetLeftArmState
  • Added Character:GetSeat
  • Added Vehicle:Set(Linear/Angular)Velocity
  • Added VehicleTransmission, with methods Get/SetGear, Get/SetClutchDelayTime and more
  • Added VehicleSuspension, with methods Get/SetChassisDirection, Get/SetStrength and more
  • Added VehicleAerodynamics for land vehicles, with methods Get/SetAirDensity, Get/SetDragCoefficient and more
  • Added Vehicle:GetTransmission, Vehicle:GetSuspension and Vehicle:GetAerodynamics
  • Added Vehicle:GetTorque, Vehicle:GetWheelCount, Vehicle:GetRPM, Vehicle:GetMaxRPM and Vehicle:GetTopSpeed
  • Added GetClimateZone method to streamed and client entities
  • Added ClimateZone enum
  • Added ShapeTrigger with events ShapeTriggerEnter and ShapeTriggerExit
  • Added TriggerType enum
  • Added VehicleTriggerType enum
  • Added Player:GetAvatar
  • Added AvatarSize enum
  • Added Featured tab to the server browser
  • Added description field to the server browser
  • Server browser filters are now consistent between restarts
  • Added Camera functions SetFOV and GetFOV
  • Added LocalPlayerEjectVehicle event
  • Added 'entity' and 'impulse' arguments to VehicleCollide event
  • Added LocalPlayer functions SetOxygen and GetOxygen
  • Added LocalPlayer:IsFriend(steamid/player)
  • Added Client:GetFrameTime
  • Added Game:GetWeatherSeverity
  • Added ClientStreamableObject as a base class to Vehicle/Player
  • Added an optional boolean parameter to Physics:Raycast to disable the raycast filter
  • LocalPlayerBulletHit event now contains a bone argument
  • Added a setting to toggle vehicle camera snap and adjust timeout
  • Added a setting to toggle vehicle stunt camera
  • Added chat key and chat toggle key settings
  • Removed apostrophe keybind opening console, added a setting to configure console keybind
  • Added support for correctly rendering the tab character in text
  • Added Render:GetDepthEnabled
  • Added CursorType enum
  • Added Mouse:SetCursor
  • Added FontAwesome and League Gothic fonts to resources
  • Added ability to navigate through TextBox history using Up and Down arrow keys
  • Added Ctrl-Left/Ctrl-Right hotkeys to TextBox to facilitate moving the cursor word by word
  • Added Label:SetLineSpacing
  • Added TextBoxNumeric:Get/SetNegativeAllowed
  • Added gui_show_netstat console command
  • Added window position and size launch parameters
  • Bug Fixes:
  • Shared:
  • General sync improvement
  • Luabind now checks parent classes when looking up class members (class("MyDerived")(MyBase) in _init.lua works now)
  • Scripts are now loaded in alphabetical order on all platforms
  • Fixed script profiler not counting network events
  • The marshaller now accepts table keys of any type
  • Angles sent over the network no longer lose precision from compression
  • Vector2/Vector3/Color statics can no longer be edited
  • Comparing any API class with '==' should now work
  • Fixed random number generator not being seeded at startup
  • Improved Timer precision
  • Server:
  • Fixed issue with server memory not being freed on entity removal
  • Cleaned up streamer code, hopefully reducing amount of server crashes
  • Fixed issue with world iterators not working correctly
  • Fixed a bug where scripts would still be run even if the server failed to start
  • Fixed SteamId outputting the community id when printed on Windows
  • Client:
  • Fixed bones returning the wrong position for smaller models (Breaking change)
  • Fixed very long-standing issue with on-foot weapons often not firing for other clients
  • Vastly improved vehicle sync, also allows players to stand on vehicles as in singleplayer
  • Hopefully fixed archive bug that caused models/effects to fail to load
  • Fixed static objects not responding to the biome (snow / dust)
  • Fixed an extremely prevalent crash during entity collision listener removal
  • General renderer improvements
  • Refactored Mounted Gun sync, resulting in better aim accuracy
  • Reduced memory usage by preventing entire archives from being loaded at once
  • Fixed issue where requested models could sometimes be wiped out by the loading screen process
  • Fixed a bug where vehicle colors were darker than the requested colors
  • Fixed issue with vehicle colors not being applied to some turret parts
  • Fixed input sometimes going crazy when in a menu
  • Fixed settings window not preserving game resolution upon resize
  • Improved precision of Input:GetValue return value
  • Fixed being stuck in the air when EnterVehicle is called while grappling
  • Things drawn in 3D (and Render:WorldToScreen) no longer appear to be ahead by one frame
  • Fixed character model not changing if gui hidden or in a menu
  • Removed highlighted servers from the server browser
  • Character models are now reset on disconnect
  • Hopefully fixed issue with Rico model being invisible
  • Fixed the sound pop issue on Windows 10, courtesy of emoose from ElDewrito
  • Fixed PlayerEnterVehicle missing old_driver arg
  • Fixed issue with default player state being PlayerState.None instead of PlayerState.OnFoot
  • Some client entities now inherit from ClientStreamableObject to mirror the server classes
  • Added parameters argument to ClientSound.Create
  • Removed palaver, as its implementation burden outweighed the value it provided
  • ImagePanel:SetImage now takes an Image instead of a path
  • ReturnPressed event of a TextBox is now triggered on key down, instead of key up
  • Disabled Tab behaviour of the Enter key in TextBox as it moves to next control in the entire scene
  • Fixed HSVColorPicker issues
  • Fixed SortedList header being offset when it has a scrollbar
  • Fixed crash with SortedList:Clear
  • Fixed issue with SortedList sizing

New in Just Cause 2 Multiplayer 0.2 Public Beta (Sep 16, 2015)

  • New Features:
  • Shared
  • Added ComponentMultiply method to Vector2 and Vector3
  • Client
  • Added VehicleTransmission, with methods Get/SetGear, Get/SetClutchDelayTime and more
  • Added VehicleSuspension, with methods Get/SetChassisDirection, Get/SetStrength and more
  • Added VehicleAerodynamics for land vehicles, with methods Get/SetAirDensity, Get/SetDragCoefficient and more
  • Added Vehicle:GetTransmission, Vehicle:GetSuspension and Vehicle:GetAerodynamics
  • Added Vehicle:GetTorque, Vehicle:GetWheelCount, Vehicle:GetRPM, Vehicle:GetMaxRPM and Vehicle:GetTopSpeed
  • Added chat key and chat toggle key settings
  • Bug Fixes:
  • Shared
  • Fixed StuntPos and MG sync states incorrectly setting Character position resulting in crazy vehicle physics and desync
  • Server
  • Cleaned up streamer code, hopefully reducing amount of server crashes
  • Client
  • Fixed crash caused by accessing Character methods before it is loaded
  • Hopefully fixed issue with Rico model being invisible
  • PostRender now renders over everything, replicating previous behaviour
  • Fixed the sound pop issue on Windows 10, courtesy of emoose from ElDewrito
  • ReturnPressed event of a TextBox is now triggered on key down, instead of key up
  • Disabled Tab behaviour of the Enter key in TextBox as it appears to move to the next control in the entire scene
  • Removed palaver, as its implementation burden outweighed the value it provided
  • Temporarily disabled SSAO as a hotfix for AMD graphics issues

New in Just Cause 2 Multiplayer 0.0.16 Build 546 Beta (Aug 31, 2013)

  • New Features:
  • Client:
  • Base features:
  • The JC2 splash screen is automatically skipped past, making JC2-MP startup autonomous
  • Added in-game font scale setting with r_fontscale in the console
  • Restyled JC2-MP's GUI, switched font to Roboto
  • Implemented parachute sync
  • Improved remote player rotation sync
  • Lua:
  • Added Player:GetBaseState and Player:GetUpperBodyState to find out a player's current animation
  • Added Player:SetBaseState and Player:SetUpperBodyState to play animations on the local player
  • Added Camera:SetPosition and Camera:SetAngle, allowing for complete camera control
  • Added a CalcView event where camera position/angle can be changed; the player can also be hidden
  • Added Render:ScreenToWorldDirection so scripts can get 3D world positions from 2D screen positions
  • Added Physics:Raycast
  • Added Physics:GetTerrainHeight
  • Added Image.CreateFromAsset, so that images can be loaded from JC2's internal image library
  • Added Image:Sample so that colours can be sampled from an image
  • Added Model methods for texture support
  • Added 2D support for Models so they can render in the 2D space
  • Added ResolutionChange event
  • Server:
  • Base features:
  • Changed time step incrementer to a floating point value, allowing for increments of less than a minute
  • Lua:
  • Added Network:SendNearby to send messages to all players near a target player
  • Added Vehicle methods to set death/unoccupied respawn time
  • Added Player:HasWeaponDLC and Player:HasVehicleDLC
  • Shared:
  • Lua:
  • Added Vehicle:SetMass to the server, and Vehicle:GetMass to the server and client
  • Added Player:GetLinearVelocity
  • Added Player:EnterVehicle so that players can be placed into vehicles
  • Bug Fixes:
  • Client:
  • Chat input no longer goes through to the game if message is sent too quickly
  • Mouse cursor visibility is now preserved on console open, and restored on close
  • Updated to the latest version of TextReindeer, adding newline support
  • Client now terminates itself if it fails to initialize
  • Fixed models failing to render in 3D space
  • Server:
  • Fixed server crashing due to unprotected multithreaded access to configuration
  • Fixed server crashing when a vehicle was removed in selected Lua events
  • Fixed bug on 64-bit builds where vehicles did not spawn correctly on the client
  • Shared
  • NaNs are no longer allowed in the arguments to JC2-MP functions, preventing crashes from invalid values
  • Other:
  • Client:
  • Changed local chat script to use [Nearby] instead of [LOCAL]
  • Added a player filter to the player list

New in Just Cause 2 Multiplayer 0.0.15 Beta (Jul 29, 2013)

  • Bug Fixes:
  • Client:
  • Fixed rare crash bug with hooked DirectX creation
  • Fixed GWEN not handling resolution resizing
  • Fixed Image memory leaks
  • Server:
  • Fixed bug where a 64-bit pointer was truncated to 32-bit in Lua, causing server crashes
  • Shared:
  • Fixed Lua player:GetSteamId being invalidated post-disconnect

New in Just Cause 2 Multiplayer 0.0.12 Beta (Apr 23, 2013)

  • New Features:
  • Client:
  • Base features:
  • Added Steam authentication
  • Added clientside console on ~
  • Nick autocompletion in chat on pressing Tab
  • Added properly-implemented time and weather sync
  • Added loading screen
  • Added gui_hide_logo and gui_hide_fps console commands
  • Completely redesigned launcher, with support for launching from URL
  • Scripts:
  • Added spawn protection (no shooting or damage within 10m of spawns)
  • Completely redesigned nametags to be much more space-friendly and performant
  • Added in-game help dialog
  • Lua:
  • Added support for setting waypoint position in Lua
  • Added CEGUI bindings for Lua
  • Added Lua functions to get player bones, and bone positions
  • Added Lua function to draw circles
  • Server:
  • Base features:
  • Added SQLite3 database to server
  • Added Lua-based configuration
  • Server announces presence to server list
  • Server can now be queried for data (players, etc)
  • Added persistent ban support (based on SteamIDs)
  • Added --maxplayers, --bindip and --bindport launch parameters
  • Lua:
  • Added support for Lua packages
  • Added support for UDP socket communication to Lua
  • Shared:
  • Lua:
  • Added support for getting players' SteamIDs in Lua
  • Added cryptographic hash functions to Lua (MD5, SHA1, SHA256)
  • Bug Fixes:
  • Client:
  • Fixed crash where mounted gun was non-existent on a vehicle
  • Players can now be teleported while in an in-progress teleport
  • Fixed inaccurate camera position and angle issue
  • Fixed money not being reset on disconnection
  • Fixed aerial vehicles not being teleported properly
  • Fixed threading crash issues
  • Fixed issue where loading screen could fail to display properly
  • Fixed issue with timestep sync
  • Chat now renders on top of all other GUI
  • Fixed issue where loading screen wouldn't go away on death while disconnected
  • Fixed vehicle spawn callback being called when invalid vehicle ID passed in
  • Fixed inability to type ~ in chat
  • Fixed CEGUI resource management being crash-prone
  • Fixed CEGUI input blocking being sporadic
  • Fixed launcher crash if website is down
  • Server:
  • Fixed crash where vehicle was non-existent
  • Fixed crash where vehicle existed, but was not in vehicle pool
  • Fixed crash on attempting to get value from a non-existent category in config
  • Fixed crash on error in UDP receive handler
  • Fixed authentication issue where clients were unable to connect
  • Fixed authentication time sync issue where clients were unable to connect
  • Other:
  • Client:
  • Significant speedup in render functions, increasing FPS
  • Removed F3 to disconnect (use disconnect console command)