Hey all,
Europe hasn't had a proper pug site in a while, and I know part of why, because I've been the reason before. I've run pug sites that went well for a while and then slowly died. Every time it was the same story: the code got harder and harder to change. Bugs piled up, every fix risked breaking something else, and the features people asked for never got built. Griefers showed up and there weren't proper tools to deal with them, and nobody could see what the admins were doing or hold them accountable. Eventually the lobbies stopped filling and that was that.
So I rebuilt it from scratch with one goal: a pug site that stays maintainable, one that can keep getting upgrades without things breaking or turning flaky.
It goes live today at protfx.com. It deliberately takes on PugChamp's style and look, so it has that nostalgic feel everyone is already used to.
What it is
Captain-draft pugs for 6v6 and Highlander, plus first-come-first-served Ultiduo and BBall. If you played on PugChamp, you'll feel at home straight away. It's the same look and the same flow but upgraded to 2026 standards.
https://protfx.com/images/tftv/02-draft.jpg
The stuff that killed the old sites, fixed
https://protfx.com/images/tftv/03-admin.jpg
Subs that actually work. If someone leaves, or never connects, their captain can request a sub, and if someone fails to connect in time the server requests one by itself. Everyone online gets a notification and can apply. The sub is swapped in and the new roster goes to the game server automatically, so no admin has to be around. Leavers get a penalty, and repeat leavers get longer cooldowns (clean games wear it off again). If a game falls apart completely, it ends unrated and everyone is freed.
Voice is built in
Voice runs on our own Mumble server. You link your Mumble client once from your account page, and after that every game gives you a button straight into your team's channel. Only your team can get into it. You need a linked Mumble to play, so do it once when you sign up.
Moderation:
- Admins can restrict exactly what someone abused (playing, subbing, captaining, chat, or requesting an admin), with a reason and an end date.
- The restrictions list is public: who, why, and until when.
- ETF2L bans are honoured automatically. No admin has to spot them.
- Don't agree with a call? You can appeal it, and appeals are handled oldest first.
- Request Admin is a button on every page, and the admins who are online hear it straight away.
- Every admin action goes in an audit log.
- Alts and suspicious accounts can't just add up. they will have to wait on a Waitlist until an Admin approves them.
- You claim your alias once, so nobody turns up under a new name every night.
Admins also get a proper game-night panel. It shows every running game live, who left and how long ago, which subs are wanted and what needs attention.
Ratings and stats
https://protfx.com/images/tftv/04-ratings-and-stats.jpg
Every game is rated (think ELO, built for team games), and there's a leaderboard per Format, player profiles with your stats and rating history, and monthly awards.
Why this one might last longer
This is the bit I care most about. The old sites died for two reasons.
Griefers won, and admins answered to nobody. There weren't the tools to deal with griefers properly, and when an admin made a call nobody could check it. This time admins have proper tools (the moderation section above), every restriction is public with its reason and end date, anyone can appeal, and every admin action is written to an audit log the other admins can see, so each call can be checked and admins are accountable for them.
The code got fragile. Every change risked breaking something, and there was no way to know until a game fell over mid-pug. This time:
- Nearly 6,000 automated tests run on every single change, including 110 that click through the site in a real browser like a player would. If anything fails, the change doesn't go live.
- There's more test code than actual site code.
I build it with AI agents, and that's exactly why it's tested this heavily: nothing ships unless those checks pass, and I review what goes in. That's what lets a bug get fixed in the afternoon and go live before pug night, without breaking everything else.
Built on Elixir and Phoenix, which is made for exactly this. A pug site is one big real-time lobby: dozens of people watching the same launchpad, draft and scoreboard, all changing at once. That is the problem Elixir's runtime (the BEAM, built by Ericsson to run telephone switches) was designed for, and it's what Discord and WhatsApp run their real-time messaging on.
There's a public changelog so you can see what's changed and when.
Feedback. Found a bug or have an idea? Post it on the feedback board and upvote the ones you want most. I mark every post Under review, Planned, In progress, Shipped or Declined, with a note, and you get told when something you upvoted is planned or shipped.
https://protfx.com/images/tftv/06-feedback.jpg
What's next
This weekend is all about ironing out whatever bugs pop up now that real people are playing. I'll be online, and fixing things as they come in. If the weekend goes smoothly, I'll have more to announce next week.
[https://www.youtube.com/watch?v=ics2UTyrKBo]
Hey all,
Europe hasn't had a proper pug site in a while, and I know part of why, because I've been the reason before. I've run pug sites that went well for a while and then slowly died. Every time it was the same story: the code got harder and harder to change. Bugs piled up, every fix risked breaking something else, and the features people asked for never got built. Griefers showed up and there weren't proper tools to deal with them, and nobody could see what the admins were doing or hold them accountable. Eventually the lobbies stopped filling and that was that.
So I rebuilt it from scratch with one goal: [b]a pug site that stays maintainable, one that can keep getting upgrades without things breaking or turning flaky.[/b]
It goes live [b]today[/b] at [b][url=https://protfx.com]protfx.com[/url][/b]. It deliberately takes on PugChamp's style and look, so it has that nostalgic feel everyone is already used to.
[size=16][b]What it is[/b][/size]
Captain-draft pugs for [b]6v6[/b] and [b]Highlander[/b], plus first-come-first-served [b]Ultiduo[/b] and [b]BBall[/b]. If you played on PugChamp, you'll feel at home straight away. It's the same look and the same flow but upgraded to 2026 standards.
[img]https://protfx.com/images/tftv/02-draft.jpg[/img]
[size=16][b]The stuff that killed the old sites, fixed[/b][/size]
[img]https://protfx.com/images/tftv/03-admin.jpg[/img]
[b]Subs that actually work.[/b] If someone leaves, or never connects, their captain can request a sub, and if someone fails to connect in time the server requests one by itself. Everyone online gets a notification and can apply. The sub is swapped in and the new roster goes to the game server automatically, so no admin has to be around. Leavers get a penalty, and repeat leavers get longer cooldowns (clean games wear it off again). If a game falls apart completely, it ends unrated and everyone is freed.
[size=16][b]Voice is built in[/b][/size]
Voice runs on our own [b]Mumble[/b] server. You link your Mumble client once from your account page, and after that every game gives you a button straight into your team's channel. Only your team can get into it. You need a linked Mumble to play, so do it once when you sign up.
[b]Moderation:[/b]
[list]
[*]Admins can restrict exactly what someone abused ([b]playing, subbing, captaining, chat, or requesting an admin[/b]), with a reason and an end date.
[*]The restrictions list is [b]public[/b]: who, why, and until when.
[*][b]ETF2L bans are honoured automatically.[/b] No admin has to spot them.
[*]Don't agree with a call? You can appeal it, and appeals are handled oldest first.
[*][b]Request Admin[/b] is a button on every page, and the admins who are online hear it straight away.
[*]Every admin action goes in an audit log.
[*][b]Alts and suspicious accounts can't just add up.[/b] they will have to wait on a Waitlist until an Admin approves them.
[*]You claim your alias once, so nobody turns up under a new name every night.
[/list]
Admins also get a proper game-night panel. It shows every running game live, who left and how long ago, which subs are wanted and what needs attention.
[size=16][b]Ratings and stats[/b][/size]
[img]https://protfx.com/images/tftv/04-ratings-and-stats.jpg[/img]
Every game is rated (think ELO, built for team games), and there's a leaderboard per Format, player profiles with your stats and rating history, and monthly awards.
[size=16][b]Why this one might last longer[/b][/size]
This is the bit I care most about. The old sites died for two reasons.
[b]Griefers won, and admins answered to nobody.[/b] There weren't the tools to deal with griefers properly, and when an admin made a call nobody could check it. This time admins have proper tools (the moderation section above), every restriction is public with its reason and end date, anyone can appeal, and [b]every admin action is written to an audit log[/b] the other admins can see, so each call can be checked and admins are accountable for them.
[b]The code got fragile.[/b] Every change risked breaking something, and there was no way to know until a game fell over mid-pug. This time:
[list]
[*][b]Nearly 6,000 automated tests[/b] run on every single change, including [b]110 that click through the site in a real browser[/b] like a player would. If anything fails, the change doesn't go live.
[*]There's more test code than actual site code.
[/list]
I build it with AI agents, and that's exactly why it's tested this heavily: nothing ships unless those checks pass, and I review what goes in. That's what lets a bug get fixed in the afternoon and go live before pug night, without breaking everything else.
[b]Built on Elixir and Phoenix, which is made for exactly this.[/b] A pug site is one big real-time lobby: dozens of people watching the same launchpad, draft and scoreboard, all changing at once. That is the problem Elixir's runtime (the BEAM, built by Ericsson to run telephone switches) was designed for, and it's what Discord and WhatsApp run their real-time messaging on.
There's a public [url=https://protfx.com/changelog]changelog[/url] so you can see what's changed and when.
[b]Feedback.[/b] Found a bug or have an idea? Post it on the [b][url=https://protfx.com/feedback]feedback board[/url][/b] and upvote the ones you want most. I mark every post Under review, Planned, In progress, Shipped or Declined, with a note, and you get told when something you upvoted is planned or shipped.
[img]https://protfx.com/images/tftv/06-feedback.jpg[/img]
[size=16][b]What's next[/b][/size]
This weekend is all about ironing out whatever bugs pop up now that real people are playing. I'll be online, and fixing things as they come in. If the weekend goes smoothly, I'll have more to announce next week.
[youtube][https://www.youtube.com/watch?v=ics2UTyrKBo][/youtube]
Love me some Elixir and Phoenix, any chance you'd consider open sourcing at some point?
Love me some Elixir and Phoenix, any chance you'd consider open sourcing at some point?
Thanks! Yeah, that's the plan. I've still got a few features I want to get out first, but once those are released Id want to open source it, so the community can help maintain it and keep it going long term.
Thanks! Yeah, that's the plan. I've still got a few features I want to get out first, but once those are released Id want to open source it, so the community can help maintain it and keep it going long term.