Currently the developers are putting their own money into JC2-MP to keep the servers online.

Please take a few seconds of your time and disable your AdBlock plugin for our website.

Ad revenue is not going to developers, it is used purely for covering our hosting costs.

 

You are also free to donate, which removes all ads from our website!

Patch 0.3 was just released! Full changelog here: https://t.co/4A50m6IKen

2 years ago

Advertisement
August 22, 2019, 02:20:23 am

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Philpax

Pages: [1] 2
1
Latest / Highlighted Server Cycling
« on: July 06, 2014, 03:47:56 am »
Hi everyone,

To accommodate the addition of a new highlighted server (Problem Solvers), we're testing a new cycling system for the highlighted servers. This means that out of the five servers currently on the highlighted list, only three will be highlighted at any given time, with the three chosen being switched out on a regular basis.

Right now, we're testing this system with three servers highlighted, changed per week (Monday at midnight); this may change as we find the ideal parameters to ensure maximum coverage of highlighted and non-highlighted servers alike.

And yes, all highlighted servers can still be played on. They may not be highlighted at this very instant, but they're definitely still there. If you'd like to keep track of them, a good way is to find them in the server browser, and then press Add to Favorites.

2
Latest / 0.1.4a Release
« on: June 21, 2014, 04:25:09 pm »
0.1.4a Update
Available now via Steam

Key Information

New API Features:
ClientLight
A dynamic, customizable light source for all your lighting needs.


Client lights attached to a car, creating a neon effect - now possible using Lua scripts.


Base64 images
Basic image streaming allow new opportunities for gamemodes and scripts.


The Lua logo sent via Base64 on a player's screen.


ClientParticleSystem
Particle systems can provide that extra touch to your script. Let your script flourish with particles!


The particles from the Lost Island tower radiating out from the player. Potential superpower in the making!



For server owners
Updating the server is not required, but it is highly recommended to fix a server memory leak (more details below).

Complete 0.1.4a Changelog
New Features
    Shared
  • Work on Unicode support started
  • Added console command for profiling Lua modules; usage: profiler_sample number_of_seconds
  • Added Color == Color operator
   
    Server
  • Added SQL:GetLastInsertId
   
    Client
  • Added AssetLocation.Base64, which enables images to be loaded from Base64 strings as a temporary solution until Steam Workshop is integrated
  • Added ClientParticleSystem
  • Added ClientLight
  • Added timeout parameter to ClientSound.Play and ClientEffect.Play
  • Added LocalPlayer:IsTeleporting
  • Added Input:Clear

Bug fixes
    Server
  • Reverted changes to SQL which were causing massive memory leaks
    • Note: This change was made before release to prevent server crashes related to SQL errors. If you encounter an SQL error which leads to a later server crash, please report it.
           
  • Fixed Vector2() and Vector3() returning uninitialized data on Linux
   
    Client
  • Fixed StaticObject related crash
  • Fixed Vehicle:SetColors to properly support mounted guns and ailerons
  • Fixed Game:GetState returning 0 for menu and loading screen
  • Fixed ClientEntity:GetId not being exposed
  • Fixed Action enum name capitalization (added GuiPDAZoomOut and HeliAIAutoRoll)
  • GWEN: Fixed crash when unsubscribing from current event
  • GWEN: Removing the active TabButton will now select another available tab
  • GWEN: Fixed BaseWindow's Blur event not always being called
  • GWEN: Fixed crash when using GroupBox:RemoveAllChildren
  • GWEN: BaseWindow functions GetNumChildren, GetChildren, and RemoveAllChildren now only act on user-created controls

Note: a running changelog for each new version is maintained on the wiki, see here.

3
Archived / 0.1.3 Release
« on: January 30, 2014, 03:17:31 pm »

0.1.3 Release

Key Information


This is a minor release that is backwards compatible with 0.1.2. It is recommended you update your server as soon as possible so that Lua scripts can take advantage of the new functions. However, several ScrollControl functions have been deprecated; please look at the changelog for more information.

With 0.1.3, we'd like to welcome Jman100's Freeroam Construction Sandbox to the highlighted list alongside the excellent Battle for Panau and Real Life servers. A reminder that you can still request that your server be put on the highlighted list here.


0.1.3 Changelog


New Features
    Shared
    Added a __type property to JC2-MP classes that returns the type of the value as a string

    Client
    Added BaseWindow:SizeToChildren
    Added StaticObject:GetBoundingBox
    Renamed ScrollControl:SetScroll/GetScroll to SetScrollable/GetScrollable, removed UpdateScrollBars

