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 - Stormeus
1
  • Sockets
    • Fixed a heap corruption issue that broke the sockets plugin when built with newer compilers.
    • Fixed a memory leak in the sockets plugin when closing a socket connection while the plugin was still processing incoming packets.
  • Java
  • The source code for officially maintained plugins has been updated on Bitbucket to use the new plugin SDK introduced in rel004 if they haven't already been updated.
An updated plugin pack for 04rel006 servers can be found here:
https://v04.vc-mp.org/allplugins_04rel006_patch2.7z
2
Hi all,

We need to move the forum to a new server. We're not sure exactly when the migration will begin but expect the primary web server to be offline for up to a few hours while we put the forum in maintenance mode, prepare backups and migrate the server.

I'll follow up with updates if and when I have any, probably around morning in British Summer Time.

Note that the web server will return with a new IP address and the old server will be unresponsive. Depending on your and your ISP's DNS configuration, you may not be able to reach the masterlist for up to 24 hours after we make the switch.
3
Client Updates / Browser Update Released (2018-06-28)
« on June 28th, 06:01 PM »
This resolves issues with players getting a "Failed to open archive" error when updating clients using the browser update from earlier today.

Browser installer
4
  • Fixed the client crashing when exiting vehicles and in other scenarios.
5
Browser
  • Added a "Launch Build Mode" option to the right-click-on-server menu.
  • Added a "Check for Updates" option to the Help menu.
  • Updated the libjson, libcurl and liblzma components.
  • Updated the Steam injection mechanism to fix issues with VC:MP failing to load.
  • Web browsers and antivirus software should no longer report the installer as being a virus.
It is highly recommended that you download and reinstall the browser.



Client
  • Enhanced build mode.
    To make it easier to test custom maps/entities and client-side scripts, the build mode from 0.3 is being reintroduced with some enhancements.
    • To get started, create a folder in %APPDATA%\VCMP\04beta\store named buildmode and place any files you want to test there.[1]
      • Custom maps, object definitions, scripts, etc. will all load like they normally would when connecting to a server, but instead of joining a networked game you will spawn on top of Kaufman Cabs.
      • You can add a spawnpos.txt file to the buildmode folder with three numbers (e.g. -250.0 100.0 10.0) denoting the X, Y, and Z coordinates to spawn at. There should be no commas between each number; useful for custom maps where ground level has changed.
    • Whenever a file in the buildmode folder is changed, all files will automatically be reloaded. For example, changing a client-side script file will reload scripts (and any other custom content) immediately. This behavior can be changed using the command /autoreload <0/1>.
    • If you have disabled auto-reloading for custom content/scripts, use the /reloadcontent command.
    • Vehicles, objects, spheres, checkpoints and pickups can be created and deleted to test their appearance using the following commands in build mode only:[2]
      • /createvehicle <model ID> <color 1> <color 2> (<position X> <position Y> <position Z>) - creates a vehicle; if position is unspecified, the vehicle is created at your location (alias /cv)
      • /createobject <model ID> (<position X> <position Y> <position Z>) - creates an object; if position is unspecified, the object is created at your location (alias /co)
      • /createpickup <model ID> <position X> <position Y> <position Z> - creates a pickup; if position is unspecified, the pickup is created at your location (alias /cp)
      • /deletevehicle <ID> - deletes a vehicle; ID is given when using /createvehicle (alias /dv)
      • /deleteobject <ID> - deletes an object; ID is given when using /createobject (alias /do)
      • /deletepickup <ID> - deletes a pickup; ID is given when using /createpickup (alias /dp)
      • /deleteallvehicles - deletes all vehicles (alias /dav)
      • /deleteallobjects - deletes all objects (alias /dao)
      • /deleteallpickups - deletes all pickups (alias /dap)
    • The following commands are also available in build mode only:
      • /weapon <ID> - gives you a weapon (alias /w)
      • /skin <ID> - changes your skin (alias /s)
      • /weather <ID> - changes the weather
      • /time <hour> <minute> - sets the game time to the given hour and minute
      • /goto (<X> <Y> <Z>) - teleports to a location. If position is not specified, player is teleported to the default spawn location. Mostly intended for recovering from drowning and then respawning in the water again.
    • To simulate client-server interaction in build mode, you can use the event void Debug::ClientData(stream), which is called when a client in build mode sends data, and the function bool Debug.SendData(stream), which emulates a server sending client-side data and triggers Server.ServerData.[3]
  • Fixed players appearing to hold their previous weapons instead of fists. This should also fix most issues with players sliding around.
  • Carjacking should be fully disabled on the client side now.
  • Fixed an issue that caused the game to crash while loading on some systems and on random occasions on others.
