Categories
Uncategorized

Ch-ch-ch-ch-changes (to the server)

Hi Everyone, it’s been a long time!

Today (Monday, February 1st) we are starting the switch to the new FAF server software that we’ve been working on for over a year.  We’ve tested this software as much as we can “on our own”.   I want to warn everyone that their will *almost certainly* be problems with the new server software.  We simply don’t have enough people who can test and help us find every problem in advance.

Please note this update does *not* include the FAF mod (units/balance) beta update. We’ll hopefully do that later this week.

So, wish us luck, and we’ll keep you up to date on how things are going!   While this may bring short term problems, it’s going to make things much better in the long run.  It’s an investment in the future of FAF.

UPDATED: When I took over FAF, my #1 goal was to make the game more fun, and for me, the technical side of “fun” came down to three goals:  Make the server more stable (which we’ve done over the last two years [although again it’s likely going to be trouble for a few days this week]), make game connections work better and drops happen far less often, and make the server easier to maintain and scale.

As a result the new server software features three big changes:

1. Many of the server modules have been rewritten/refactored, modernized, cleaned up, and moved from Python 2 to Python 3.  One of the challenges we’ve faced with the current server is an ongoing memory “leak” where the FAF server software uses more and more RAM every day.  These leaks mean we need to restart the server modules every month or so.  This update will start to address that, and it will make it much easier for us to introduce new server/client features in the future.

2. The FAF proxy server is being replaced with a standards-based, open source proxy server: http://coturn.net … The coturn server implemented the internet standard wonder-trio of STUN, TURN, and ICE to try to connect client directly and then fallback to the proxy if it can’t.  Coturn is very widely used, and will bring us up to the latest in proxying technology and techniques.  The FAF client has also been updated to use the STUN/TURN/ICE standards instead of the older, proprietary FAF proxying techniques – so expect a new client download soon.

In addition, the TURN/STUN/ICE support in the FAF client will let us easily explore the idea of having regional proxy servers in the future (ie, one in EU, one in US, one in ASIAPAC.  Yes that means you too, Australia and New Zealand.)

3. All of the server software has been moved to Docker containers.  Docker makes the server easier for us to deploy, manage, and secure.  It will also make it easier for us to scale FAF to larger sizes cost effectively.  https://www.docker.com/what-docker

FYI, We plan to move things over in this order:

A) Forums – DONE
B) faforever.com web – DONE
C) Wiki – DONE
D) Mumble – DONE
E) Everything else – Scheduled for Weds, February 3rd

If you have any problems at all to report, please post them here:

http://bit.ly/newfafserver

Or if that’s not working, PM sheeo or I on FAF chat.

I want to sincerely thank all the developers who worked on this upgrade over the last two years, including ckitching and of course sheeo.

Best,

-Visionik