Bug Fixes
    Shared
    Fixed IsValid(StaticObject) not working

    Client
    Fixed several major crashes related to looking at StaticObjects
    Fixed crash when removing a GWEN object in its own event
    Fixed crash when an invalid index was provided to PageControl functions ShowPage and GetPage
    Fixed TextBox and chat window cursors being offset
    Main menu buttons are now correctly sized

4
Archived / 0.1.2 Release
« on: January 23, 2014, 09:09:34 am »

0.1.2 Release

Key Information


Server Owners

As of 0.1.2, the PlayerStreamDistance, VehicleStreamDistance, and CheckpointStreamDistance values in config.lua have been merged into one StreamDistance variable. The CellSize variable has been removed in favor of deducing it from the StreamDistance variable. If you have made changes to these variables, make sure to update your config appropriately, or it will use default values.

For example, the Streamer section of your config.lua may have looked like this (not including comments):

Code: Lua
  1. Streamer =
  2. {
  3.     PlayerStreamDistance        = 500,
  4.     VehicleStreamDistance       = 500,
  5.     CheckpointStreamDistance    = 500,
  6.     CellSize                    = 512
  7. }

It should be changed to this:

Code: Lua
  1. Streamer =
  2. {
  3.     -- The default distance before objects are streamed out.
  4.     -- Default value (in metres): 500
  5.     StreamDistance              = 500
  6. }

If you haven't changed the values, it is still advisable you update the Streamer section for compatibility.

Server Owners and Scripters

This update will remove the FireRegisteredEvent, Register and Unregister functions that were deprecated as of 0.1.1. You must remove these from your scripts to ensure that your scripts will run with 0.1.2.

All of the default scripts have been updated to fix this; if you are using them, you can copy them from the default_scripts folder or from GitHub.

Otherwise, to manually update your scripts, simply find and replace "Events:FireRegisteredEvent" to "Events:Fire" and remove any lines with "Events:Register" and "Events:Unregister" in them, so that (for example) this script:

Code: Lua
  1. Events:Register( "JoinGamemode" )
  2. Events:Subscribe( "JoinGamemode", JoinGamemode )
  3.  
  4. function SomeFunction( player )
  5.     Events:FireRegisteredEvent( "JoinGamemode", player )
  6. end
  7.  
  8. Events:Unregister( "JoinGamemode" )

will become
Code: Lua
  1. Events:Subscribe( "JoinGamemode", JoinGamemode )
  2.  
  3. function SomeFunction( player )
  4.     Events:Fire( "JoinGamemode", player )
  5. end


0.1.2 Changelog


Object Spawning
Unleash the true potential of JC2-MP scripting!


It's finally here! We've added the ability to spawn any model from the game, giving scripters an opportunity to massively extend Panau with their own crazy creations. The majority of JC2 models are spawnable; will you be the first to create a majestic city in the sky? Or will you be the first to create a stunt server filled with insane ramps and loops? The potential lies in your hands!

To help you find models for use on a server, Trix has put together a model viewer script for 0.1.2 which you can find here. Please note it is meant for development purposes only; unless you're a scripter in need of models, don't run it on your server.

Work-in-progress documentation for object spawning can be found here.

Highlighted Servers
Check out the servers of the week!


We've noticed that some of the more exotic, interesting servers aren't getting all the attention they deserve; to help remedy this, we've chosen to highlight these servers and rotate through them on a regular basis. You can apply for your server to be highlighted here.

To start off, we've decided to highlight the excellent Battle for Panau and Real Life servers as we feel these are an excellent example of how we'd like JC2-MP to develop going forward. Think you've got something equally as promising coming up? Let us know!



New Features
    Shared
    Reenabled Lua's debug functions
    Removed Events functions: FireRegisteredEvent, Register and Unregister
    Added (websafe) constants to Color
    Added common vector constants
    Added Transform2:Invert and Transform3:Invert
    Added StaticObject, allowing you to spawn most objects from the game
    Added an 'entity' field to Player:GetAimTarget which contains the player, vehicle or static object the player is aiming at

    Server
    Replaced OGP with GameSpy4 query protocol, making it possible to connect to a server when Announce = false, as well as improving server stability
    Added Player:GetIP
    Unhandled packet warnings now print the source IP address
    Added Console:Run under IKnowWhatImDoing, allowing scripts to run console commands
    Added the PlayerWorldChange Lua event
    Removed CellSize in config.lua; merged PlayerStreamDistance, VehicleStreamDistance and CheckpointStreamDistance into one StreamDistance variable

    Client
    Added highlighted servers
    Added BaseWindow functions SetWidth, SetHeight, GetWidth, GetHeight, RelativeToAbsolute and AbsoluteToRelative
    Added Label functions GetTextSize and SetTextSize
    Added TableRow functions (Get/Set) BackgroundEvenColor, BackgroundOddColor, BackgroundHoverColor, BackgroundEvenSelectedColor, BackgroundOddSelectedColor
    Added the LocalPlayerWorldChange Lua event
    Added BaseWindow:Subscribe with the events HoverEnter, HoverLeave, Focus, Blur, PreRender, Render, and PostRender
    Added Render:SetClip
    Added the MouseUp Lua event
    Added Game:GetTime to get the time of the current world

Bug Fixes
    Shared
    Attempting to access invalid static Lua class variables now returns nil instead of erroring
    Changed static gettable for Lua classes to also return instance methods; i.e. you can get Player.SendChatMessage without requiring an actual player
    Fixed Vector2 and Vector3 default constructors having uninitialised components
    Time is now properly synced across all worlds, not just DefaultWorld; clients also receive the time every 30 seconds to prevent drift

    Server
    IKnowWhatImDoing now unlocks more, including os and io functions
    Fixed crash on startup for Linux builds

    Client
    Fixed a very prevalent crash related to invalid data being passed into JC2's landscape code
    Fixed crash when unloading a module with a modal window
    Player is now made vulnerable after disconnecting from a server
    Fixed passing LocalPlayer through Events:Fire not working
    Fixed (parent, name) GWEN constructors not applying the name
    Changed default server browser sort to lowest ping
    Fixed vehicles sometimes becoming invulnerable when being repaired
    Fixed sometimes dying inside terrain after CalcView reenables the local player
    Fixed Window:DisableResizing not working
    Clamped font size from 0 to 512
    Increased font size on main menu
    Menu/console windows are now resized on resolution change
    Changed GWEN Slider background line to white to improve visibility
    Fixed ProgressBar:SetCycleSpeed not updating the auto label
    Fixed BaseWindow:__eq being undefined
    Fixed scrollbar being invisible in a GWEN Tree
    Fixed infinite loop in GWEN when labels with word wrap are too small
    Fixed labels with word wrap not being docked correctly
    Fixed cursor not showing up for all corners of a window
    Fixed crash when resizing JC2 before main menu
    Fixed crash in InputAction::SetState hook
    Fixed crash in Player::EnterSmartObject



Make sure to check out the highlighted servers! They're all set up on 0.1.2 and ready to go; both of them bring an entirely different experience to JC2-MP, and are definitely worth checking out.

5
Archived / 0.1.2 Announcement
« on: January 19, 2014, 04:22:31 pm »

0.1.2 Release
23rd January 2014 08:00 UTC

Key Information


General

As this update is quite large, we're giving early access to the 0.1.2 client and server in the Steam publicbeta branch in the Betas tab for testing. Do not switch to this branch unless you are willing to actively help find issues and prepare your scripts for the release. If you don't know how to switch to the branch, we advise you wait for the official release.

Note that this will lock you out of all 0.1.1 servers; if you need to regain access, simply switch back to "NONE - Opt out of all beta programs."

Server Owners

As of 0.1.2, the PlayerStreamDistance, VehicleStreamDistance, and CheckpointStreamDistance values in config.lua have been merged into one StreamDistance variable. The CellSize variable has been removed in favor of deducing it from the StreamDistance variable. If you have made changes to these variables, make sure to update your config appropriately, or it will use default values.

For example, the Streamer section of your config.lua may have looked like this (not including comments):

Code: Lua
  1. Streamer =
  2. {
  3.     PlayerStreamDistance        = 500,
  4.     VehicleStreamDistance       = 500,
  5.     CheckpointStreamDistance    = 500,
  6.     CellSize                    = 512
  7. }

It should be changed to this:

Code: Lua
  1. Streamer =
  2. {
  3.     -- The default distance before objects are streamed out.
  4.     -- Default value (in metres): 500
  5.     StreamDistance              = 500
  6. }

If you haven't changed the values, it is still advisable you update the Streamer section for compatibility.

Server Owners and Scripters

This update will remove the FireRegisteredEvent, Register and Unregister functions that were deprecated as of 0.1.1. You must remove these from your scripts to ensure that your scripts will run with 0.1.2.

All of the default scripts have been updated to fix this; if you are using them, you can copy them from the default_scripts folder or from GitHub.

Otherwise, to manually update your scripts, simply find and replace "Events:FireRegisteredEvent" to "Events:Fire" and remove any lines with "Events:Register" and "Events:Unregister" in them, so that (for example) this script:

Code: Lua
  1. Events:Register( "JoinGamemode" )
  2. Events:Subscribe( "JoinGamemode", JoinGamemode )
  3.  
  4. function SomeFunction( player )
  5.     Events:FireRegisteredEvent( "JoinGamemode", player )
  6. end
  7.  
  8. Events:Unregister( "JoinGamemode" )

will become
Code: Lua
  1. Events:Subscribe( "JoinGamemode", JoinGamemode )
  2.  
  3. function SomeFunction( player )
  4.     Events:Fire( "JoinGamemode", player )
  5. end


0.1.2 Changelog


Object Spawning
Unleash the true potential of JC2-MP scripting!


It's finally here! We've added the ability to spawn any model from the game, giving scripters an opportunity to massively extend Panau with their own crazy creations. The majority of JC2 models are spawnable; will you be the first to create a majestic city in the sky? Or will you be the first to create a stunt server filled with insane ramps and loops? The potential lies in your hands!

To help you find models for use on a server, Trix has put together a model viewer script for 0.1.2 which you can find here. Please note it is meant for development purposes only; unless you're a scripter in need of models, don't run it on your server.

Work-in-progress documentation for object spawning can be found here.

Highlighted Servers
Check out the servers of the week!


We've noticed that some of the more exotic, interesting servers aren't getting all the attention they deserve; to help remedy this, we've chosen to highlight these servers and rotate through them on a regular basis. You can apply for your server to be highlighted here.

To start off, we've decided to highlight the excellent Battle for Panau and Real Life servers as we feel these are an excellent example of how we'd like JC2-MP to develop going forward. Think you've got something equally as promising coming up? Let us know!



New Features
    Shared
    Reenabled Lua's debug functions
    Removed Events functions: FireRegisteredEvent, Register and Unregister
    Added (websafe) constants to Color
    Added common vector constants
    Added Transform2:Invert and Transform3:Invert
    Added StaticObject, allowing you to spawn most objects from the game

    Server
    Replaced OGP with GameSpy4 query protocol, making it possible to connect to a server when Announce = false, as well as improving server stability
    Added Player:GetIP
    Unhandled packet warnings now print the source IP address
    Added Console:Run under IKnowWhatImDoing, allowing scripts to run console commands
    Added the PlayerWorldChange Lua event
    Removed CellSize in config.lua; merged PlayerStreamDistance, VehicleStreamDistance and CheckpointStreamDistance into one StreamDistance variable

    Client
    Added highlighted servers
    Added BaseWindow functions SetWidth, SetHeight, GetWidth, GetHeight, RelativeToAbsolute and AbsoluteToRelative
    Added Label functions GetTextSize and SetTextSize
    Added TableRow functions (Get/Set) BackgroundEvenColor, BackgroundOddColor, BackgroundHoverColor, BackgroundEvenSelectedColor, BackgroundOddSelectedColor
    Added the LocalPlayerWorldChange Lua event
    Added BaseWindow:Subscribe with the events HoverEnter, HoverLeave, Focus, Blur, PreRender, Render, and PostRender
    Added Render:SetClip
    Added the MouseUp Lua event
    Added Game:GetTime to get the time of the current world

Bug Fixes
    Shared
    Attempting to access invalid static Lua class variables now returns nil instead of erroring
    Changed static gettable for Lua classes to also return instance methods; i.e. you can get Player.SendChatMessage without requiring an actual player
    Fixed Vector2 and Vector3 default constructors having uninitialised components
    Time is now properly synced across all worlds, not just DefaultWorld; clients also receive the time every 30 seconds to prevent drift

    Server
    IKnowWhatImDoing now unlocks more, including os and io functions

    Client
    Fixed a very prevalent crash related to invalid data being passed into JC2's landscape code
    Fixed crash when unloading a module with a modal window
    Player is now made vulnerable after disconnecting from a server
    Fixed passing LocalPlayer through Events:Fire not working
    Fixed (parent, name) GWEN constructors not applying the name
    Changed default server browser sort to lowest ping
    Fixed vehicles sometimes becoming invulnerable when being repaired
    Fixed sometimes dying inside terrain after CalcView reenables the local player
    Fixed Window:DisableResizing not working
    Clamped font size from 0 to 512
    Increased font size on main menu
    Menu/console windows are now resized on resolution change
    Changed GWEN Slider background line to white to improve visibility
    Fixed ProgressBar:SetCycleSpeed not updating the auto label
    Fixed BaseWindow:__eq being undefined
    Fixed scrollbar being invisible in a GWEN Tree
    Fixed infinite loop in GWEN when labels with word wrap are too small
    Fixed labels with word wrap not being docked correctly
    Fixed cursor not showing up for all corners of a window



Looking forward to seeing how every server grows from here; can't wait to pop in and check them out! :)

6
Archived / 0.1.1 Changelog
« on: December 21, 2013, 03:04:13 pm »

0.1.1 Release

Key Information


Please back up your server's config.lua before updating your server to 0.1.1!


We discovered a problem with Steam distribution that has been corrected; however, your config will likely be deleted in 0.1.1 - simply restore it after updating.


0.1.1 Changelog


New Features:
    Shared
    Lua
    Removed registration requirement from events firing; Events:FireRegisteredEvent is now Events:Fire and Events:Register/Unregister are deprecated
    Added argument-less version of Events:Fire
    Prevented 'load' Lua function from loading bytecode, increasing security

    Client
    Lua
    Added GameLoad event for exiting the loading screen
    Exposed PasswordTextBox and TextBoxMultiline
    Added TableRow:GetCellContents and TableRow:SetCellText
    Added TabControl:SetCurrentTab

    Server
    Lua
    Added support for loading C packages in Lua, allowing for the use of LuaSocket, LuaSQL, etc
    Added IKnowWhatImDoing configuration variable to selectively enable the use of unsafe Lua functionality

Bug Fixes:
    Client
    Fixed client deadlocking on exit
    Fixed evenness in GWEN ListBox backgrounds not being preserved in a sort
    Fixed ListBox:Clear and SortedList:Clear not working
    Fixed TableRow:SetTextColor not working
    Fixed broken world on respawn; collisions with world objects should now work
    Fixed non-ideal performance for GetTextWidth; now optimized
    Fixed server browser query continuing even after the server browser was closed
    Fixed bug where the player would be entered into a vehicle before they finished teleporting
    Fixed crash when attempting to get non-existent userdata on a GWEN object
    Fixed crash when attempting to get/set non-existent cell contents on TableRow
    Fixed DirectX Error Code 4 upon launching; unsupported code for certain graphics cards

    Server
    Fixed banned players being unable to reconnect upon being unbanned
    Fixed UDPSocket crashing upon destruction

    Shared
    Fixed Player.Match only returning results where the query could be found at the start of the name



We'll be pushing out more patches to address issues - this is only the start. Hope to see you playing on servers soon!

7
Releases / /woet script
« on: December 19, 2013, 02:24:07 pm »
By popular request, the Woet script, reproduced in its entirety:
Code: Lua
  1. function PlayerChat( args )
  2.         if args.text ~= "/woet" then return true end
  3.  
  4.         player = args.player
  5.         vehicle = player:GetVehicle()
  6.        
  7.         if not IsValid(vehicle) then
  8.                 player:SendChatMessage( "You need to be in a vehicle!", Color( 255, 0, 0 ) )
  9.                 return
  10.         end
  11.  
  12.         if player:GetWorld() ~= DefaultWorld then
  13.                 player:SendChatMessage( "This has been restricted to the main world. :(", Color( 255, 0, 0 ) )
  14.                 return
  15.         end
  16.  
  17.         if player:GetState() ~= PlayerState.InVehicle then
  18.                 player:SendChatMessage( "Shame on you! You're not the driver!", Color( 255, 0, 0 ) )
  19.                 return
  20.         end
  21.  
  22.         dir = vehicle:GetAngle() * Vector3(0, 0, -1)
  23.         vehicle:SetAngularVelocity( dir * 30 )
  24.  
  25.         return false
  26. end
  27.  
  28. Events:Subscribe( "PlayerChat", PlayerChat )

