0.4.7 Public Beta starting 2019-08-17

Started by Stormeus, Aug 14, 2019, 04:04 AM

Previous topic - Next topic


We'll be hosting a two day long public beta starting Saturday the 17th at midnight GMT for version 0.4.7, the next major release of VC:MP. Because of major changes made to the netcode in this version, we want to host a public beta before release to test these changes on a large scale.

For this public beta, we'll be running two servers over the weekend:
  • [MK] CTF 0.4.7 Public Beta
    Saturday, August 17th
  • littlewhitey's VC-MP Beta Server
    Sunday, August 18th
Note that these servers will have both a 0.4.7 test version and their current 0.4.6 counterparts. Stats on the test servers won't be saved.

The addresses for the test servers will be announced around midnight on each day. The server changelog will also be posted on final release, but in the meantime here are the changes you'll find in the client:
  • Added support for HTTP downloads.
    • A proxy can be used by setting the option net_dl_proxy to the proxy's URI, e.g. /setconfig net_dl_proxy or /setconfig net_dl_proxy socks4:// The proxy can be disabled by using /setconfig net_dl_proxy 0.
  • Major netgame revisions. Specifically:
    • The netgame used to spend bandwidth on updates for entities that hadn't changed. The ped and vehicle sync have been changed so that the client and server now only exchange information about changes in state, rather than trying to send full entity states on every frame.
    • Vehicle processing has been rewritten to make remote vehicles move more smoothly and accurately.
    • The client and server will now make an effort to process packets as soon as they arrive instead of at predetermined tick intervals, which should make sync slightly more responsive.
    • The client should be better at prioritizing which packets to process and send.
  • This update reimplements or incorporates some game fixes from other mods.
    • From the Road Reflections Fix:
      • Fixed reflections not rendering on rainy roads.
    • From SilentPatch:
      • Added a config option, game_enabletrails, that determines whether to enable post-processing visual effects and motion blur like the PS2 version.
      • The game no longer disables the disk cache on HDDs and SSDs, which should result in smoother model streaming.
      • Fixed light glow shadows underneath pickups.
    • From ThirteenAG's Widescreen Fix Pack:
      • Incorporated the widescreen fixes into the client. To enable the widescreen fixes, use /setconfig game_widescreen 1. To disable them, use /setconfig game_widescreen 0.
      • Shooting is now accurate when players with different camera FOVs shoot each other.
    • From SkyGFX:
      • Fixed poorly rendered edges on trees, fences, and other objects with transparent edges.
  • Added support for custom cull zones.[nb]To use custom cull zones, add a file named maps/cullzones.xml to the server store with the following format:
    <?xml version="1.0" encoding="ASCII" ?>
        <!-- Disable rain -->
        <cull min_x="-200.0" min_y="-200.0" min_z="-10.0" max_x="200.0" max_y="200.0" max_z="40.0" flags="8" />
  • Added support for replacing the surface traction table by adding a maps/surface.dat file.
  • Changes to client-side scripting:
    • Added the following read-only properties:
      • Hud.IsEnhancedWidescreen() - true if ThirteenAG's widescreen fixes are active, false otherwise.
      • Hud.AspectRatio() - gets the aspect ratio that the HUD is drawn at. Without ThirteenAG's widescreen fixes, this can be 4:3 (widescreen off) or 16:9 (widescreen on). When the widescreen fix is enabled, this is the window width divided by height.
      • World.Hour() - gets the current in-game hour
      • World.Minute() - gets the current in-game minute
      • Player.Streamed - true if a player is streamed for, or is, the local player; false otherwise
      • Player.Team - gets the player's team ID
      • Player.Weapon - gets a player's current weapon ID; returns -1 if the player is not streamed
      • Player.LoadedAmmo - gets the amount of ammo in the player's clip; returns -1 if the player is not streamed
      • Player.TotalAmmo - gets the total amount of ammo the player has; returns -1 if the player is not streamed
      • Player.ClipSize - gets the size of the clip for the player's current weapon; returns -1 if the player is not streamed
      • Player.Angle - gets the player's rotation; returns NaN if the player is not streamed
    • Added the following read-write properties:
      • Player.Money - gets or sets the local player's money, returns -1 for other players; does not update the server-side value
      • Hud.GetWantedLevel() - gets the local player's wanted level
      • Hud.SetWantedLevel(wantedLevel) - sets the local player's wanted level; effect is cosmetic only and does not update the server-side value
    • Added GUILabel.FitToText() and GUIButton.FitToText(), which will resize their bounds to fit the text they contain.
  • Enabled setting water level on maps with custom water tiles.
  • Weapons can now be used as objects in XML map files.
  • The multiplayer DLLs are now smaller, resulting in shorter download times and slightly improved performance.
  • Miscellaneous CPU utilization improvements.
  • Fixed a crash caused by enabling color tags for a GUIElement and then reassigning text to it.
  • Fixed a crash caused by deleting a GUIElement after clicking on it.
  • Fixed a crash caused by the logging system for client-side scripts.
  • Fixed the game crashing when trying to reconnect in the middle of a RakNet file transfer.
  • Fixed memory errors when viewing the map from the menu or exiting a vehicle as a passenger which could cause rare, unrelated crashes later.
  • Players headshot in cars now have properly synced death animations.
  • Related to the above patch, also fixed a sync issue where vehicles would move on their own if the driver was shot in the head and played the falling out animation.
  • Fixed 2dfx elements and arcade sounds not being hidden when the entire Vice City world is hidden.
  • Fixed players with fall damage immunity being knocked down and taking damage anyway.
  • Fixed remote players becoming desynced if they appear to be hit by a shotgun, even if that shot missed on their screen.
  • Fixed players being able to use helicannons or fire Hunter missiles while marked as frozen or unable to attack.
  • Fixed a race condition where the client tried to create custom objects before loading the models, causing "Failed to load model" errors to appear.
  • Fixed the vehicle horn not being synced for non-emergency vehicles.
  • Fixed players being able to enter vehicles as passengers while their controls are disabled.
  • Fixed an issue where players could appear to carjack vehicle passengers if a vehicle door was blocked.
  • Fixed not being able to fire missiles in custom MVL vehicles with Hunter weapon attachments.
  • Fixed boat wakes being rendered at the wrong height when the water level is changed from the default.
  • Fixed cull zones not being reset when hiding the entire VC world. This would cause issues like bridge fly-under camera effects and no rain in parts of the map where VC had these properties.
  • Fixed some objects becoming undeletable when moved or rotated.
  • Fixed fires and projectiles being removed around players who are frozen.
  • Fixed the camera glitching when spectating a player while drunk visuals are enabled.
  • Fixed not being able to pass null to GUI.SetFocusedElement to remove focus from all GUI elements.
  • Fixed an issue where vehicles could momentarily have the wrong light status flags when streamed in.
  • Fixes for build mode:
    • Fixed World.FindPlayer, World.FindLocalPlayer, or World.FindVehicle crashing the game.
    • Fixed a crash caused by toggling checkboxes.
    • Fixed GUI skins not loading.
    • Fixed dofile() not working correctly when the game first loads.
    • Fixed XML map objects not being removed when reloading custom content.
    • Fixed PlayerShoot and other events not being called in build mode.
    • Fixed not being able to read the stream passed to Debug.ClientData.
  • Updated third-party components.


