TF2 Pro League, US Release post-"mortem"
Hello, I am twiikuu, I've worked alongside b4nny and the rest of the team to bring you TF2PL.
We've opened the queues last night, March 1st at 6PM EST, and these are the issues we've faced:
Commands:
Commands turned out to be a huge mistake. They cluttered communication channels, I did not expect them to be used that way or that much.
!update / !auth / !register: This was initially designed with the idea that Hub members aren't fetched more than once per minute, so there could be a case where a player's roles in Discord could lag behind and waste important time during setup.
It was instead used to verify if registration went through, which points out an UX issue on the post-registration screen.
I will either get rid of it, only allow Admins to use it in special bug cases, or redirect the messages to DMs with the Bot (like !report does).
!move: This was also initially designed in bug cases where a player could not join his match voice channel, but was instead used by almost everyone because of the sheer clusterfuck that were channels (more on that later). It's quite verbose and requires the user to be in a voice channel to work.
I will most likely remove it altogether and replace it with a magic Voice Channel that moves you directly to your game by joining it.
!report served its purpose, it's a simple command.
Registration:
Registration was a lot bumpier than I expected:
First issue was caused by FACEIT's Authorization page, it required a script blocked by most ad-block or anti-ad hosts files, we've had to manually instruct people on how to load the script manually to get the page to load. This has been fixed this morning, thanks to the FACEIT developers.
Second issue was caused by the fact that people usually have a different account logged in the browser version of Discord, and mainly use the app version of Discord, this ended up making a lot of people confused as to why the registration page would tell them they had it right, but then wouldn't get roles in Discord. This will be fixed by making the post-registration page more obvious as to which accounts were connected (most likely showcasing Username + Avatar for both accounts), and giving instructions on how to disconnect their secondary account from the browser version of Discord.
User Interface/Experience:
Alongside the two last chapters, here are more UI/UX issues we've faced, mostly because I did not anticipate these issues:
We're extremely glad to see such a huge turnout last night (a few numbers later), but that meant an enormous amount of users and channels would appear in the sidebar, making it literally impossible to track which games you were a part of, which meant more people needed to use the !move command. We'll fix this by hiding game channels and only showing them to their participants.
The post-registration process could also benefit from showcasing whenever players have successfully setup in a way that doesn't require action from them, such as the appearance of a "Registered" role, or to access to more channels conveying the message that they did. Or in inverse, we could show a specific "Help me register" channel that registered users cannot see. It's up for discussion.
Alongside those changes, we most likely will make a few changes to the structure of the Discord server to help visibility of important information.
One of the things I've wanted to do is get access to more FACEIT functionalities through their API, but it's currently in development. Some things I would have wished for:
- Using Hub permissions on FACEIT, only allow people who've registered to queue.
- OR Using FACEIT chat, warn people whenever they're queuing while not registered.
- Using FACEIT Chat, announcing role preferences to captains to get rid of the avatar requirements.
This would require tricks using authentication to acquire login tokens and special authorization from FACEIT to perform these tricks.
Processing load:
The first few minutes after release brought an actual ton of matches and players, giving the system a lot of data to go through for registrations, matches, calls to both Discord and FACEIT's APIs, and accesses to the local database and queue.
I did not expect this little load to have such a huge impact on the server, but it definitely did.
This caused our match database to fail saving data it just processed, such as which channels were created or which players were moved, which is why a lot of players were tossed around and channels duplicated.
I feel this is mostly caused by my server provider's cheap SSD's performance and the amount of useless processing I've programmed to make sure nothing gets out of sync. Sadly I cannot really say for sure as performance data is not registered, although I will go over my current naive implementations and make sure that heavy I/O operations are ignored if useless.
Game server issues:
Sadly this is out of our reach, we've had the generous help and insight of AnAkkk who contacted their server hosting contractor, they added servers with better networking, which by default added about ~20 ping to all connections as packets had to be rerouted. We hope this issue resolves itself within the next few days.
All servers were Chicago based, for now it's the only thing available to us.
A few remaining bugs and requests:
Initially, Voice Activation was disabled, this has been remedied quite fast if I recall.
Post-match channel merging would sometimes fail, some channels would never get removed, this will be fixed by simply adding more checks as to what's up with them.
Some players would queue and get a match without being registered, while it is reported on the little information panel that's posted, it's not mentioned to Admins yet.
We might add @mentions to people who aren't in voice when the teams are picked
We might add @mentions to captains to warn them (although this feels like an issue that should be redirected to FACEIT)
We might start dropping stats every day/week/month showcasing player counts, match counts, etc. This may end up being admin-only though, sorry.
Apparently, pausing will cause some players to get kicked due to inactivity, this has been reported to FACEIT and has been acknowledged.
If you've had any issues that were not mentioned in here, please let me know and I will address them. If you still have issues setting up your registration, DM me on discord (twiikuu#0047) or mention me in the help channel.
tl;dr: bugs will be crushed, usage will be easier, spam will be less.
We hope you've enjoyed TF2PL so far, we're very sorry about the server hiccups last night, we hope you give TF2PL another try as we flesh out these growing pains. Here are some very enthusing stats:
1099 FACEIT users have either registered or joined a TF2PL hub at some point
848 users have completed registration
360 matches have been played in total, including 45 during testing phases before release
127 matches have been played to completion, including 6 during testing phases before release
487 unique users played a match to completion
99 more unique users attempted to play but were only met with cancelled games, this number seems quite high but it is most likely caused by the fact that all games but 6 during testing phase were cancelled
I will do my best to filter out matches during testing phase today to give appropriate stats.
I'd like to thank FACEIT for having us and everyone who's been part of this project so far.
Show Content
i know none o yall read this nerd shit, here's a kitty
https://pbs.twimg.com/media/DXJz3b-WkAAWOjc.jpg
EDIT: hope u appreciate transparency
EDIT 2: i did not expect a prizeless new league to catch cheaters that fast