Skip to content

Releases: FAForever/server

v0.9.30: Rework ladder for team matchmaking (#426)

20 May 10:56
e288979
Compare
Choose a tag to compare
* 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)

20 Apr 14:33
52e0b2f
Compare
Choose a tag to compare
* #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)

08 Mar 22:41
Compare
Choose a tag to compare
* 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)

02 Mar 17:35
Compare
Choose a tag to compare
* 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

30 Dec 14:33
Compare
Choose a tag to compare

Refactored search to remove redundant parameter 'player' (#377) …
Issue/#195 coop leaderboards now work
Issue/#267 Handle client passing 'uid' as a string (#379) …
Issue/#323 Clean up spacing and
's (#378) …

v0.9.25

21 Dec 11:55
e0bd9ba
Compare
Choose a tag to compare
Fixed ranked mods being unranked (#376)

v0.9.24

17 Dec 21:51
d5e3e76
Compare
Choose a tag to compare
  • Fixed memory leak related to STATS_D being disabled
  • Increased logging on game_stats_service
  • Python server now uses the Java API
  • Fixed HAS_AI unranking non-AI games
  • get_army_result now takes the most reported result
  • Removed unused DB submodule

v0.9.22

31 Oct 21:53
Compare
Choose a tag to compare
Fix map_id no longer being set

v0.9.21: Merge pull request #362 from Rackover/sanitize_name

31 Oct 18:03
0216f87
Compare
Choose a tag to compare
Filtering non-latin letters in game names

v0.9.20

15 Sep 10:52
40dbf44
Compare
Choose a tag to compare
FORCE_STEAM_LINK_AFTER_DATE is int