An example of the enhanced build mode in action can be found here.
 1. Steam users: the Steam version of gta-vc.exe may not load build mode properly; you should change your browser settings to use testapp.exe instead.
 2. Build mode is not designed for creating maps. Objects cannot be rotated once created. There is currently no way to export positions of entities created in build mode.
 3. These functions only work in build mode. Recommended practice is to do any simulation of the server's responses in a separate file to decouple the main script from your tests.
6
An update for VC:MP 0.4 (04rel006) servers has been released.
  • When a player's camera position is changed, the server will now stream entities both at their camera position and at their world position.
    • Likewise, dead players will be able to see what is happening around them until the camera fades to white.
    • Players will also be able to see what's happening near the spawn screen camera until they spawn.[1]
  • Fixed players appearing to slide around for players who do not update their clients.
Windows Server (x86)
Windows Server (x64)
Linux Server (x86)
Linux Server (x64)
 1. Dead players may report picking up pickups or entering checkpoints/spheres if they are visible on the spawn screen. You, as server owners, are responsible for making sure your gamemodes behave correctly in this case.
7
A client update has been released for 04rel006.
  • Weapons are now removed from players if the server sets their ammo to zero.
  • Fixed /setconfig game_sensitivity and game_sensitivity_ratio incorrectly reporting that they need a game reload.
This update will take effect upon reloading the browser.
8
A client update has been released for 04rel006.
  • Fixed players crashing/hanging when surrounded by a large number of players.
  • Fixed incorrect weapon IDs sometimes being reported as kill reasons.
  • Fixed snipers breaking in Steam versions of the game.
  • Fixed the widescreen setting.
This update will take effect upon reloading the browser.
9
Despite the name, this is a minor update to 0.4.5 that requires netcode changes to the client and server.
  • Fixed player positions/vehicle positions/gunfire positions being inaccurate.
  • Fixed players appearing to shoot backwards when looking behind.
  • To aid debugging, the client now reports RenderWare error codes as part of its crash dumps.
This update will take effect upon reloading the browser and joining a 04rel006 server.
10
Despite the name, this is a minor update to 0.4.5 that requires netcode changes to the client and server.
  • Fixed player positions/vehicle positions/gunfire positions being inaccurate.
  • Fixed players appearing to shoot backwards when looking behind.
Server downloads:
Windows Server (x64)
Windows Server (x86)
Linux Server (x64)
Linux Server (x86)

Plugin SDK header



An update for Squirrel has also been released:
  • Fixed Vehicle.Fix disabling taxi lights.
Updated binaries are available on the download page for the Squirrel plugin:
https://bitbucket.org/stormeus/0.4-squirrel/downloads



An updated plugin pack for 04rel006 servers can be found here:
https://v04.vc-mp.org/allplugins_04rel006_initial.7z

It contains the Windows and Linux, 32 and 64 bit versions of the following plugins:
  • Squirrel (updated!)
  • SQLite for squirrel
  • Announce
  • Java
  • MySQL for squirrel
  • Hashing for squirrel
  • Sockets for squirrel
  • XML configuration loader
Other plugins written for 04rel004/04rel005 servers will continue to work.
11
A major update has been released for VC:MP. This update largely focuses on optimization and stability but also brings new features that require both the server and client to be updated for it to work, so the version is bumped to 04rel005.

Server owners: server and plugin updates can be found in this thread. See the footnotes at the bottom of this post for additional information relevant to you.

