Releases: FAForever/server
Releases · FAForever/server
v0.9.30: Rework ladder for team matchmaking (#426)
* Add function for yielding matches asynchronusly * Move matching code so that MatchmakerQueue does not directly call start_game This will make MatchmakerQueue extend easily to XvX games, and allow LadderService (or some other service) to simply create another queue for XvX and handle matches as appropriate. * Abstracting away the MatchmakerQueue implementation * Move search tracking into LadderService * Remove player from _informed_players on disconnect * Call stop search with correct args * Use generic quality function that will work for NvM games * Some cleanup * Adjust search to work with any arbitrary team set up * Set all players's states, not just the initiator * LadderService.start_search does not need to be async * Refactor * Only remove players from list if they exist in the list * Log unknown player states * Do not set state to IDLE if player just got matched * Remove old calls to sleep * Rename variable and add comments to make iter_matches more clear * Add a more reliable way of waiting for ladder1v1 hosts * Add additional error handling if the host cancels the match setup * Remove unused method `on_message_received` * Add pipenv script for running tests * Remove outdated test * Fix deprecation warning * Update dependencies * Only set is_hosted value if it has not already been set * Always send the guest a game launch command, even if the host timed out This is necessary to make the client realize it has been removed from the ladder queue. In the future, the client should do this when it receives the command. * Remove extra debug output * Use search.matches_with function * More input sanitization * Fixed a bug where find_match would only check the first item in the queue * Fixed a bug where searches were not properly removed on cancel * Add match_found message when players are matched
v0.9.29: ICE adapter support (#411)
* #233 remove peer address & port Those are superseded by the ICE adapter * #233 Forward SDP records * #237 Clean up code in preparation for reconnect * #237 Restore game connection on reconnect * #233 remove connectivity related code * #271 Implement `ice_servers` API for Twilio NTS and Coturn servers * Creates a Twilio REST API client that fetches NTS tokens * TTL of tokens made configurable * implement Coturns TURN REST API using HMAC auth for the --static-auth-secret coturn option * #340 prevent a trailing lobby_connection to remove the player from player_service * Fix test_game.py unawaited clear_data() (#365) * Fixed memory leak when StatsD is disabled (#364) * try to remove db submodule to make the server run on test server * try to not get kicked from the game upon closing of the old lobby_connection * Post-merge fixes * Fixed cyclic dependancy * Formatted strings and used kwargs * Replaced mock with the dummy class - reverted the revert * IceMessage is now IceMsg * Added nts_client to LobbyConnection * Fixes post-merge atrocities * Fixing further post-merge atrocities * add import * Update lobbyconnection.py * address requested changes * Some formatting cleanup * Remove NatPacketServer from conftest * GameConnection doesn't take nts_client * More formatting cleanup * Games don't need port any more * Remove connectivity from integration tests * Clean up some of the CoturnHMAC and TwilioNTS stuff * Explicitly pass ttl to nts_client.server_tokens * Remove unnecessary variable * do not disconnect on Bottleneck gpg message * handle GameEnded gpnet message * WIP debugging * WIP debugging * prevent non ice clients from joining * cleanup * cleanup
v0.9.28: Issue/#407 unranked games not being scored (#408)
* Added failing test for unranked games not being scored * Remove validity check in on_game_end * Pls coveralls...
v0.9.27: Issue/#319 Ladder map repitition (#398)
* Add sqlalchemy with asyncio * Add test for excluding last played maps * If all maps were played recently, just pick a random one * Query laddergames by looking for "ladder1v1" gamemod * Close db connections when server shuts down * Only return map_id * Clean up imports * Remove mysql specific types * Replace db_pool with sqlalchemy engine everywhere * Add test for empty map pool case * Remove logging cursor * Rename faction "nomads" to "nomad" * Add debug for game timeout * Clean up some formatting * Make sure to fetch ladder results. * Add test for querying ladder history from db. * Set ladder maps correctly. * Replace fetchall with async for iteration where possible. * Refactor update_game_player_stats * Fix stuff I missed during rebase * Row is a dict cursor * Fix column name * Add typing for map tuple
v0.9.26
v0.9.25
v0.9.24
v0.9.22
Fix map_id no longer being set
v0.9.21: Merge pull request #362 from Rackover/sanitize_name
Filtering non-latin letters in game names
v0.9.20
FORCE_STEAM_LINK_AFTER_DATE is int