Merging all the current development changes from dev over to the master branch, switching from a feature -> dev -> master branch layout instead to a feature -> master layout. The master branch will now contain the latest changes rather than a separate dev branch.
Compiling the latest version from sources now should instead use a specific release tag rather than the latest branch unless you are okay with possible breaking unreleased changes.
Changes
Better handling for internal game admin logic
Changed how subscriptions are handled
Lots of docs updates and notes from new findings
Nginx client auth example code
Config variable for specifying a specific host to bind on
Various README changes and notes
New locking queue for ensuring packets appear in the correct order without weird delaying behavior
Reduced QoS probing requirements
Manually rewrote handling for session read/writing to improve reliability, performance and memory usage of the previously sharded and disconnected read write handle system
Removed unnecessary task spawning
Replaced short lived async locks with parking_lot lock primitives, these locks are immediately unlocked after swapping or copying a value so there is no need for async acquisition and all the colored functions that creates
Replaced read/write locks with mutexes in places where read/write lock is not as useful
Added additional QoS options (Disabled, Hamachi)
Handling for UPnP packets
Generated game protocol version hash at runtime (Not too special but could be useful later on)
Removed lots of unused or outdated code
Partial frame persisting to improve packet decoding in cases where the entire packet is not immediately readable
Replaced existing generated leaderboard system (Which expires and is updated at fixed intervals) with a persistent leaderboard that is stored in the server database
Dependency updates
Development seeding code for seeding the database with many users
Breaking changes have bumped the version to v0.6.0-beta
Description
Merging all the current development changes from dev over to the master branch, switching from a
feature
->dev
->master
branch layout instead to afeature
->master
layout. The master branch will now contain the latest changes rather than a separatedev
branch.Compiling the latest version from sources now should instead use a specific release tag rather than the latest branch unless you are okay with possible breaking unreleased changes.
Changes
parking_lot
lock primitives, these locks are immediately unlocked after swapping or copying a value so there is no need for async acquisition and all the colored functions that createsBreaking changes have bumped the version to
v0.6.0-beta