Ooper Rankings are pretty meaningless with the way the combo server is, if you only play normal ctf maps you will be nowhere, play joust, andaction, woot, you will get a lot more ranking points.
Agreed, and still all the aliases make them even worse.
Ooper I'm guessing ranking is only calculated for the players in the current imported log, you could just empty the rankings table and then just have rankings for more recent matches without losing years of data or waiting hours for the recalculate rankings(rankings would just be current active players more or less, if older players come back their rankings would return as well).
Good idea for a short term solution. I will give it a shot. Eventually, something else will need to be done like separate DBs per year or some such as some functions are broken with this many matches/players in the DB and it will only get worse in time.
The totals page takes way too long to load, more than 90 seconds IIRC. I could increase the web server's max timeout for this but waiting 2 or so minutes for the totals page to load doesn't seem practical. Pretty sure there are inbuilt timeouts in browsers too if they aren't actively receiving data from the site during processing.
Even deleting a single match in the admin section is broken because it locks up my browser before the drop down list can fully populate with matches. I'd expect there are other problems also, haven't really tested all the functions.
Ooper looking at the recalculating code it's not very efficient, but it is 20ish year old code so some stuff may have not existed back then.
Yeah, can't really blame the old design or implementation. It is quite the endeavor to put something like this together (as you most certainly know), even with today's tools, let alone 20 years ago. Maybe if you had a paid QA team they would test for performance in the worst case. As a hobby project like this one, you would never get anywhere if you tried to be perfect and optimize everything from the onset. This is the current state of the tables ,just for reference, to help judge the complexity of the queries:
