BACK
LOADING

What is this about?

Warning: the situation that is keeping Titanfall 1 unplayable involves the group that is keeping it unplayable using racist profanity. This site does not censor such occurrences. If you do not like the idea of your game being filled with repeated usernames using racist profanity, do something about it. Deleting my posts will not remove the bots or their names, it will only cover up the situation. We the players are all already aware that these bots use these names. The bots using the name(s) currently documented on this page do not appear in normal rotations anymore, but they will be kept documented as an archive of the groups behaviour. Titanfall is currently (officially) available for sale on PC through Steam and Origin, with Steam users downloading the game through Steam’s repositories and then launching the game by proxy using Origin much the same way modern Ubisoft games are run through Ubisoft Connect (their launcher was previously called uPlay) when they are owned on Steam. After being greeted with the main menu, nearly every user who attempts to log in will be greeted by this message:

This error happens regardless of the data center we point the game towards. It happens regardless of Windows Firewall settings, which version of Windows is used, which major update or Service Pack is installed, which Windows Updates packages are currently installed. It also happens regardless of which drivers the end user is using for their Ethernet, WiFi, GPU and/or chipset. It happens regardless of the users router port settings, if the computer is set in the DMZ within the routers settings, there is no effect if the user calls their ISP, if they use a VPN, mobile hotspot on their phone via WiFi or USB, change the Proxy settings for their browsers or network connection, if they replace their router, or even modem; it does not matter what ISP they have, nor what country they live in. The problem users are facing is that there are presently no available r1ds_x64 instances which can host a Private Lobby for users to log into, because all ~60 individual supported instances (used for the Private Lobby section of the multiplayer hosted on servers contracted by EA and/or Respawn to be hosted by Multiplay) are currently filled with bots — i.e.: no real paid customers are connected, and no “player” which is presently connected has paid for a licence to play the game.   Fortunately for individuals diagnosing the problem, one can force the game to join another users lobby (even if they aren’t on the players Origin friends list) because the game leaks enough info for one to do so. By pointing our client to a lobby it can join, it can login, and be able to get past the main menu and see the Private Lobby screen. So let’s do that.

This is the screen most users will see upon managing to login and enter a Private Lobby. This happens as a result of a mixture of factors. First is the way Titanfall has included and makes use of the Origin API, in which it does not verify if the name is stored in the engine. Originally, the user’s Origin name is in fact what their account is actually named after initializing it. Second is the fact that the length of any given users name (as far as the engine is concerned) can be far larger than what was possible in the original version of Source that Respawn licensed from Valve (Source 2009, the basis of Portal 2), which to begin with is much larger than can be set for an EA account, and thus much longer than any name provided through the Origin API in normal operation — it is possible that if even just one user’s client provides to the server a specific name (which to repeat, is not verified at any stage of connection or play, to be the players actual Origin name), the packets sent by the server to each client which lists that name will be interpreted by the clients as a disconnect message from the server. This causes regular clients to disconnect from that lobby back to the main menu, making the game unplayable even with a single client using the same method of joining existing lobbies, just to join the lobbies of genuineplayers instead. This was the attack method used between 2018 and early 2020 — manual intervention from members of the group trying to keep the game unplayable, via manually joining players’ lobbies and crashing them with the invalid name.

The fact that no part of the game checks the provided name of a client is valid has been abused for years. The Disconnect: +++ issue (again, stemming from the abuse of the poor implementation of the Origin API statically linked to Titanfall) to kick users from the game can be avoided client side. It’s fairly easy to fix by users themselves given the skill and knowledge of Source 2009s variables, or by using a pre-made DLL-based hook. That being said, the community would rather it was fixed by Respawn (or a team contracted by EA/Respawn) themselves, which would be included in all installations of Titanfall as downloaded from Steam or Origin, instead of telling users to modify their game. From this point on, the detail of this page will require the root of the Disconnect: +++ exploit patched, and at least with the game no longer interpreting an illegal player name as a disconnect message, the client will finally stay in a lobby. Users will quickly find out that this isn’t enough for the game to be playable. This next screen shows what most patched users will be greeted with, should they manage to beat the bots and log in to a Private Lobby for themselves, but not get kicked because of an invalid name.

So now the player is in a lobby. The text visible in chat within this last screenshot is a result of a community-made patch which corrects the source of the Disconnect: +++ issue. At the moment every other player slot in the Private Lobby is reserved from the moment a client finishes loading after login, and at least one the “players” here reports to the server that it has no DLC, the latter of which leaves the Party Leader unable to queue for anything other than the Campaign playlist because every other playlist will require DLC to enter the queue. Even if the user were to attempt to queue for Campaign, they would be met with a window telling them that they are connecting to a new lobby forever until the dialog is cancelled. This is due to the fact that the instances used for playlists and Private Matches are one and the same, so by having around 32 Private Matches set up, each with a single bot in them, it’s impossible to queue. Even if the user does get into a playlist lobby somehow, it will be impossible to load a map as the server will not start the countdown until at least 2 players on each team are ready (total of 4), and we already have 5 bots on our own team which will never reach that state. These “players” will never connect, and within the game we will never see their names — the lobby nor scoreboard can naturally never display the names of users in the Connecting... or Loading... state. Remember how I said that every available lobby instance was filled? How about we use standard Source Engine protocols to query multi-player servers, and find out what the players names are on those servers, just like how the GameTracker website works with other Source Engine games like Team Fortress 2 and Counter Strike: Source. If we do that, we don’t need the names to show up in-game in our client, as the server will report to us the names it was given by the clients in a text based form without requiring any in-game visibility at all. If we query all the servers, we can figure out what all the lobbies are filled with, as each server instance can respond individually.