This CTF server will have a few changes compared to the regular 0.4.6 version of CTF.

It will be using some new 0.4.7 features like 3D arrows, which will be set on players who capture the flag and they will also be bleeding (like in singleplayer), so you can follow the blood trails of a player with the flag to find out its location. All downloads will also be done over HTTP.


Based from the whole thread, you never seem to disappoint me. Looking forward seeing the new improvements.

BTW, when you're refering to HTTP downloads, does that mean a big improvement in terms of downloading server files efficiently?


Quote from: DarkRaZoR^ on Aug 14, 2019, 07:20 AMBTW, when you're refering to HTTP downloads, does that mean a big improvement in terms of downloading server files efficiently?

If the server owner sets up his server store files on a fast web server then yes, the difference will be noticeable, however the factors of ping and web server quality also kicks in to determine if the downloads will be faster or not.


Other things to consider with HTTP downloads are that some ISPs prioritize HTTP traffic over UDP gaming, which improves transfer speed. It also means the VC:MP server itself isn't spending time on the file transfer, which should avoid degradation during file transfers.

That said, I do have this note in the server change log:
QuoteBecause HTTP uses TCP, each separate file download will start relatively slow until the appropriate download speed is determined. This is often still faster than RakNet, but for optimal performance consider bundling as much of your content in as few 7z archives as possible

Assuming, anyway, that the HTTP host is close to the game host, if not on the same machine.


thank you stormeus and maxorator looking forward to the beta O0


Seems like a productive update I can look into, job well done! ;D


Anyway, this isn't all of new features and bug fixes (here is only from client-side) ;)
Join to Irrelevant Club Discord: https://discord.gg/MsPPZ5uV4X


This is amazing! These netgame updates are great. Are you implementing interpolation in the sync?


Great updates.

I still waited for NPCs
if( !sucess ) tryAgain();
Thanks to the VCMP community. It was the happiest period of my life.


finally a fix for wsf. gud update.

ah shit, i don't even play this game.




Quote from: Zurix on Aug 14, 2019, 10:12 AMThis is amazing! These netgame updates are great. Are you implementing interpolation in the sync?

I believe this is the way it already works, isn't it, actually, @Stormeus ?


QuoteHud.IsEnhancedWidescreen() - true if ThirteenAG's widescreen fixes are active, false otherwise.
Hud.AspectRatio() - gets the aspect ratio that the HUD is drawn at. Without ThirteenAG's widescreen fixes, this can be 4:3 (widescreen off) or 16:9 (widescreen on). When the widescreen fix is enabled, this is the window width divided by height.

you mean we can use widescreen fix patches by thirteenAG?