An Aloof Intel Officer's Dossier

L4D2 Lifetime Stats History & Match Activity Log is Ringo's Intel Officer work coming into play.

The repository of the plugin.

I play Left 4 Dead 2, and what bothers me is Valve’s own stats tracker that can be found in a player’s profile. To me, it's incomplete, and it doesn't suit my needs.

I run Team Moon Rabbits, each rabbit her own distinct loadout. However, whenever I look at the stats, it's all mixed up. If I play a few dozen games as Seiran, naturally my Hunting Rifle and Baseball Bat stats will be high. Playing as Rei'sen II, the M16 and the Guitar will also rise. However, I feel as though I wanted a better way, something I can easily print into file every end of a match. And there are other things I want to track too, like activities logged in sequence. Hence, the existence of this plugin.

Note: I do not play versus, I cared little for SI performance tracking. You are entirely free to fork my repository, or make your own to track SI performance and activities.


So, the SourceMod plugin I had developed is the Lifetime Stats History and Match Activity Log, with AI-assistance to be transparent.

Dear goodness, I fought with the machine for being stupid sometimes, an incredibly efficient boilerplate generator but SourcePawn is not a language it was trained for and thus its hallucinations of entities and netprops that don’t exist. It’s from there I learned to feed it lots of online documentation and raw netprops extracted from the game’s dumps before getting started. Hallucinations are reduced but still not bulletproof.

It took me about a month of work and thorough testing to fully finish and consider the plugin complete. Every night after my evening weightlifting, I sit down in front of my own cheaply bought office-tier laptop and tackle the next item on my To-Do list. In the beginning I wanted to track what is tracked on the steam page, but more. Total time, campaigns, lifetime kills, medkits, pills, adrenaline shared, teammates revived, weapon usage, accuracy, etc… it expanded to also tracking feats of skill, and blunders. Down to the little things you can do on Dark Carnival, and feel the joy of doing it again just for it to appear that you have done it in the Activity Logs. Rather than a one-time achievement, why not do it again and see it printed out there? You won the Gnome from the Peanut Gallery, and you took the Gnome home.

A lot of the features are on its repository. You can see what it tracks there.


With it, I am free from Steam’s own stats page. I no longer need to look at it. I have not seen my own for months.

You did an amazing feat? Cool. That is tracked in your history.

You skeeted a tank rock with a baseball bat? Amazing. That is tracked too, and you have proof to show.

You popped a boomer and biled the whole team? Now everyone knows without a shadow of a doubt, it’s your fault.

Not only that, it solves the issue of kill steals. Now the breakdown of damage inflicted on an SI is clear, so people can chill and feel that it was a team effort. What does it matter if the game said Nick got the kill? All four of you shot the thing down, it’s dead, and you are all alive. But cold, factual numbers are there to settle the matter efficiently.


And now, for Character RP reasons, I wanted a way to save history unique to each character.

I play as Rei’sen II, I type a command to load up her own history. I play as Seiran, I type a command for her too.

Because each Moon Rabbit has her own loadout, the statistics of an M16 and Guitar main should not mix with the statistics of a Scoped Rifle and Baseball Bat main. There is a difference in what a shotgun pointman experience to a sniper at the back of the team. Ringo has higher common kill count and damage taken in her history, while Seiran has the highest SI kill count compared to all of them, due to her sniper role.

With this, I keep a record unique to each rabbit.

In addition to the Statistics Tracker, Activity Logs is a detailed, timestamped play-by-play of a campaign. By itself it can tell a narrative, and aside from being proof of what really transpired so the judge and the jury have evidence on who to blame or who dealt the most damage, it’s also something I look at and imagine a story happening.

This plugin satisfies both my need to track statistics accurately, as well as my need to visualize a story in my head. Because by the time the campaign ends, I would have already forgotten the tiny details. Reading the logs, it allows me to recall the events, reconstructing the story through actions happening in sequence.


And so, my choice of having Ringo as my profile picture and username. During the development of the plugin meant to track stats, and I am always playing with Team Moon Rabbits, Ringo’s job is Information Management. She is an Intel Officer.

Thus, the entire plugin is doing her job for her. Lazy slacker...

To have written a plugin purely to track statistic and activity, while playing as Ringo, or having Ringo on my team… it brings me joy.

If I have built YORIGAMI SYNDICATE for the Yorigami Sisters, then the Lifetime Stats History & Match Activity Log is dedicated to Ringo.

It certainly makes her job infinitely easier.