* Add Monitoring plugin
* Prepare pipeline
* Fix Rider stupidity
* Fix Windows build
* Remove translation files
* Apply feedback
* Add steam id as additional tag to metrics
* Apply feedback
* Add runtime metrics
* Fix my brain not braining
* Use extension methods to add instrumentation and Add monitoring for outbound HTTP traffic
* Upgrade OpenTelemetry.Extensions.Hosting to prerelease due to runtime exception
* Remove config and add file that was supposed to be committed yesterday to fix the runtime exception
* Revert changes to publish.yml
* Remove localization
* Apply feedback
* Apply feedback
* Fix version number
* Revert use of property in Kestrel (even tho it's an outside caller to the source class)
* Initial commit for 2FA plugin
* Shut up netf
* Actually import this authenticator right into ASF, and add safeguards
* Further fixes
* Render device_id in the resulting maFile
* Start work on extracting remote communication
* ok
* Dockerfile fixes
* More fixes
* Prepare /Api/Announce and /Api/HeartBeat
* Decrease publish race conditions
* OK
* Misc
* Misc
* Misc
* Move Steam group part back to ASF core
* Finally implement match actively v2 core
* Update RemoteCommunication.cs
* Use single round exclusively, report inventories more often
* Use randomization when asking others for assetIDs
* Add support for license and crowdin
* Kill dead code
* Fix return type of inventories
* Fix responses for good
* Unify old backend with new
* Report whole inventory, always
Helps with optimization on the backend side in terms of inventory fetching
* Update RemoteCommunication.cs
* Determine index of each asset and tell server about it
* Update AnnouncementRequest.cs
* Fix ASF screwing up with the order
* Fix warnings
* Misc rename
* Final logging touches