Can you add a license? I'd love to have a look at this.
edit: Thanks!
| Account Details | |
|---|---|
| SteamID64 | 76561198076693960 |
| SteamID3 | [U:1:116428232] |
| SteamID32 | STEAM_0:0:58214116 |
| Country | United States |
| Signed Up | January 23, 2020 |
| Last Posted | February 27, 2026 at 12:05 AM |
| Posts | 35 (0 per day) |
| Game Settings | |
|---|---|
| In-game Sensitivity | |
| Windows Sensitivity | |
| Raw Input | |
DPI |
|
Resolution |
|
Refresh Rate |
|
| Hardware Peripherals | |
|---|---|
| Mouse | |
| Keyboard | |
| Mousepad | |
| Headphones | |
| Monitor | |
Can you add a license? I'd love to have a look at this.
edit: Thanks!
RendoasHey, idk if there is somewhere better to mention this or if you've already been notified, but some loser is uploading a bunch of doctored logs with slurs n nonsense.
https://logs.tf/3176253#76561198002105259
https://logs.tf/3176251#76561198002105259
Banned from trends.tf. Nothing I can do about logs.tf.
Does the upload time get updated? And is there a limit to when a log can get updated? E.g. could I update a log I uploaded 1 year ago?
And just to answer my own question, the upload time gets updated any time the log is modified. Logs can be updated at any time.
It's been a while since the last update. I'm still working on the site, but recently a lot of that has gone into stuff behind-the-scenes.
In addition to the above, there are also some feature updates
Once again, please send me any bugs or suggestions you have either on Discord, Steam, or as a reply in this thread.
BYS_ShadowFenixHey just wanted to comment and say thanks for putting in the effort to create and maintain this site. It's really cool
Thanks :)
https://logs.tf/api/v1/log has been dead since yesterday
ninja edit: main page down now too :L
Hedgeis the "peers" page using all the logs? It seems to be missing peers I played with in the distant past a lot
EDIT okay I see now the oldest log is 2019
I've been holding off on importing all the logs
JMaxchillForty-BotSome stats are not displayed. Medic stats like "average time before healing" are not displayed because it is impossible to display them accurately for multiple logs.
Fwiw you can get this by multiplying avg time before healing by deaths for each log, to get total time, then add this up and divide by total deaths.
This will give incorrect results. You need to use respawns and not deaths, since you always respawn at the start of each round. Unfortunately, this is not recorded by logs.tf. Really, the only way to fix this would be to use an alternative parser.
Feature update:
I've come to make an announcement: Sigafoo the RGL admin's a bitch-ass motherfucker. He banned my fucking alt. That's right. He took his discord fuckin' moderator dick out and he banned my FUCKING alt, and he said his dick was THIS BIG, and I said that's disgusting. So I'm making a callout post on my TeamFortress.tv. Sigafoo the RGL admin, you got a small dick. It's the size of this second banana except WAY smaller. And guess what? Here's what my dong looks like. That's right, baby. Tall points, no quills, no pillows, look at that, it looks like two stickies and a rocket. He fucked my alt, so guess what, I'm gonna fuck TF2. That's right, this is what you get! My SUPER CROCKET PISS! Except I'm not gonna piss on TF2. I'm gonna go higher. I'm pissing on STEEEEEAM How do you like that, GABEN? I PISSED ON STEAM, YOU IDIOT! You have twenty-three hours before the piss DROPLETS hit the fucking game, now get out of my fucking sight before I piss on you too!
Feature update:
Some logs return 500 errors starting at https://logs.tf//3001608 and ending at https://logs.tf/3001646
I guess it could be a local-timezone as well if for some reason the server admin decides to make the logfiles non UTC
For a "fun" example of when this happens, see https://logs.tf/2726837
Feature update:
ArieOne thing I would consider, is to move "log_wlt" and "player_last" from views to materialized views (unlike a view these need their own indexes). You could update these materialized views (concurrently) after a new batch of log files is imported. This might improve part of the peers query.
Hm, that's a good idea. Previously, player_last was a table, which I suppose is a kind of manually-materialized view.
supradoes this site has any sort of API?
Nope. Please send a PR :)
it would be cool to have it because then we could use it for skill prediction on tf2pickup.org I guess
This is being tracked by this issue. But it's not very high on the list of priorities atm. Though part of the reason for switching to postgres in the first place was so I could have multiple processes modifying the database at once, such as a process which calculated elo.
+ some option to filter 6v6/hl/2v2 games out from the rest when checking a player
that would be way cooler than looking at the divisions on etf2l for europeans, in case of burgers there is probably no good way to do that atm
no idea about apac
ps: this is probably the biggest issue why we don't have a european pickup site atm
I want to start scraping RGL at some point (see this issue). Unfortunately, RGL doesn't really have an API, so I'd have to scrape their site :l. Honestly, if ETF2L has an API I would look into them first.
glasscouple things i noticed
-tried filtering blaze's logs down to just soldier on product in the logs.tf era, and it returned nothing
Can you link? Thanks.
-is there a way to generate winrate after filtering out ultiduo and stuff?
Nope, sorry. I'm working on adding filters for every page on the site, but the overview hasn't gotten that treatment yet. Though perhaps I could just add this to the totals page...
-b4nny has 283% acc on pyro
TimTumthe pyro acc is possible because of the detonator or other flare guns
Basically this. At the moment there is not too much processing on top of raw stats from logs.tf. So if/when I write my own logs parser we can address this. But until then pyro will always have like 3x the hits vs shots.
-class stats seem inaccurate. it is claiming arrek is undefeated on sniper, n=5. is that like, logs where he played majority sniper
Winrate is calculated based on games with at least ⅔ time on this class. You can hover over the column headers and the tooltip will show some of the criteria. DPM, accuracy, and time played are based on all times you played that class.
cheers. don't change the design. every website built after 2010 looks like shit
I didn't have much of a choice :)
(that being said, if anyone can help me make a logo/favicon or can help with the CSS, I'd appreciate it)
Ok, I've addressed most of the major performance issues. The responsiveness should be back to what it was before the migration. I'm still importing logs from the past week, but it is going much faster than it had been.
ArieI'll take a look if you share some slow queries (use postgres' slow query logger) and the entire DDL (pg_dump --schema-only) and put it in a github gist.
Here's the explain analyze output for the peers query, which is currently the slowest page on the site. And here is the schema. My current plan is to move most columns out of the round table to reduce the amount of data we have to read in that inner loop to determine win/loss statistics.
A little update:
I'm migrating the database from SQLite to PostgreSQL. I started this last week, and did the switchover this past weekend. However, some of the queries are now taking way longer than they used to. I am currently working on this. Availability might be a bit spotty until I can get to the bottom of things. I am also trying to get log importing back up, but that is going much slower than before too. Please be patient for the next few days :)
In the longer term, performance was and is a big problem with the site, even before switching databases. I would love if some more experienced developers could look over my schema/queries and help out.
janga7would be sick if you could filter certain logs. shit like filtering out ultiduo logs
Good idea. I made an issue for it.
edit: Seemed really simple, so I just added it. Have fun ;)