Categories
advertising Promotion

Map Bundle Ad #10

Map Bundle Promotion Post #10

Scroll Down To View Each Map!

MAP NUMBER 1:
ADAPTIVE AHSSA-SHI

Map By: svenni_badbwoi

The Seraphim just discovered Ahssa-Shi (named after god of reincarnation). The latest scans revealed that the planet is habitable, resource-rich and seems to have had large water reserves. Unfortunately the first exploring mission got somehow annihilated under mysterious circumstances at the landing site, plus the rescue signal was intercepted by the other factions. These events postponed further investigations, in order to win the battle ahead.

Latest version: 3
Highly improved AI path nodes – thx to ‘unknown guru’
Improved script to avoid vanishing decal glitch – map-decal disappeared, when optional structures (probably due to decal) and a certain amount of unit footprint/track-decals were spawned
Props statistics: 48.308 Mass & 84480 Energy
Mapping tools: FAF & SupCom map editor, Inkscape, World Machine, Photoshop, b2ag mirror tool and random prop generator

MAP NUMBER 2:
OSIRIS

Map By: Mr. Mozart

Remember; If you would like to have your map advertised, you can contact JJs_AI on the forum, Discord or via the FAF Client. Users can also submit their maps for advertisement here: http://forums.faforever.com/viewtopic.php?f=2&t=14713

Categories
advertising Promotion

Map Bundle Ad #9

Map Bundle Promotion Post #9

Scroll Down To View Each Map!

MAP NUMBER 1: ASYUT CANALS

Map By: biass

This map is a 1v1 navy map inspired from the gameplay from ‘waters of isis’. This map takes that slower navy play and pushes it into a competitive setting, however as always any strategy should be viable here. It’s 15km, so expect a little longer travel times compared to your regular 10km maps. Have fun, and mind the rocks.

Remember; If you would like to have your map advertised, you can contact JJs_AI on the forum, Discord or via the FAF Client. Users can also submit their maps for advertisement here: http://forums.faforever.com/viewtopic.php?f=2&t=14713

Categories
advertising Development Update Galactic War Promotion Server Update

FAF Developer Review 2017

Christmas is coming upon and as soon as Santa leaves our chimneys, the year is almost over. So our christmas present to you is a wrap up of all of our progress: Time to take a look at what our developers have achieved this year.

With the new year, Downlord started building a new Java API as a proof of concept for replacement of the current Python API. With the rapid development going and no competing implementation showing up, it became our new API of choice, while the old API is running until everything is ported over (which is finished to 95%).

So what features did it bring along? Well quite a few:

Auto-generated API documentation
Auto-generated API documentation
  • Clan management
  • A huge amount of data queryable by now, such as game results, ratings & leaderboards, maps, mods, ladder scores, coop results, achievements
  • Map & mod upload working again
  • Map, mod & replay reviews as new features
  • A Challonge proxy for our tournament information
  • Auto-deployment for our core featured mods (which especially speeds up the development process for beta & develop)
  • A central authorization platform for other backend servers under development
  • Auto-documenting the available data routes (visit api.faforever.com)

Arkitekt was the first one building his own application on top of the API by querying the game results for calculating results of the ladder week (see ladderstats.fafcasts.com).

As already noted in the API features, Dragonfire has reworked the clan app which is now purely JS-based and doesn’t interact with the database anymore, but purely relies on the API instead. This also brought an enhanced design and less legacy PHP code.

Softly giving eye-cancer to our moderators
Softly giving eye-cancer to our moderators

Along with the API development, a lot of issues popped up in the database. Most of them were data inconsistencies that were caused by missing database constraints. A lot of sanitization was done on the database, which took most of the time during our server updates. Unfortunately, not all users understand that long-term-maintaining a server requires a downtime now and then (actually it’s just 6 times a year).

Early this year, Softly created an avatar management app, which uses our old Python API. Since it was supposed to be a workaround, he made intentionally as ugly as possible. Kudos to him, I couldn’t have done better. Unfortunately, the workaround still lasts, until the last 5% of the API is implemented (a pull request already exists).

In preparation for the server move, we open-sourced plumbing for our server setup in the new faf-stack GitHub project. faf-stack encapsulates all of our running server apps using docker-compose and a consistent structure. But the best of all: by default everything is configured to be run on localhost. This makes starting development for FAF easier than ever before. Just install Docker, check out the git repo and fire up whatever you want. Along with the faf-stack, we tried to improve the test-data in the db repository.

The server move itself went pretty smooth compared to the previous one. There are still issues due to some Docker limitations with Linux file permissions, but it wouldn’t be FAF if nothing would be broken 😉

The move itself was initiated by the withdrawal of visionik as the administrative councilor. Sheeo followed Visionik on his position, while the software councilor position is now shared by Download and Duk3luk3. Since Visionik was the main funder of FAF and paid for the (in the author’s opinion ridiculously overpriced) servers and other services, FAF was now reduced to standard servers which cost less than 100€ per month instead of over 1000€.

Mockup of a reworked tutorials tab by surtsan