Client
  • Updated the 7-Zip and XML components.[1]
  • Reduced the amount of bandwidth needed to sync players and vehicles.
  • Reduced the amount of bandwidth used when playing on high framerates (i.e. 60fps).
  • Unrelated to bandwidth changes, vehicles should now appear to move more smoothly and warp less frequently.
  • Improved the quality of on-foot sync when standing or crouching in one spot.
  • Modified how the netcode handles time-sensitive packets to optimize low-quality connections a bit.
  • Added a client-side scripting function, System.SetClipboardText(string), for putting text in the player's clipboard.
  • Added a client-side scripting function, World.SetStadiumText(string), for changing the text shown on the scrollbar on Hyman Memorial Stadium.[2]
  • Custom hitscan and melee weapons now report their custom weapon ID, rather than the ID of the weapon they simulate.[3]
  • Radio station playheads are now randomized when starting the game so radio stations don't play the same music in the same order every time.
  • When spectating a player, the radar will now be centered on the spectate target.
  • The scale of the radar can now be adjusted like in 0.3.
    • A new config option has been added: game_radar_scale with a default value of 1.0.
    • A new config option has been added: game_radar_scalekey, defaulting to the F9 key.
    • Pressing the game_radar_scalekey will adjust the size of the radar in preset increments. You can also set the scale more precisely using /setconfig.
  • Players who've been knocked down no longer have their nametags disappear when their heads hit the ground.
  • Players no longer flinch when other players bump into them.
  • Vehicle lights are now synced. Fixes vehicle lights being unrepairable.
  • Player::PlayerShoot is now triggered when firing explosives, projectiles, flamethrowers, and detonators. Note that hitEntity will be null in these cases, and hitPosition will be Vector(0, 0, 0).
  • Fixed Player::PlayerShoot not triggering when in first-person aim mode or when using the Sea Sparrow/Hunter.
  • Fixed players getting "punch bugged," or having their animations reset for the local player when punching them.
  • Fixed players dying with the same animation regardless of which body part they were shot in.[4]
  • Fixed drivers and passengers not being able to jump off of bikes.
  • Fixed a race condition where custom radar icons could be replaced by the Wave 103 icon if radar blips are created before the client has finished loading textures.
  • Fixed the client-side constructor GUILabel(position, colour, text, flags) to properly show text.
  • Fixed clients crashing when passing null values to client-side scripting functions.
  • Fixed radar blips glitching when being redirected to another server via /allowredirect.
  • Fixed colours of lines of text in the console being reset to white in some scenarios.[5]
  • Fixed custom vehicles with weapon attachments not having synced fire.
  • Fixed clients crashing when parsing invalid script files.
  • Fixed players being able to fire heavy weapons like the M4 very rapidly while walking via a camera glitch.
  • Fixed most cases where the client would deadlock while loading, resulting in a "Injected thread is hung" error.
  • Fixed game_framereserve and game_reconattempts not updating until quitting and reopening VC:MP when using /setconfig.
  • Fixed a crash when loading custom objects with time constraints.
  • Fixed a crash when viewing the map from the game menu.
  • Fixed players with joysticks/analog pads having bugged move animations.
  • Miscellaneous performance and reliability improvements.
This update will take effect upon reloading the browser.

Thanks to our new beta testers (@rww, @Doom_Kill3R, @Drake, @NewK, and @Sebastian) for validating these changes.
 1. Server owners: the XML parser is stricter about errors now. Use an XML validator to make sure your XML files are correct or the client may not load your content.
 2. The stadium supports a very limited character set. Lowercase letters are not supported; certain types of punctuation may not render.
 3. Server owners: the default death messages will report custom weapons as their unknown since it does not parse custom weapon names. You need to override this behavior yourself by disabling automatic death messages and sending your own messages when players die.
 4. As an example, if a player dies from a shot to the right arm, they will now play the animation where they grab their right shoulder and collapse.
 5. See this bug report.
12
Note
This update has been superseded by 04rel006. The downloads links below have been updated.

Server Update 04rel005/04rel006
Note: See the corresponding client patch notes for some additional changes that may be relevant to you.
  • Reduced the amount of bandwidth needed to sync players and vehicles.
  • Reduced the amount of lag experienced when some types of packets are lost or received out of order.
  • Vehicles should now appear to move more smoothly and warp less frequently.
  • Added a SetFallTimer plugin call to affect how long players will be knocked down for when punched, hit by a vehicle, shot at close range by a shotgun, etc. Setting this to zero disables falling down. Default is 500ms.
  • Added SetPickupOption and GetPickupOption plugin calls and a vcmpVehicleOptionSingleUse flag to mark vehicles and pickups as single-use; single-use entities delete themselves after being destroyed or submerged in water (for vehicles) or picked up (for pickups).
  • Added a GetPlayerModuleList plugin call to get a list of loaded modules (i.e. DLLs) on a player's game without crashing the client. Use the OnPlayerModuleList plugin callback to receive the list and parse it.
  • Vehicle lights, including taxi lights, are now synced. Added SetVehicleLightsData(vehicleId, flags) and GetVehicleLightsData(vehicleId) plugin calls to manage them.
  • Setting a vehicle's colour to -1 will now result in a random colour being picked, similar to the 0.3 Squirrel server.
  • The server will no longer respawn submerged vehicles while they are being occupied or stood on.
  • Fixed entities not being able to be assigned to worlds higher than 65,535 - all 2,147,483,647 worlds should be usable now.
  • Fixed the OnPickupRespawn callback never being called.
  • Fixed an exploit where an attacker could send malformed packets to hang the server.
  • Fixed players getting ejected for entering vehicles too slowly when the gamespeed is reduced.
  • Miscellaneous performance improvements