Simply drop this into a file called woet.lua, put it in scripts/woet/server (create directories if they don't exist), and then load the module using 'load woet'. You will instantly be able to /woet as much as you could on the test server.

8
Releases / Bank
« on: December 16, 2013, 07:02:58 pm »
Grab the bank script here: https://github.com/Philpax/jc2mp-bank
Extract into a folder called "bank" and drop in scripts/

9
Releases / Buy Menu
« on: December 16, 2013, 07:01:42 pm »
Grab the buy menu script here: https://github.com/Philpax/jc2mp-buymenu
Extract into a folder called "buymenu" and drop in scripts/

10
Archived / JC2-MP 0.1.0 Released!
« on: December 16, 2013, 05:57:53 pm »

0.1.0 Release
16th December 2013 17:00 UTC


JC2-MP is out now!

Download the client from the

Learn how to set up a server here:

Check servers here:

It's finally out! Check out the links above and get yourself ready to go. There will be several servers running at launch, and the number of servers will only go up!

Each server will have a unique experience specific to that server; simply join and you can be trying out something entirely different.

Thanks for staying with us - we hope you'll enjoy JC2-MP 0.1.0. :)

11
JC2-MP / Buy Menu additions
« on: December 11, 2013, 02:06:04 pm »
Some people have been heckling me about adding new vehicles or what have you to the buy menu, so post suggestions here and I'll add them next time buy menu gets reloaded.

12
Archived / 0.1.0 Mid-Test Report
« on: December 10, 2013, 05:48:13 pm »

The Final Beta Test (#17) - 0.1.0
7th December 2013 08:00 UTC - 14th December 2013 08:00 UTC Extended until release!

0.1.0 Release
16th December 2013 17:00 UTC


If you have a client with Build 645 at the top, you will not be able to join the new server until your JC2-MP is updated by Steam or you verify your files here (for JC2-MP and not JC2):




Hi everyone!

We're well into the 0.1.0 beta test, and it's a good time to go over what we've done for these first few days.

We had a rocky start at first; we're not going to deny it. Plagued by frequent server crashes and lag spikes, day one of the test was completely unplayable.

Through concentrated efforts, we managed to track down many of the issues involved and massively increased stability, reliability and performance in time for the official release of the server this coming Monday.



JC2-MP's scripting ability is extremely powerful and is responsible for providing the gameplay you see on the test server. From storing your money, to purchasing vehicles, to factions, to first-person, to nametags, to boost, to racing, and much, much more, our scripting is responsible for what you actually play.

You have full client-side and server-side scripting in JC2-MP Lua - we encourage you to try it out and have a look for yourself ahead of the release:




Here's a list of the changes we've made to ensure your JC2-MP experience is as smooth as possible:
  • Adjusted sync rates to reduce load
  • Fixed server crash in the streamer
  • Fixed server crash when an exception was thrown for an invalid World being accessed
  • Fixed bans not closing the connection to the server
  • Implemented a functional instant respawn that resolves issues with being stuck in the death state [Temporarily disabled]
  • Fixed bans not being loaded correctly on Linux
  • Fixed "empty server" bug through extensive debugging and network reconfiguration
  • Fixed bug where input to the server could be ignored under a specific case
  • Fixed chat being usable in main menu / initializing
  • Improved Eyefinity / Surround compatibility for main menu and windows
  • Added an error message for connecting to a full server
  • Disabled JC2-MP keybinding until it can be fixed properly
  • Fixed being able to exit loading through the pause menu

A notable change is that some scripts were unloaded or modified as part of our performance tuning. Boost was discovered to be quite inefficient; as a result, I replaced it with a lighter version that works similarly but is much more efficient. Racing's stats were not as efficient as they could have been, and dreadmullet is going back to the drawing board to fix them.

The end result of this is that JC2-MP is considerably more stable and ready for release. As the week goes on, we'll be fixing more bugs.



And on a related note: we'd like to officially welcome dreadmullet as a developer; after months of dedicated work as a scripter and working on documentation, we decided to finally give him the credit he deserves. Say hi to your new overlord, everyone!

We'll be resolving other issues as they come up. As a result of the changes mentioned above, a new client and server will be pushed out; we'll have two servers up during the transition period, and will bring down the old server once everyone migrates.

13
Archived / 0.1.0 Changelog
« on: December 06, 2013, 06:20:55 am »

The Final Beta Test (#17) - 0.1.0
7th December 2013 08:00 UTC - 14th December 2013 08:00 UTC

0.1.0 Release
16th December 2013 17:00 UTC

Key Information

Grab a key from here:


and activate it on Steam here:


On the day of the test, the game will unlock itself, and you can join the test server.
You can find a countdown on our homepage and a list of local times on our website.


0.1.0 Changelog


We've been a bit caught up in fixing issues, so we apologize for the late changelog.
Here are the two most notable features of 0.1.0:

Steam Integration
Join on friends, and more!


We're officially on Steam! This gives us the chance to add extensive integration, such as join-on-friend support. We also benefit from Steam's robust authentication protocol, ensuring there's minimal delay between starting up JC2-MP and being in a server.

JC2-MP GUI
Quick, sleek and to the point.


To celebrate being on Steam, we've added a new GUI which is designed for JC2-MP's strengths. The loading screen was just the start; this new GUI includes an in-game server browser, settings window, and more!

New Features:
    Client
    Base features
    Added being able to join on other players through Steam
    Console now scrolls to the bottom on the addition of a new item
    Console now has a maximum buffer of 1024; older items are purged
    Added client/dropzone as a place to drop in JC2-MP zip assets such as images
    Improved hit detection considerably; almost all weapons willl correctly report attacker
    Replaced D3DX image loading with ResIL, resulting in improved compatibility and a 3x speedup
    JC2-MP is now initialized at start-up instead of at the main menu
    Window title is now "Just Cause 2: Multiplayer Mod"

    Implemented a main menu
    Implemented a password dialog
    Implemented a server browser
    Implemented quick connect
    Implemented a pause menu
    Added modal dialogs for errors

    Lua
    Added LocalPlayerForcePulseHit so the air propulsion gun, etc can be suppressed
    Added Image:Draw( position, size, uv1, uv2 ) to simplify operations
    Added Model:GetTopology and Model:SetTopology to replace the argument to Model:Draw
    Added a ref-counting system for the mouse cursor, fixing all bugs where the cursor would be invisible/visible for no apparent reason
    Added a new syntax for Image.Create to allow creating assets from different sources
    Added a VehicleCollide event for player <-> vehicle and vehicle <-> vehicle collisions
    Added EscPressed to TextBox
    Added Game:FireEvent for firing JC2 events
    Added missing entries to GameSetting enum

    Server
    Lua
    Added Network:SendToPlayers( players, event_name, [args] )
    Added PlayerAuthenticate event for when a player is authenticated by Steamworks

    Shared
    Base features
    Implemented Steamworks
    Added camera-relative streaming, making a spectator mode possible

    Lua
    Added World class to significantly simplify operations with virtual worlds
    Worlds are automatically removed after module unload
    Added Vehicle:GetTemplate and Vehicle:GetDecal
    Added Vehicle:GetDriver
    Added Vector:DistanceSqr, Vector:DistanceSqr2D, and Vector2:DistanceSqr
    Added Scalar * Vector and Scalar * Vector2

Bug Fixes:
    Client
    Fixed crash where the local player's parachute was used without checking for existence
    Fixed crash where the character controller was used without checking for existence
    Fixed minimap not following modified camera position
    Fixed crash where players could crash upon entering a motorbike, or seeing someone enter a motorbike
    Fixed bug where players could be stuck in the sitting animation while their vehicle was removed
    Fixed bug where players could be entered into a vehicle at random
    Fixed Properties exposed to Lua being incorrectly named
    Fixed bug where drowning resulted in no respawn due to Player:GetHealth returning greater than 0
    Fixed crash with Vehicle:SetHealth repairing tyres
    Fixed bug where IsValid could return false for a LocalPlayer
    Fixed bug where you could spawn with a SMG / grenade with an empty JC2-MP inventory
    Fixed bug where bikes would spawn with the wrong colour on the fenders
    Fixed crash where mouse ref could persist and attempt clean-up
    Fixed Input:GetValue being completely broken
    Fixed permanent Woet Time on start-up (bright cyan skies, completely blackened ground)
    Fixed bug where mouse cursor clipping wasn't applied correctly
    Fixed being able to open the chat while the chat was invisible
    Fixed bug where Rico would flicker in and out of existence due to model loading issue
    Fixed crash when attempting to update the panel colours of an invalid game vehicle
    Fixed crash when a nearby vehicle blew up and damaged the player
    Fixed SetMass crash where the vehicle may not exist
    Fixed crash on module unload resulting from GUI events not being removed
    Fixed crash when Refcountable attempted to remove invalid refs
    Fixed bug where weapons would have insanely high impulse values
    Fixed Client:GetStreamedPlayers returning a table instead of an iterator
    Fixed crash when player was subject to something in the world exploding
    Fixed bug where Model vertex count was uninitialized
    Fixed bug where you could go into an undead state if restored to full health from death
    Fixed bug where Alt+F4 would pause game; now instantly closes game
    Fixed bug where GWEN sliders would not update their bar from their value after layout
    Fixed crash when disconnected during loading screen
    Fixed bug where players who failed to spawn on your client would remain unspawned; the "ghost vehicles" are no more

    Server
    Added protection against creating a vehicle with an invalid model ID
    Removed invalid weapons from valid weapons list
    Modules can now fire registered events to themselves on load
    Moved Player:EnterVehicle to the server
    Fixed bug where a module was being kept alive by an unnecessary reference
    Fixed crash when a non-existent module was loaded
    Fixed the disabling of unoccupied vehicle respawn; was broken due to refactoring
    Fixed crash upon destroying a world with a player inside of it
    Fixed ambiguous message when ban list was missing
    Fixed crash-on-close when cleaning up Worlds
    Fixed invalid reporting of player count / max player count
    Fixed crash-on-close when destroying the DefaultWorld
    Fixed bug where overriden camera positions were ignored

    Shared
    Restricted network messages to 5 megabytes in size
    Fixed potential crash with the no-argument version of Network:Send
    Fixed crash when firing a registered event across modules with an expired pointer
    Fixed invalid vehicle mass; mass is now server-authoritative; broken vehicle physics fixed
    Fixed _init.lua not being loaded in subdirectories
    Fixed missing vehicle names in vehicle name array

Other:
    Client
    Vehicle:SetHealth(>0.2) now removes fire and smoke particle effects
    HSVColorPicker now uses a shader instead of per-pixel draw calls, resulting in an incredible performance boost
    Vehicle:SetHealth(1) now restores wheels to normal condition
    Removed F2 to connect

    Server
    Removed player death messages in server log; scripts can be used

    Shared
    Lua
    Renamed PreClientTick/PreServerTick and PostClientTick/PostServerTick to PreTick and PostTick respectively



Initially, we will be running one freeroam server. Depending on circumstances, this may change. Our scripters will be introducing script changes throughout the week for testing - so keep an eye out!

Hope to see you playing during the test!

14
Archived / The Final Beta Test: 7th December 2013
« on: December 01, 2013, 03:59:51 pm »

The Final Beta Test (#17) - 0.1.0
7th December 2013 08:00 UTC - 14th December 2013 08:00 UTC

Welcome to the very last JC2-MP beta test. It's been a long run, but we're finally ready to release JC2-MP to everyone.

Since August, we've been in radio silence, working hard on the mod. We've hinted at a big surprise, and we think it's time to finally let everyone in on the big secret:

JC2-MP is coming to Steam.

On release, you'll be able to download the client and server from Steam, just like a normal game. This means complete Steam integration, including joining on your friends and more:


Of course, before we release, we need to ensure that 0.1.0 is rock-solid. This beta test will let us work out the final issues, and give everyone a chance to play in the biggest demonstration of chaos this year.

Because we're not released yet, you need to grab a key from:


and activate it on Steam here:


On the day of the test, the game will unlock itself, and you can join the test server.

Two days before the test, we'll release a detailed changelog; and before the test, we'll reveal the release date. One thing is for sure, though: come hell or high water, JC2-MP is coming out this year!

As always, you can find a countdown on our homepage and a list of local times on our website.

15
Archived / Public beta test #16 changelog
« on: August 30, 2013, 02:48:59 pm »
Welcome to one of our last tests! As we're coming closer to a first release, we're polishing up and cleaning up the loose ends in JC2-MP; as a result, we've got a lot to show! Just in case you need them, you can find a list of times when the test will start for you here.

Parachute Sync
See your friends fly through the sky!



One of the most requested features of all time - parachute sync! It's here, and it's worth the wait. After some extensive reverse-engineering and implementation work, we've managed to bring one of JC2's most distinctive features to JC2-MP!

No longer will you see others glide through the sky, powered by thin air; you'll see the parachute that makes it all happen! :)

Lua Camera Control
Play JC2 in ways you'd never imagine!

As part of our initiative to make JC2-MP Lua as awesome as it can possibly be for scripters on release, we're always seeking out opportunities to extend it and give power to the scripters to deliver engaging gameplay experiences. To this end, scripts can now control the in-game camera, opening up a wide range of possibilities.

What does this mean? It means that scripts can now change your view, making things like a spectator mode possible. Here's a little taste of what's made possible by this:


And yes, the first-person skydiving will be an option you can turn on in the test.

Visual Redesign
A new, sleek look for JC2-MP

As we draw closer to release, we're finalizing each component of JC2-MP. We elected to draft the amazing talents of ToMo once more to ensure that JC2-MP looked the best for its upcoming release.



And what a job ToMo's done. JC2-MP's GUI has been redesigned to be a treat to the eyes; even the font has been changed to ensure the best experience.



And now onto the full changelog!

0.0.16 Changes

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



Unfortunately, Faction Wars will not be running this test; however, we have some surprises for you. Let's just say that our beta-testers have been hard at work :D

Hope to see you all testing!

Pages: [1] 2