Removed GTAPACKET_PLAYERCONTROLS to save bandwidth - it didn't serve any purpose from any tests or make controls arrive any quicker
Improved checks in the JavaScript code to prevent weird crashes
1.5.9
Fixed various crashes, race conditions and added null checks to crash at earlier points to help with debugging race conditions
Added command line options -multithreaded -disablemultithreaded to control multithreading
Added command line option -allowadmin to ignore the newly added admin check
Added check at startup for if the server is running as administrator and prompting if startup should continue
Removed OnReceivePacket event as it was an internal debugging event (the IDs change per server release and it provides no benefit to scripters)
Linux build has reverted to mozjs-60 for now
1.5.8
Fixed a use after free when enumerating files
Added safety checks around matrix operations to avoid out of bounds memory access
Fixed CStringBuffer::Copy buffer overrun
Initialised a lot more member values for safety
Fixed corruption in CMipLevel::LoadBMP
Fixed C2D::Flush not null checking the m_p2DMaterial
Added null checks around GetModuleHandle calls to satisfy Visual Studio
Fixed possible buffer overruns within ped sync
Fixed a possible crash in the UserChat function
Added a proper cast to fix potential problems when seeking past sync data in a packet
1.5.7
Prevent CPU lockups on input thread
Fix some race conditions by sending the client list early on
Compatibility for MafiaC by defining the games
Delete the element if the syncer deletes it if always exist for syncer flag is enabled
Player sync for GTAC sync - IV
Support for anticheat disconnection reason
1.5.6
Ensure vehicles are prioritised before peds
1.5.5
Fixed an issue with warping peds into a vehicle (ensure we create vehicles during the vehicle state change)
1.5.4
Thread names are now set on Linux
Fixed a crash if the port is already in use
Packets are now sent/received on the network thread
1.5.3
Peer2peer deletion now attempts to migrate entities
Tidy ups
Fix some SpiderMonkey issues
Script events can always prevent default now
Added some warning outputs relating to events
NetDelay reduced from 10 ms to 5 ms
Added some crash fixes for malformed packet handling
Fixed uninitialised variable in giveWeapon script function
Fixed some events not marked as cancellable
Refactor of server to be more generic to aid with Mafia Connected
Fix async await issues
1.5.2
Added fileExists to scripting
Added networked flag to NetObject
Added warning for 32-bit users
Removed _x64 from the executable name on Windows
OnElementStreamIn/OnElementStreamOut are now bindable
Upgraded SpiderMonkey from esr60 to esr68
Updated copyright
1.5.1
AlwaysExistsForSyncer is now reset on syncer change if transient to allow deletion
Peer2peer elements syncer is no longer forced (Seems to fix entering cars)
rockstarmultiplayer option renamed to iv_nativemultiplayer
Scripting crash fixes
1.5.0
Removed old matchmaking logic and replaced with original logic
Removed a lot of old or dead code
Fixed an issue with SetInterior being virtual when it shouldn't be
Added a quickMatch function to client for IV
Improved support for GTAC multiplayer - IV
1.4.5
Fixed a crash that could happen when deleting elements if synclocalentities is enabled
1.4.4
Collect garbage happens when starting/restarting a resource now
ECMAScript Internationalization API added to SpiderMonkey (Requires Windows 7 or newer)
1.4.3
Removed unfinished cargenerator element
Fix for IV not syncing vehicle state properly
Added rockstarmultiplayer to the config
1.4.2
Removed useless builtin help command
Disabled unoccupied vehicle sync for now to save bandwidth
Fixes for vehicle colours when using EFLC
Scripting changes
Bug fixes
1.4.1
Remove network thread
Networking is now managed on the main thread removing delays from locks
Move to SpiderMonkey esr60 on Windows for consistency (Now requires Windows Vista or newer)
1.4.0
Improved element streaming
Fixed server setting a player's position
Failed network event args now show which event it was for
Attached elements don't sync themselves anymore. Synced by parent element
Server bind IP can now be overridden with command arg
Added anticheat system to verify files. See https://wiki.gtaconnected.com/Anticheat
Lots of scripting changes (See https://wiki.gtaconnected.com/ScriptingChanges)
1.3.4
Fixed deadlocks relating to the server query
1.3.3
Relaxed ini/language parsing
Less stack memory usage when parsing files
Static link the Visual C++ runtime (aside from SpiderMonkey requring the Visual C++ 2015 runtime installed)
Fixed a logic flaw where sync was sent even if there was nothing to sync
Fixed a logic flaw to why the Console NetMachine was sent to clients
NetEvents are handled better so important events aren't lost
Increased max netobjects to 16384
1.3.2
Fixed password issues
1.3.1
Fixed broken console input
1.3.0
Rewrite of low level networking (RakNet is now removed from the project)
Lots of optimisations tweaks and fixes all throughout
VC - Fist punch bug - hold down left click and other player sees punching every 2 seconds, where local player only sees 1 punch in total.
VC - Attack styles for first 2 weapon slots. First slot fist/knuckle-duster. Second slot melee weapons. E.g. Left punch, right punch, right kick, katana has 3.
VC - Defense styles. E.g. Fall to floor, etc.
VC - Projectiles. The bug before was players would see other players drop the projectile right by themself, instead of throwing it the specified distance.
VC - Fixed vehicles exploding on connect, if they are actually blown up.
VC - Fixed crash with entering a vehicle with a sub machine gun, e.g. Tec-9.
VC - Fixed seat-change bug when entering a vehicle. (Enter via driver key then press passenger key whilst actually getting in/on, or passenger key then driver key)
VC - Car turret rotation sync. Both LR + UD.
VC - Vehicle damage sync. Panels, Doors, Wheels.
VC - Reverse key sync when in vehicle. E.g. On a bike, reversing.
SA - Added look-behind sync.
SA - Fixed sliding to the vehicle when entering, then teleporting in.
SA - Fixed teleporting out of a vehicle
SA - Fixed walking (ALT + move) sometimes not syncing for remote players
SA - Crouch/roll sync
SA - Gun aim position sync
SA - Projectiles (grenades, molotov, etc) sync
SA - Vehicle/bike reverse sync
SA - Vehicle horn sync
RW - Added ped animations to scripting
1.2.10
Update enet from 1.3.16 to 1.3.17
Update mongoose from 6.17 to 6.18
Update curl from 7.70.0 to 7.75.0
Update lua from 5.3.5 to 5.3.6
Update sqlite from 3.31.1 to 3.35.0
Allow access to seterrorhandler, setdebughook, enabledebuginfo, getstackinfos and resurrectunreachable in Squirrel
Debug information is enabled by default - Squirrel
Fixed some network corruption issues if ID_TIMESTAMP was sent
Symbols included for Linux binaries to aid with crashes
1.2.9
Removed GTAC hostmigration configuration and leftovers
1.2.8
Increased NetObject limit to 8192
Added getConsole to get the console and getClients no longer includes it
If getting the ping of the console 0 is returned instead of a crash
Curl objects are not created until needed anymore
Multithreaded networking is opted out always until further testing
1.2.7
IV gamemode/episode options are now optional (remove them from the configuration for the best experience)
Support for latest client
1.2.6
HTTP url option (to offload TCP port)
Removed IPv6 support for now as RakNet has broken support
Fixed an issue where the previous update broke the server query
1.2.2
Fixed an issue where createPlayer returned an object rather than a player
Fixes an issue in createBlip where icons didn't work
Fixed an issue where newly joined machines were not marked as connected
Players are stored weakly so when destroyed it will be nulled
The console machine isn't included in player counts such as Discord Rich Presence
Added saveTextFile to match loadTextFile
Protocols (E.g. http) are considered case insensitive in internet requests
Fixed some memory overflows
Client.administrator and Client.console are now synced up when changed by the server
1.2.1
Fixes a bug where vehicles added to the world multiple times can spawn repeatedly
Fixes an issue where GUI elements stay behind on resource stops
Adds support for timesync and weathersync configuration options
1.2.0
Fixed an issue where some paths caused a directory creation error
Added full UTF-8 and UTF-16 support, this is a big overhaul to the project
Less memory fragmentation and allocations because of UTF-16 usage
Fixed memory leaks from misusing curl
Most internals tidied up and random issues fixed
IV overhaul and support (beta)
Updated Firefox to ESR60 (Linux only because of Windows XP Compatibility)
1.1.23
Updated mongoose from 6.14 to 6.17
Updated curl from 7.64.1 to 7.70.0
Fixed an issue in http requests if callback didn't return anything
Fixed an issue where all requests were posted if a blank string is passed for post fields
Added support for returning dictionaries to squirrel
Relay packet support (if peer2peer isn't available or disabled)
XML searching is now case insensitive
1.1.22
Removed lua functions from the global table that aren't copied into resource environments as is
Removed squirrel functions from the global table that aren't copied into resource environments as is
Fixed a crash that could result from assigning to an IDictionary (Forgot to AddRef)
Allow enumeration of dictionaries in javascript (Allows JSON.stringify to work with dictionaries)
Fixed a crash when handing improper vectors to scripting functions
Updated Visual Studio to fix "VS2017 C++ sometimes set wrong exception frame"
Allow stdin stdout and stderr in both lua/squirrel
1.1.21
Version 1.1.20 accidently used netgame version 20 partially
Fixed some issues with civilians
1.1.20
Fixed an issue where mixing the usage of squirrel/lua would cause a leak and possible corruption
Improved memory usage with lua/squirrel
Fixed a crash when deleting elements
Fixed threadding issues regarding downloads
Fixed a potential issue when resizing packets
Fixed uninitialised memory in Civilian (Results in the widely hated blend animation crash)
1.1.19
Fixed a crash in triggerEvent
Fixed an issue with masterlist registration
Raise errors if bindEventHandler or triggerEvent fails
1.1.18
Fixed a potential crash on command handlers without arguments
Fixed an issue where the dimension set was the last dimension
Added inPoly script function
Added OnPlayerCommand event
Added typeable console (use -noinput to save resources)
1.1.17
Fixed an uninitialised variable in ScriptFunction
1.1.16
Improved pickup management
CVar's are used for game related options
Removed broken socket script functions (for now)
Support for masterlist rejection
Added UGP protocol
Added VC civilian sync
1.1.15
Fix createPickup not spawning the pickup
Siren/door state sync
Allow car jacking and sync ped seat much better
Embedd the resources on windows
Fix a memory leak on quit if elements existed that wasn't bound to a resource
Fix a lot of redundant loops, minimising the cpu usage
Don't send the sync right after an element is spawned
Removed processinterval as the server should process as often as possible
1.1.14
Fixes an issue with JavaScript that could result in 'out of memory'
1.1.13
Various packet optimisations
Linux useragent support
Don't create directories until needed
Better compatibility for directory creation
Built in nametags configurable
1.1.12
Dimension is now synced to the client
Keybinds work serverside
Removed support for GalacticC
Scripting functions moved into a gta namespace
OnPedSpawn event is now triggered after any logic
1.1.11
Fixed an uninitialised free which could cause a crash on quit
Logging on chat output is moved to user chat
Fixed getClientFromPlayerElement returning the element rather than the client
Fixed file manager directory issues with Linux
1.1.10
Multithreaded file downloading for faster downloads
Files are not loaded into memory as a whole anymore, they are read in chunks to use less RAM
Improvements to resource system to use less RAM
Added option to disable built in HTTP server
1.1.9
Fixed glitch with rotation
Included SA car colours
1.1.8
Increased version limitations
Improvements to Linux support
If an event fails to add a script error will always be raised now
Command line arguments now implemented (Linux)
Support CTRL + C handling (Linux)
Implemented log files
Added missing properties to element
Support for ArrayBuffer in JavaScript
Added collectAllGarbage script function
1.1.7
Fixed an issue where elements could wrongly be deleted clientside
Engine state is now synced
Extra vehicle colours are now synced
Vehicle door locks can be controlled by the server
1.1.6
Adds support for SA vehicle colours
Adds functions to set/get vehicle colours
1.1.5
Fixed an issue where the vehicle exit event was triggered multiple times
Sockets system is enabled
Added xml interface
Added exports system
Fixed several memory leaks in SSL
Fixed several memory leaks from world entities
1.1.4
Fix the rotation being ignored because of standard controls
Fixed idenfity management of elements that could cause player spawning issues
1.1.3
Fixed crash when client disconnects while spawned
1.1.2
Fixes included from client changes
1.1.1
Upgrades to third party libraries
Renamed game to gta and added game as an alias for compatibility
Optimisations and fixes to underlying engine
Engine module renamed to Galactic to prevent potential module conflicts
Added getElementFromName
Improved efficiency of element identifiers
Added ReadLine to Stream class
Improved error handling for scripting arguments
Removed some unrequired information
Mitigated the Meltdown and Spectre attacks
Removed functions that could be used to track users
Renamed SDL functions to be lower camelcase
Copyright changed to 2019
Car colours support
Vice City support
1.1.0
Support for latest client
1.0.18
Removed network id limits
Additional scripting functions
Text colouring
Fixes for obscure DPI issues
Tidied up command handler code handling
Peer2Peer experimental support
Tweaks to various network packets
1.0.17
Arguments are now displayed using a 1 based index rather than 0
Check an element is in the world before sending packets relating to it
Synchronisation of modelIndex
1.0.16
Updated to support new masterlist format
Can specify which games are supported
1.0.15
Fixed packet compression not working
Added workaround for /dumpdoc where if the Documentation folder doesn't exist I create it for you
1.0.14
Improved replication management
Added support for sending element related packets only if absolutely required (optimise out packets that possibly aren't required and resend another time)
Element data can now synchronise after an element is spawned and keep updated optionally
Packet compression support
Rewrote packet logic for better sync and traffic management
Fixed some scripting related corruption issues
Support for train headlights/taillights
Removed unused code
Time/Weather/Trains/Planes/SSV bridge sync support
1.0.13
Fixes timers not working at all
Fixes some minor corruption
1.0.12
Compatible with new clients
1.0.11
Compatiblity and optimisation with 1.0.52 and newer
Started implementing javascript
Re-release fixes crash on startup
1.0.10
Stability fixes
New artwork
libMultiplayer now keeps track of element identifiers properly
Added checks to libMultiplayer for when switching players
Players can now be despawned properly
Fixed an issue where if the syncmode was set to replay elements would only be sent/deleted if sync was received causing no player in specific cases
Less DLL files with the server
1.0.9
Stability fixes
New scripting functions and events
1.0.8
Stability fixes
Fixed an issue where restarting a resource missed some things
1.0.7
Rewritten parts of the resource manager
Removed 'MESSAGE:' on basic logging
1.0.6
Zip file support
Included more resources
Pickup streaming
Enter/exit animation sync
Stability fixes
1.0.5
Added Pickup element
Stability fixes
1.0.4
Encrypted network traffic support
Optimised network traffic
Elements are only syncronised if a change happens
Stability fixes
1.0.3
Added missing element defines
Fixed an exploit where someone malicious could crash the server