Releases: FAForever/server
v1.3.3 - Handle ConnectionError Bugfix
Summary
Even after adding a workaround for the asyncio bug, there were still new places where possible connection errors needed to be handled.
Pull Requests
- Bugfix: Handle connection errors (#524)
v1.3.2 - Asyncio bugfix
Summary
Due to a refactor and a bug in asyncio its self, some of the code could throw an unexpected error if two messages were being sent over the same protocol object at the same time. This error would then propagate out to the calling code and cause functions to exit early. As a result, sometimes the game's list wouldn't be cleaned up properly causing in absurd game counts like Currently hosting 1234 players and running 2253 games
.
Pull Requests
- Asyncio drain fix (#522)
v1.3.1 - Rating Fixes, Fixes
Summary
Fixes a bug in the new game rating code where games would only be rated if they were a clean sweep (as in every player on the winning team survived).
Also adds some more fields to the game_launch
command which will be needed for projects like Team Matchmaking and Galactic War, and really should have been added a long time ago.
Pull Requests
v1.3 - Flag and Rating Fixes
Summary
Flags are back! Maxmind, the company that distributes our GeoIP database for free, changed the way the database is downloaded due to recent privacy legislation being passed in California (CCPA). The server is now able to handle the new URL and more importantly the new data format.
Less immediately noticeable (but still important) are the changes to the game rating code. Games should now either be rated correctly or not at all, fixing a bug where the winning team could sometimes be given a loss depending on how the ACU kills played out. Custom 1v1 games ending in mutual ACU explosion are now correctly counted as a draw (just like in ladder).
This version also finally stops sending the list of featured mods on log in. It is the client's responsibility to fetch the featured mod list from the API. The latest versions of both the official and legacy clients already use the API, but older versions of the legacy client will no longer be able to host games. Go update!
Other noteworthy changes:
- Added tests for admin/moderator commands. Kicking, banning, joining IRC channels, and sending broadcasts are supported.
- Bans are checked when hosting or joining a game, meaning players can no longer circumvent a ban by staying logged in forever.
- Added a command for requesting matchmaker info. This means new versions of the client will show the remaining ladder queue time immediately after opening the ladder1v1 tab.
Deployment Notes
- New environment variable
GEO_IP_LICENSE_KEY
.
Pull Requests
- Fixed some more places where coroutines were not awaited (#516)
- Refactor Game.compute_rating (#496) [contributed by UmbraSolis]
- Await async sending functions in command_admin (#515)
- Issue/#513 New geoip database download URL (#514)
- General code cleanup (#507) [contributed by Raider61]
- Refactor message sending interface to be a coroutine (#497)
- Issue/#503 contact policy server (#510)
- Clean up game outcome handling (#495) [contributed by MazorNoob]
- Let client do localization for Close FA message (#502)
- Don't echo DB operations to log (#504) [contributed by MazorNoob]
- Check ban when hosting and joining a game (#461) [contributed by Louvegarde]
- Add test for receiving matchmaker updates after queue cancel (#498)
- Add endpoint for requesting matchmaker info (#489)
- Don't send mod list to the client (#464)
- Install aiomysql from git and re-enable warnings (#493)
- Auto-rollback DB changes after every test (#494) [contributed by MazorNoob]
v1.2 - Matchmaker Fixes
Summary
This release brings a few much needed ladder fixes. For one, it fixes a bug where the matchmaker would look at players global game count (instead of ladder game count) when deciding to apply a new player rating adjustment. This resulted in the rare case for players who played only ladder to be matched against opponents of lower skill level. Another important change is the addition of a new player matching round to the matchmaker. Any new players who do not find a match at the end of the matching round will now be randomly matched with each other, or if needed, with any available opponent whose mean is less than 1600. This should make it easier for new players to accumulate the games needed for a consistent ladder experience, and should increase the amount of ladder games over all.
Other noteworthy changes:
- Queue pop times are now calculated by trying to maintain a constant number of players in the queue.
- Removed unnecessary whitespace from server messages. This should reduce the server's required bandwidth by around 10%
- Some significant code refactoring.
Pull Requests
- Match newbies randomly (#492) [contributed by UmbraSolis]
- [WIP] Support for multiple player ratings (#486) [contributed by MazorNoob]
- Refactor deviation thresholds (#490) [contributed by UmbraSolis]
- Smarter queue pop times (#481)
- Misc cleanup (#484)
- Call json.dumps without whitespace in protocol messages (#479)
- Use ladder1v1_rating.c.numGames for ladder newbie calculation (#472) [contributed by Raider61]
v1.1 - Better 1v1 matchmaking
Summary
The highlight of this release is the revamped matchmaking system which includes a new and hopefully improved matchmaking algorithm. To enable the new algorithm, the matchmaker now runs on a time based schedule which adjusts depending on how many people are queued. Players who are further to the front of the queue will have higher priority during the matchmaking system, and players who are not matched during one round will naturally move up in the next one.
Other noteworthy changes:
- The server now sends a deprecation warning to unofficial clients on login
- Fixed an error when liking mods that don't have a thumbnail
Pull Requests
- Fix spelling error (#470)
- Only tell authenticated clients about matchmaker info (#466)
- Increase metrics collection (#463)
- Grammar fixes to readme (#467)
- Added ban duration SECOND setting on closeLobby (#443)
- Ladder matchmaking at dynamic intervals (#457)
- Remove check for matchmaker_ban table (#452)
- Unlock the aiohttp dependency (#462)
- Fix command_modvault exception (#458)
- Send a warning to players logging in with the legacy client (#456)
- Checkout recent version of faf-stack
- Remove landscape config file
v1.0 - Achievements Fix
v0.9.33: Fix: Ensure that LadderService continues to process matches (#449)
* Ensure that LadderService continues to process matches if it encounters an error * Add searches to the logging statement This info is probably redundant because there should be matchmakerqueue logging right before it, but who the heck knows. Better to be safe than sorry I guess.
v0.9.32: Issue/#437 Add timestamps to logs (#441)
* Add timestamp to logs * Remove module name from loggers * Remove unused import
v0.9.31: Hotfix 9.30: Fix avatars and py client matchmaking (#436)
* Fix player service query to look at selected avatars only * Switch game connection logging to TRACE level * Allow faction to be passed as int again * Don't crash if icon is null * Add handler for automatic teamkill reporting, and ignore AI teamkills * Improved the inform_player test to verify functionality after logging out * Separate teamkillreport and teamkillhappened * Refactor test to not use mock, but send the correct message to signal hosted game