Skip to content

Releases: FAForever/server

v1.15.0 - Login time sync

24 Feb 17:17
665454a
Compare
Choose a tag to compare

Sends the current time on login. Also includes regular dependency updates.

What's Changed

New Contributors

Full Changelog: v1.14.1...v1.15.0

v1.14.1 - Bugfix

10 Jan 05:24
98271c4
Compare
Choose a tag to compare

Fixes a small number of very minor bugs having to do with errors being triggered in various ways. The only one worth noting here is:

  • Duplicate database key error when adding the same friend twice. This was very rare but would cause you to be disconnected from the server. Now it will simply be ignored.

Deployment Notes

  • Config values will be read from environment variables with the same name at low priority. Environment values will be overwritten by values specified in the yaml config file. NOTE: values from environment variables will always be strings and should be reserved for setting passwords only.

What's Changed

Full Changelog: v1.14.0...v1.14.1

v1.14.0 - Player disconnect updates

05 Jan 03:19
00cf9ff
Compare
Choose a tag to compare

This release includes a few enhancements to existing messages as well as a number of bug fixes. The main new feature that's now available is the detection of when players go offline via the "state": "offline" field in player_info messages. This allows clients to update the chat list accurately without needing to rely on the IRC server. There is also a new hosted_at field in the game_info message that allows clients to display how long a game has been in lobby.

The major bugfix this time around has to do with how the server was tracking players state internally. Previously, it would allow you to host two games at the same time, or join the matchmaker and host a game at the same time if you tried to do those things in the wrong order. You could then get into a state where you'd get Cant xxx while in state xxx messages that didn't seem to make sense. These situations should hopefully no longer happen, but we will continue to monitor the logs as the state tracking is a pretty complex and tricky thing to get right.

There were also a few smaller bug fixes:

  • Single player games will now be marked as such instead of being marked as 'uneven teams'.
  • Game titles can no longer be empty or contain only whitespace
  • Bans now prevent you from logging in immediately rather than letting you log in until your token expired, and the ban message will include a note about where to send ban appeals.

What's Changed

Full Changelog: v1.13.4...v1.14.0

v1.13.4 - Infrastructure removals

12 Nov 21:58
e1a0986
Compare
Choose a tag to compare

Removes functionality that can no longer be used due to infrastructure changes.

What's Changed

Full Changelog: v1.13.3...v1.13.4

v1.13.3 - K8s integration and graceful shutdown

22 Oct 17:01
883dda8
Compare
Choose a tag to compare

These changes are released as their own version to isolate potential issues and make it easy to roll back to the previous version without losing any other functionality.

Deployment Notes

New config arguments:

  • SHUTDOWN_GRACE_PERIOD how many seconds to wait for games to end before doing a hard shutdown. If using kubernetes, you must set terminationGracePeriodSeconds on the pod to be larger than this value. With docker compose, use --timeout (-t) to set a longer timeout.
  • SHUTDOWN_KICK_IDLE_PLAYERS whether or not to kick idle players during the shutdown grace period.
  • HEALTH_SERVER_PORT port for k8s compatible http health server to listen on.
  • LOGIN_TIMEOUT seconds to wait for a new connection to successfully authenticate before closing the connection.

What's Changed

Full Changelog: v1.13.2...v1.13.3

v1.13.2 - Remove IRC password feature

17 Oct 19:50
ed5fb65
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.13.1...v1.13.2

v1.13.1 - League service integration update

27 Aug 20:26
455912e
Compare
Choose a tag to compare

This release includes a change to add the game id to the rating change message used by the league service. Plus dependency updates.

What's Changed

Full Changelog: v1.13.0...v1.13.1

v1.13.0 - PROXY protocol support

28 May 15:37
e4e41df
Compare
Choose a tag to compare

This release adds a behind the scenes change to enable the server to be run behind a TCP proxy while still seeing accurate IP addresses for reporting and assigning appropriate country flags. It also includes regular dependency updates.

Deployment notes

Entries in the LISTEN section of the config now support two additional non-required options, PROXY and NAME. The PROXY option can be set to true to enable support for the PROXY protocol on that port. This should only be enabled when running the server behind a reverse proxy like nginx or traefik and care must be taken that the lobby server port is not exposed to traffic from any other source by configuring an appropriate firewall. The NAME option can be set to a string that will be used in log messages associated with that ServerContext. This can be useful to identify how clients are connecting to the server.

What's Changed

Full Changelog: v1.12.9...v1.13.0

v1.12.9 - Matchmaker tweaks

18 Mar 17:04
314d1f0
Compare
Choose a tag to compare

This version continues to hone in the matchmaker behavior to find an optimal balance of wait time vs game quality across all rating ranges. New players and high rated players will now be matched a bit more cautiously to try and improve game quality. In addition the map pool used for map selection will now be determined by the average displayed rating of the team as opposed to the minimum. This means it will now be possible for you to get maps from map pools which are above your rating in TMM if you are matched with higher rated players.

Developer notes

Since the map pool selection uses average rating it will not necessarily be possible to show an accurate map pool in the client.

Deployment notes

In this release the Dockerfile was rewritten and does some things different internally. Most notably the code is no longer copied to /code and is instead installed to the system as a python package. Only main.py (formerly server.py) is copied to /code and serves as the main entrypoint for the application. These changes should still be fully compatible with the old configuration in faf-stack, however, they could potentially break more customized setups.

What's Changed

Full Changelog: v1.12.8...v1.12.9

v1.12.8 - Achievements Fix

12 Jan 03:35
1912be9
Compare
Choose a tag to compare

Sends achievement updates over RabbitMQ instead of trying to contact the API directly. This means changes to the API will no longer break the achievement update code in the future. This requires the API to also listen for updates over RabbitMQ before achievements will work again.

What's Changed

Full Changelog: v1.12.7...v1.12.8