The Python client finally went Python 3 and Qt5 thanks to the long-time work of duk3luk3, mazornoob and many others. This leaves 10 years of legacy behind us and improves the developer experience on Windows. If you want to jump in, this wiki article explains how to setup a dev environment. However, this update also had a lot of drawbacks our devs are still chewing on. So the big feature breakthrough is still ahead of us (like the new tutorials tab).

Many many game patches were released (18 patches were released on GitHub, but not all of them made it into production). One of the most useful: mex capping on right click. One of the most hated: The new veterancy system. Not all of these changes were welcome and a huge discussion about the rating system started out. Equilibrium was made a featured mod. That led to quite a roar in the community, which eventually wore out. Since the beginning of December, BHEdit also gathered the status of a ranked mod, so there are now multiple ways to play with rated games. Unfortunately, rating changes of mods require a server restart, which leads to an undesired delay as of now. On a side note, there’s also work happening to make RKS Explosions a ranked mod again, but this won’t make it into 2017.

To reduce the number of downloads with each patch Brutus5000 developed BiReUS as a replacement for the legacy patching mechanism. While the server component seems to be ready, we just implemented it client side in Downlord’s FAF Client. It will still take a lot of developing & testing time before we will consider it stable. More information on that can be found in the devblog.

As there is no active maintainer of the current Python lobby server, Downlord reengineered it Java and went above feature parity. Load tests show that is able to handle way more players than the current server does, with the current roadblock for adoption being ICE support, which the server is built upon. After that, we will be upon to implement new features that are asked for a long time (ladder division already implemented, 2v2 matchmaker could be a choice).

ICE is one of the disappointing topics in 2017. While initial tests looked promising, there is still no stable release and the code was rewritten multiple times. This keeps the connection issues still a hot topic, yet we can’t speed it up since we don’t have any networking experts on the dev team.

The map vault view in the mdoerator client
The map vault view in the moderator client

Though our personal low mark this year was reached when certain members of our community decided to not only ignore rules and circumvent bans by mass registration but also to actively cheat and break other player’s games on purpose. This in return has lead to some protective measures like the 24h waiting time for new accounts.

Just in time, we were able to finally release the long-promised moderator tools, which enabled fast bans and listing of latest registration, so we could deal with the mass registered smurf accounts. With the latest release from this December, the moderator tools finally allow cleaning the map vault.

 

So what are our plans for 2018?

  • Get ICE finalized and deployed on both clients
  • Downlord is going BETA with his Java client
  • The old Python API along with Jeremy will be retired in favor of Java API and the moderator client
  • Bireus as the new patcher

 

The FAForever team wishes everybody happy holidays and a happy new year. We try not to screw up the servers over the holidays, so you can chill out and play some nice games.

 

 

 

 

 

 

 

But wait. We forgot one of the presents, didn’t we?

 

 

 

 

Oh right. Well, g0l0l and Brutus5000 have not forgotten you, so we just want to tease a little bit more for 2018…

 

 

Categories
advertising Development Update Galactic War roadmap

Call for Java Developers

Times change and so does FAF. This is a call to all Java developers, who are hiding in the shadows and want to contribute but were not interested in contributing to the current stack of Python code.

We have a huge pile of new emerging Java projects, that look out for new developers and maintainers. So let me give you a small briefing about the projects:

  • Galactic War backend server will be an integral component of our new GW reboot. Work has “just started” and there is still much to do.
    • Core technologies: Spring Boot, Camunda BPM, Websockets / STOMP, Elide, JPA
    • Interested? Join slack channel #galactic-war
  • Java server is a reimplementation of the current Python lobby server. We hope to improve the development speed, deliver new metrics for our users and finally overwork the network protocol (while staying compatible to the old client protocol).
    • Core technologies: Spring Boot, Spring Integration, JPA
    • Interested? Join slack channel #java-server
  • Java API is supposed to replace the current Python API eventually. The primary focus is to speed up API development for new functionalities, as no current developers wants to work on the Python API any further.
    • Core technologies: Spring Boot, Elide, JPA
    • Side note: There are also approaches to develop a Typescript-based API. We decided that both can coexist together.
    • Interested? Join slack channel #java-api
  • Downlord’s client is an alternative client to the classic python client. This is fancy frontend stuff using JavaFX. It’s already in a working state, but still has a lot of features waiting to be implemented.
    • Interested? Join slack channel #java-client-dev

If you want to join us in Slack, please contact an administrator/moderator on the forums or in our in-client chat (white names at the top) so that we can invite you to our Slack project.

You can also join us on Discord.

We are waiting for you!
– Brutus5000, Dragonfire

 

Categories
advertising Development Update

New FAF Discord server

Hello, we have just launched a Discord server for FAF. We are currently testing it out as a replacement for the current mumble servers.

Here is a list of features it offers:

  • Voice communication, obviously
  • Chat channels with a complete history – you can log off and still not miss a thing
  • Proper permissions – private channels, moderation, coloured names, the whole thing.
  • No installation required – you just click a link and join voice communication instantly.

We will be testing it out over the period of a few weeks, and gathering feedback on its performance and use. Please give it a try.

If you’re interested in participating or just want to chat with your friends, head over here and try it out now!

It also has a client that you can use if you want: