Upvote Upvoted 62 Downvote Downvoted
1 2
PugChamp-Helper
posted in Projects
1
#1
0 Frags +

Hey, I made a Chrome extension for PugChamp that fetches ETF2L, ESEA and OZFortress divs and shows them next to players names.

Big shout out to shpeeisme for helping me and putting up with my potato code.

For ETF2L divisions the extension only grabs the last division that you played with a 6s team that you were rostered on. Currently it only checks the last 10 matches played.

Current features include:
-Listing of ETF2L and ESEA divisions next to players names
-Direct links to ETF2L profile pages
-Displaying of players added in the menu bar

Planned features:
-Firefox port
-Ready up reminder when server is full
-Option to replace PugChamp names with ETF2L names

I'm open for any feature requests, just comment them on this thread. :)

Currently this is still in beta so if you encounter any bugs please report them here or over at the github repo.

You can download the latest version for chrome here.

Screenshots | Code

Hey, I made a Chrome extension for PugChamp that fetches ETF2L, ESEA and OZFortress divs and shows them next to players names.

Big shout out to shpeeisme for helping me and putting up with my potato code.

For ETF2L divisions the extension only grabs the last division that you played with a 6s team that you were rostered on. Currently it only checks the last 10 matches played.

[b]Current features include:[/b]
-Listing of ETF2L and ESEA divisions next to players names
-Direct links to ETF2L profile pages
-Displaying of players added in the menu bar

[b]Planned features:[/b]
-Firefox port
-Ready up reminder when server is full
-Option to replace PugChamp names with ETF2L names

I'm open for any feature requests, just comment them on this thread. :)