Server downloads:
Windows Server (x64)
Windows Server (x86)
Linux Server (x64)
Linux Server (x86)

Plugin SDK header



An update for Squirrel has also been released:
  • Added the following properties:
    • bool Pickup.SingleUse
    • int Vehicle.LightFlags
    • bool Vehicle.SingleUse
    • bool Vehicle.TaxiLight
  • Added the following functions:
    • void Player.RequestModuleList()[1]
    • void SetFallTimer(int)
    • int GetFallTimer()
  • Added the following events:
    • onPlayerModuleList(Player, string)
  • Fixed not being able to delete timers that have been paused.
Updated binaries are available on the download page for the Squirrel plugin:
https://bitbucket.org/stormeus/0.4-squirrel/downloads



An update for SQLite for Squirrel has also been released.
  • Updated from SQLite 3.8.6 to 3.24.0, bringing various performance improvements and bugfixes.
Updated binaries are available on the download page for the Squirrel plugin:
https://bitbucket.org/stormeus/0.4-sqlite/downloads



An updated plugin pack for 04rel006 servers can be found here:
https://v04.vc-mp.org/allplugins_04rel006_initial.7z

It contains the Windows and Linux, 32 and 64 bit versions of the following plugins:
  • Squirrel (updated!)
  • SQLite for squirrel (updated!)
  • Announce
  • Java
  • MySQL for squirrel
  • Hashing for squirrel
  • Sockets for squirrel
  • XML configuration loader
Other plugins written for 04rel004 servers will continue to work.
 1. This function does not return a value; you must use the onPlayerModuleList callback.
13
A client update has been released for 04rel004.
  • Fixed a security issue in the client.
This update will take effect upon reloading the browser.
14
VC:MP Announcements / Permanent new updater URL
« on June 11th, 02:16 AM »
For those of you still using Thijn's updater mirror:

The official updater URL is now http://u04.vc-mp.org

For players
Open up your VC:MP browser, go to Tools > Settings. Then at the bottom, replace the updater URL with http://u04.vc-mp.org



The official installer has been updated so that new installations will default to the new URLs. You do not need to download and reinstall the browser if you've already updated your settings.
15
General Discussion / Fireside chat: the future of VC:MP
« on June 2nd, 07:11 AM »
Hi guys,
Quote from Athanatos(^_^) on February 9th, 01:56 PM
Quote from Mack on February 9th, 02:12 AM
:)
Nice, I tought @Stormeus posted that vcmp is closing.
I didn't say anything like that, but even if I had, we'd be hard pressed to "close" VC:MP anyway. We don't run the servers, we don't have a kill switch in the client and the browser is designed in such a way that even if our servers go down (as has regrettably happened here), the community is able to direct people to an alternate source.

As has been mentioned, I have grown disenchanted with VC:MP development, partially because it's a lot of work for very little appreciation, but also because I'm a full-time student, and when I'm not in school I work full-time. When you're asleep for 8 hours a day, working another 8 hours a day and spending the rest of your time trying to have a social life, there's very little time to devote to the project.

I don't want VC:MP to die considering there's still an active community surrounding it. I honestly don't know what to do though -- the few community members I figured were knowledgeable enough in C++ and good ambassadors of the community don't seem to be active anymore either, and I've been away for so long that I don't even know if there's anyone I can recruit as a developer. As many have also noticed and taken advantage of, the anti-cheat infrastructure isn't robust, so completely open sourcing VC:MP is also out of the question since I have no doubt that any positive contributions by the community would be immediately outweighed by people changing the code to cheat. I'm open to hearing what the community thinks about the situation.

In the meantime I'll see if the server itself is still up, and if not I'll update the ModDB download we have to point to Thijn's server.