Alright well that’s… that’s clearly not a legal Origin name. In fact there’s not even a real client behind the connection in this lobby, as already stated. Prior to the publication of the EA Answers HQ and Steam Community Forums threads by MOM-2236, this “account,” with the same name and Origin ID, was repeated across many lobbies. While there have been notable occasions where the names used in these bots come back and are visible en masse on the servers again, most of the bots currently use a Java library called MrPorkNameGenerator , which means the bots themselves likely run in Java as well, unless the names have been generated and compiled in a database, instead of being created on demand when a connection is initialized. In order to reserve a slot, all the server has to be given is an Origin ID (the internal numerical ID) and a username (the public name visible to all players and can be searched on Origin or EA Desktop). This is enough information for the server to reserve a slot under the assumption that a genuine user is trying to connect. The script can still reserve a slot (despite not being a real Titanfall client) because the server waits for clients to respond after it requests verification, allowing the script to take up space on servers while it waits 180 seconds (3 minutes), after which the slot reservation and connection attempt expires server-side via timeout. Because the script can retry faster than a real Titanfall client can, it keeps nearly every required slot reserved and can claim them much faster than a real, licenced-and-paid-for client. When a slot is reserved by the server for a connecting client, it can’t be claimed by a new join request (in this case, a user with an actual client) to replace it until the server frees the slot reservation when giving up via timeout. Let’s take a look at a lobby the MOM-2236 account has managed to login to.

Again a username which is not valid in Origin. The User ID and name of the MOD-2236 account is genuine, as it is a real EA Account with a Titanfall licence. Here’s a lobby with some more real players:

The other proper looking users here are not connections from the users who own these accounts. The group keeping the game unplayable with the bots hate some specific members of the community, hence the use of their names. Between the few actual players here, the following are bots with stolen names, and have no (paid version or not) Titanfall behind them. These fake players should not be confused for the real players they are named after. The fake players are highlighted here:

Beyond filling the servers outright there’s three more ways to effectively kick players from the game. The first can also be fixed client side, but it will crash the game outright (sometimes referred to as “CTD” or “crash to desktop”). The error message looks like this:

This kind of error should never happen during normal gameplay. It is caused by a malicious client, and of course is used to intentionally kick other users from the game, preventing them from playing. This next exploit will kick players back to the main menu, but itself does not directly crash the game into a state where the process must be killed.

The message displayed will contain the player’s name. It’s not specific to this account, either. Here’s some other players from the community receiving the same error.

This message is a result of manual intervention from one of the users involved in making the game unplayable. The cause involves lagging the server for long enough — likely by sending commands repeatedly which would not be sent during normal gameplay — it is possible for the server or client to collect so much data that sending it all at once results in an overflow, leading to the server kicking the real players under the assumption it will prevent continued overflow. This last message cannot be fixed client side, as the issue needs to be solved before the server lags because repeated, unnatural commands are amassed from a single user.

Many other Source games which support community servers will use plugins to kick users attempting to spam commands not required for gameplay which may be abused to lead to an overflow, but this is not possible at the moment with Titanfall as the dedicated servers are not in the hands of the community but centralized within 5 data centres, none of which are regarded by the community as being fast enough to deal with even simple lobbies composed of only 8 players total of the 12-16 players possible. After what appeared to be manual intervention from Respawn following their tweet noting their intention to look into the issue, servers appeared to be operational on April 15th for a short period of time before a new attack vector was deployed. While the overflow exploit relied on illegal commands by false clients, the new system appears to just spam join requests. Unlike the overflowed reliable channel kick method, the scoreboard no longer indicates that any player is attempting to join, so the lag may appear to start randomly. All players in the lobby will experience ping climbing nearly unanimously until it reaches 999, where the client will disconnect via timeout, or by client desynchronization.

By enabling cl_showfps, players can get a clue as to what is going on: the CL frame time climbs, with players moving whenever the timing drops back down before it continues to climb again. AI in the match (including auto titans) appear to move as normal while all players are stuck in place. Players occasionally move based on what inputs were registered last by the server; players are also affected by gravity when they are suddenly moved. Titanfall has been regarded as broken for three years, with only a break where it was playable occurring between March 2020 and November 2020 where the group who have been trying to prevent everyone from playing seemingly gave up with their then-current efforts as that was spoiled by the fix developed at the time to prevent the Disconnected: +++ message.

People who have spent money on this game in the past 3 years have bought a licence to view the main menu background video and music, and the Intro as viewable in the main menu, not for a game. If anyone at EA or Respawn who could possibly fix this issue has heard about our plights, the community at large has heard nothing in response. The lack of communication has disgusted many in the community. If EA does not deem it important enough to fix the issues with the Dedicated Servers themselves, there are plenty of members in the community who would be willing to host the Titanfall Dedicated Servers required to continue to play Titanfall on their own to continue to support the community at large. The players EA and Respawn have left behind are looking for the experience that has not been replicated since the release of the original Titanfall, which is not replicated in the slightest by the completely different genre and playstyle found in Apex Legends; these players will not move on from Titanfall to Apex Legends, they will move on from Respawn and EA to other venues.