Currently this is still in beta so if you encounter any bugs please report them here or over at the [url=https://github.com/kodeeey/PugChamp-Helper/issues]github repo[/url].

[b]You can download the latest version for chrome [url=https://chrome.google.com/webstore/detail/pugchamp-helper/lnjfjdblfmeanpddnhmkonamfekkpaff]here[/url]. [/b]

[url=https://imgur.com/a/l0vi7Px]Screenshots[/url] | [url=https://github.com/kodeeey/PugChamp-Helper]Code[/url]
2
#2
7 Frags +

genius

genius
3
#3
13 Frags +

zodders a massive fucking nerd lol

zodders a massive fucking nerd lol
4
#4
14 Frags +

why am i a nerd

why am i a nerd
5
#5
82 Frags +

hold on

https://i.imgur.com/RtX4NZc.png

hold on

[img]https://i.imgur.com/RtX4NZc.png[/img]
6
#6
18 Frags +
z0diackwhy am i a nerd

"nerd" is when the tool can't find a div https://imgur.com/a/jMwiL91

[quote=z0diack]why am i a nerd[/quote]
"nerd" is when the tool can't find a div https://imgur.com/a/jMwiL91
7
#7
1 Frags +

Would it be possible to adapt this for au.pug.champ.gg with the ozfortress API?

Would it be possible to adapt this for au.pug.champ.gg with the ozfortress API?
8
#8
1 Frags +

I'm not sure if that's possible just from reading the API doc but I'll try later when I'm on my PC.

I'm not sure if that's possible just from reading the API doc but I'll try later when I'm on my PC.
9
#9
24 Frags +
gemmhold on

https://i.imgur.com/RtX4NZc.png

you are mid

[quote=gemm]hold on

[img]https://i.imgur.com/RtX4NZc.png[/img][/quote]
you are mid
10
#10
71 Frags +

https://i.kym-cdn.com/entries/icons/mobile/000/023/397/C-658VsXoAo3ovC.jpg

catbowcar and gemm calling eachother bad

[img]https://i.kym-cdn.com/entries/icons/mobile/000/023/397/C-658VsXoAo3ovC.jpg[/img]

catbowcar and gemm calling eachother bad
11
#11
0 Frags +

epic

epic
12
#12
-17 Frags +
caaaaaaaaatgemmhold on

https://i.imgur.com/RtX4NZc.png
you are mid

but im just sandbagging!!

[quote=caaaaaaaaat][quote=gemm]hold on

[img]https://i.imgur.com/RtX4NZc.png[/img][/quote]
you are mid[/quote]

but im just sandbagging!!
13
#13
-1 Frags +

im just sandbagging as med too

im just sandbagging as med too
14
#14
10 Frags +

enough.

enough.
15
#15
2 Frags +

Alright, the extension should now be able to use the division from playoff matches too. Please let me know if one of your last 10 matches was a 6s game and it still doesn't show the correct division for you. :)

Alright, the extension should now be able to use the division from playoff matches too. Please let me know if one of your last 10 matches was a 6s game and it still doesn't show the correct division for you. :)
16
#16
10 Frags +
kodeeeyCurrently this is only available in Europe due to ESEA not offering an API.

Just 1 more reason that esea is shit

[quote=kodeeey]Currently this is only available in Europe due to ESEA not offering an API.[/quote]

Just 1 more reason that esea is shit
17
#17
3 Frags +

Awesome project, love how it turned out!

If ppl have suggestions for more features post it here so I can contribute a bit ;)

Awesome project, love how it turned out!

If ppl have suggestions for more features post it here so I can contribute a bit ;)
18
#18
7 Frags +

Looks great! I saw this extension in action in a stream highlight ages ago but had no idea what it was called. Based on the Citadel docs, I'm pretty sure adding basic ozfortress/AU PugChamp support would be really straightforward if you can ask for and obtain an API key.

This might be inaccurate, but I think after you get a key, you can make a single request to https://warzone.ozfortress.com/api/v1/leagues/15/ (i.e., Season 23, the latest completed season) and collect all of the rosters. Each roster object provides a division string (Premier, Intermediate, etc.) and a list of players. Each player object provides a Steam ID, making it easy to map Steam IDs to divisions. You can then have your extension cache this map by using the `chrome.storage` API.

Additionally, you may wish to use a linter to automatically fix some of the minor inconsistent indentation/brace usage in your source code.

Looks great! I saw this extension in action in a stream highlight ages ago but had no idea what it was called. Based on the Citadel docs, I'm pretty sure adding basic ozfortress/AU PugChamp support would be really straightforward if you can ask for and obtain an API key.

This might be inaccurate, but I think after you get a key, you can make a single request to https://warzone.ozfortress.com/api/v1/leagues/15/ (i.e., Season 23, the latest completed season) and collect all of the rosters. Each roster object provides a division string (Premier, Intermediate, etc.) and a list of players. Each player object provides a Steam ID, making it easy to map Steam IDs to divisions. You can then have your extension cache this map by using the `chrome.storage` API.

Additionally, you may wish to use a linter to automatically fix some of the minor inconsistent indentation/brace usage in your source code.
19
#19
14 Frags +

I wrote a basic Node application to match Steam IDs found on NA PugChamp to current ESEA league status. At the moment, this application does not take a player's previous ESEA history into account. If you would like to add PugChamp-Helper support for ESEA/NA PugChamp, or if you're just interested in the results, you can access the data here: https://raw.githubusercontent.com/minicircle/esea_tf2_data/master/esea_data.json.

Thank you to san antonio 1998 green mustang for the help with Cloudflare issues. Thank you to ESEA for nothing. PM me if you have questions.

From the list of NA PugChamp players, the following ESEA users were detected:
- 73 Invite players
- 161 Intermediate players
- 125 Open players
- 1455 PugChamp players that have an ESEA profile but are currently inactive in ESEA

The rest of the players did not have a valid ESEA profile. Note that it may make sense to recompile the data after ESEA Season 30 starts and players have settled into their teams.

(edit: corrected numbers)

I wrote a basic Node application to match Steam IDs found on NA PugChamp to current ESEA league status. At the moment, this application does not take a player's previous ESEA history into account. If you would like to add PugChamp-Helper support for ESEA/NA PugChamp, or if you're just interested in the results, you can access the data here: https://raw.githubusercontent.com/minicircle/esea_tf2_data/master/esea_data.json.

Thank you to san antonio 1998 green mustang for the help with Cloudflare issues. Thank you to ESEA for nothing. PM me if you have questions.

From the list of NA PugChamp players, the following ESEA users were detected:
- 73 Invite players
- 161 Intermediate players
- 125 Open players
- 1455 PugChamp players that have an ESEA profile but are currently inactive in ESEA

The rest of the players did not have a valid ESEA profile. Note that it may make sense to recompile the data after ESEA Season 30 starts and players have settled into their teams.

(edit: corrected numbers)
20
#20
0 Frags +

u the man

u the man
21
#21
2 Frags +

San antonio 1998 green mustang continues to be the greatest alias of all time

San antonio 1998 green mustang continues to be the greatest alias of all time
22
#22
-5 Frags +

Installed it to test and it seems to only work on eu pugchamp? I would think the ESEA stats would let it be implemented into NA as well but maybe there's too many people who haven't played or something? Pretty cool regardless

edit: reread post and saw it says " If you would like to add PugChamp-Helper support for ESEA/NA PugChamp" nvm guess it doesn't have support yet

Installed it to test and it seems to only work on eu pugchamp? I would think the ESEA stats would let it be implemented into NA as well but maybe there's too many people who haven't played or something? Pretty cool regardless

edit: reread post and saw it says " If you would like to add PugChamp-Helper support for ESEA/NA PugChamp" nvm guess it doesn't have support yet
23
#23
11 Frags +

Yes, hopefully NA support will come soon.

Actually, I've uploaded a better file to use that takes ESEA history into account: https://raw.githubusercontent.com/minicircle/esea_tf2_data/master/esea_data_full.json

In this file, "Invite (current)" means that the player is currently on an Invite team, while "Invite (historical)" means that the player is not currently on an ESEA team but was last rostered on an Invite team.

Here is a screenshot of what my local fork of the extension looks like for NA PugChamp using this data:

https://i.imgur.com/09SkfJT.png

Yes, hopefully NA support will come soon.

Actually, I've uploaded a better file to use that takes ESEA history into account: https://raw.githubusercontent.com/minicircle/esea_tf2_data/master/esea_data_full.json

In this file, "Invite (current)" means that the player is currently on an Invite team, while "Invite (historical)" means that the player is not currently on an ESEA team but was last rostered on an Invite team.

Here is a screenshot of what my local fork of the extension looks like for NA PugChamp using this data: [img]https://i.imgur.com/09SkfJT.png[/img]
24
#24
2 Frags +

Thanks a lot for the work you put into getting the divs from esea, minicircle. I was thinking about scraping divs from player profiles myself but chose not to do so because I was told that getting it to work with the cloudflare protection would be pretty hard.

I'm currently working on fixing some bugs with the extension that lead to divs not being drawn next to players names and will hopefully be able to add functionality with na pugchamp soon.

As for au pugchamp I talked to the developers some time ago and recieved an api key. I was originally planning on hosting a server that would buffer the divisions for each player, however I'll probably just write a node application that gets all player divs from their api and saves them to a json file so I can reuse the code I will need for the na port.

Thanks a lot for the work you put into getting the divs from esea, minicircle. I was thinking about scraping divs from player profiles myself but chose not to do so because I was told that getting it to work with the cloudflare protection would be pretty hard.

I'm currently working on fixing some bugs with the extension that lead to divs not being drawn next to players names and will hopefully be able to add functionality with na pugchamp soon.

As for au pugchamp I talked to the developers some time ago and recieved an api key. I was originally planning on hosting a server that would buffer the divisions for each player, however I'll probably just write a node application that gets all player divs from their api and saves them to a json file so I can reuse the code I will need for the na port.
25
#25
10 Frags +

Changelog for 1/16/2019
- Added support for NA PugChamp (big shoutout to mincircle for supplying the ESEA divs)
- Added a popup that allows players to choose their region and enable/disable player divs
- The menu icon now shows the amount of players added up (select your region in the popup)
- Improved efficiency for getting player divs from ETF2L
- Fixed some bugs with the PugChamp draft
- Updated the localization files

The extension still needs a proper icon for the menu bar so if anyone is interested in helping out by making one that would be awesome.
If you experiences issues with divs next to players names disappearing when captaining please let me know. I wasn't able to test this myself during the last few days.

Changelog for 1/16/2019
- Added support for NA PugChamp (big shoutout to mincircle for supplying the ESEA divs)
- Added a popup that allows players to choose their region and enable/disable player divs
- The menu icon now shows the amount of players added up (select your region in the popup)
- Improved efficiency for getting player divs from ETF2L
- Fixed some bugs with the PugChamp draft
- Updated the localization files

The extension still needs a proper icon for the menu bar so if anyone is interested in helping out by making one that would be awesome.
If you experiences issues with divs next to players names disappearing when captaining please let me know. I wasn't able to test this myself during the last few days.
26
#26
1 Frags +

Nice work, kodeeey. It's very cool that the extension shows how many people are added up in a selected region without the user having to open up a PugChamp tab to check. I'm looking forward to seeing what other ideas you and the community come up with.

Off the top of my head, I can think of a few possibilities for features like custom sounds/page backgrounds, cleaner-looking pie charts/tables, an option to auto-embed linked images in chat (note: potentially dangerous), or an option to hide messages by default from certain users (sort of like how Discord lets you click to reveal/hide messages from users that you have blocked). The effort to implement those features may not be worth it, however, given their minor impact.

Nice work, kodeeey. It's very cool that the extension shows how many people are added up in a selected region without the user having to open up a PugChamp tab to check. I'm looking forward to seeing what other ideas you and the community come up with.

Off the top of my head, I can think of a few possibilities for features like custom sounds/page backgrounds, cleaner-looking pie charts/tables, an option to auto-embed linked images in chat (note: potentially dangerous), or an option to hide messages by default from certain users (sort of like how Discord lets you click to reveal/hide messages from users that you have blocked). The effort to implement those features may not be worth it, however, given their minor impact.
27
#27
3 Frags +

Great plugin just one question wouldn't it make sense to give players who have won a division like div 1 a higher ranking instead of putting them as "Open" because they didn't play the season prior. Just asking for a friend.

Great plugin just one question wouldn't it make sense to give players who have won a division like div 1 a higher ranking instead of putting them as "Open" because they didn't play the season prior. Just asking for a friend.
28
#28
3 Frags +
sheepy_dogs_handGreat plugin just one question wouldn't it make sense to give players who have won a division like div 1 a higher ranking instead of putting them as "Open" because they didn't play the season prior. Just asking for a friend.

The problem here was that the extension wasn't able to read the division from etf2l high playoff matches and consequently displayed your esea div instead. I have updated the extension and this issue should be fixed now.

[quote=sheepy_dogs_hand]Great plugin just one question wouldn't it make sense to give players who have won a division like div 1 a higher ranking instead of putting them as "Open" because they didn't play the season prior. Just asking for a friend.[/quote]
The problem here was that the extension wasn't able to read the division from etf2l high playoff matches and consequently displayed your esea div instead. I have updated the extension and this issue should be fixed now.
29
#29
1 Frags +

If your ESEA division displayed by PugChamp-Helper is incorrect, please fill out this very short form (asks for ESEA profile URL and Steam ID) to request an update for your division data: https://docs.google.com/forms/d/e/1FAIpQLSe-zoEpMKVywsR19zqDCt5NROa5EinnamDRVGLWuAWCNZfv6A/viewform.

---

Some users may have incorrect ESEA divisions displayed. This is because the initial data were collected at the beginning of the month. Players may have changed rosters since then in preparation for Season 30. Additionally, there is a bug with ESEA's search that blocks data from being retrieved for certain users.

Example of the bug:
b4nny's Steam ID is 76561197970669109. This converts to [U:1:10403381]. We can search for the corresponding ESEA profile with this link: https://play.esea.net/index.php?s=search&query=%5BU%3A1%3A10403381%5D. Here, the search is working correctly, as we receive one ESEA profile result.

In contrast, tojo's Steam ID is 76561198045772168, which converts to [U:1:85506440]. The ESEA query URL for this ID is https://play.esea.net/index.php?s=search&query=%5BU%3A1%3A85506440%5D. Note that this does not return any results, indicating that ESEA user search by Steam ID is bugged, and tojo will be displayed as a "NERD" by default with the extension active.

EDIT for clarification: Some people have been filling out the form when their divisions are already correct. Do not fill out the form if your division is already displayed correctly. If you are not currently playing on a team, the division used is the last division you played a match in according to ESEA. After your division has been corrected (check https://github.com/minicircle/esea_tf2_data/commits/master for correction history), restart your browser and your division should be fixed.

If your ESEA division displayed by PugChamp-Helper is incorrect, please fill out this very short form (asks for ESEA profile URL and Steam ID) to request an update for your division data: https://docs.google.com/forms/d/e/1FAIpQLSe-zoEpMKVywsR19zqDCt5NROa5EinnamDRVGLWuAWCNZfv6A/viewform.

---

Some users may have incorrect ESEA divisions displayed. This is because the initial data were collected at the beginning of the month. Players may have changed rosters since then in preparation for Season 30. Additionally, there is a bug with ESEA's search that blocks data from being retrieved for certain users.

[b]Example of the bug:[/b]
b4nny's Steam ID is 76561197970669109. This converts to [U:1:10403381]. We can search for the corresponding ESEA profile with this link: https://play.esea.net/index.php?s=search&query=%5BU%3A1%3A10403381%5D. Here, the search is working correctly, as we receive one ESEA profile result.

In contrast, tojo's Steam ID is 76561198045772168, which converts to [U:1:85506440]. The ESEA query URL for this ID is https://play.esea.net/index.php?s=search&query=%5BU%3A1%3A85506440%5D. Note that this does not return any results, indicating that ESEA user search by Steam ID is bugged, and tojo will be displayed as a "NERD" by default with the extension active.

EDIT for clarification: Some people have been filling out the form when their divisions are already correct. Do not fill out the form if your division is already displayed correctly. If you are not currently playing on a team, the division used is the last division you played a match in according to ESEA. After your division has been corrected (check https://github.com/minicircle/esea_tf2_data/commits/master for correction history), restart your browser and your division should be fixed.
30
#30
4 Frags +

God tojo is such a nerd

God tojo is such a nerd
1 2
Please sign in through STEAM to post a comment.