Reverse teamkilling

Saturday September 23, 2006 @ 09:52 PM (PDT)

I've perfected a new form of griefing in Day of Defeat: Source. When I'm not messing with the poor God-fearing boy scouts on the Christian DoD:S servers, I like to find new and interesting ways of teamkilling without getting punished. My new favorite method is the reverse teamkill.

It works like this: Join a server and choose a player with a reasonably high score to pick on. Hit ~ to bring up the console and type name Player , where "Player" is the player's name. The trick here is to add a non-breaking space at the end by holding Alt and typing "0160" on your number pad. Nobody will notice the extra space.

Play it straight for a few minutes. Rack up five kills or so and try to capture an objective or two. Then start punching your teammates. Be careful, though: you only want to hurt them, not kill them. Don't be too obvious about it, but don't worry if they catch you at it. Your goal is to get them angry enough that they start hitting back.

Before long, team chat will be rife with messages like "Player is team-hurting!" and "No I'm not! That's not me!" and "Ban Player!" Resist the urge to chime in. You want to be completely silent. Let the tension build.

Most servers have a revenge menu that you can use to punish people when they teamkill you. Use it! Once you've pissed people off so much that they start shooting you, the revenge menu is like a get out of jail free card. You can use it to kill your teammates, and the best part is that they get double negative points! Meanwhile, keep killing enemies to keep your own score up.

If there are admins around, you'll probably get kicked eventually. No worries, just move on to another server. If there aren't any admins, then someone will eventually call a vote to ban you. This is where things get really fun. The voteban menu on most servers lists players by name, and there's absolutely no way of distinguishing between "Player" and "Player ". Half the people who vote will probably vote for the other guy, leaving you in the clear. This will cause all sorts of exciting chatter as the original Player realizes he's being framed.

If you're really, really good at this, you can finish the round as the only player on your team with a positive score. And if that's not a worthwhile way of spending a Saturday afternoon, I don't know what is.

Comments

Wonko,

You are an amazing man.

Matt

I've been wasting my youth away with DoD a good bit recently. Where do you play? I usually get on a [-Q-] custom map server or seattle 1stCPB. Some of those custom maps are amazing, and others are woefully unbalanced for an unusual flavor of fun.

When I want to play seriously, I usually hop on Seattle 1stCPB. I never pull any funny stuff there, since it's such a great server. I do occasionally pull funny stuff on the [-Q-] servers, though. Teehee.

Hmm

I haven't played DoD much since the earliest days of being able to headshot across the far reaches of DoD_Hill with the Garand, but I might just have to try it again. Pity school just started.

Once again I'm completely shocked to realize that in yet another aspect of your sorry life, you're a prick.

Oh wait I'm not.
I think a distinction needs to be made. Wonko explores new and creative ways to find enjoyment in life, and does so in manners that bring warm, fuzzy giggles to those like-minded souls who hang around this site for just that reason. Scamp, I think, would be a better word. Wonko, you're a scamp. This board is full of antics of scampassery, and that's precisely what I, for one, come here to read.

Now, if Wonko spent his free time hanging around a personal blog/journal/generic page of miscellany just waiting for an excuse to post weak, whiny and predictable insults, and then run off back to his own bleak page full of degenerates and their latest postings of porn and youtube, then maybe he'd be a bit more of a prick than a scamp.

Eat hardy.

Aww, don't be too hard on muppet. He's one of my most loyal readers. Without people like him, I wouldn't have a moral compass.

Hey muppet, your leet ninja forum is spewing leet ninja SQL statements:

0.0006 SELECT ID FROM P9SESSION WHERE EXPIRES <= 1159307289
0.0004 DELETE FROM P9SESSION WHERE EXPIRES <= 1159307289
0.0001 SELECT * FROM P9SESSION WHERE ID = '1ef086c1e5948c7aabf385eba255f874'
0.0001 SELECT COUNT(*) AS COUNT FROM P9SESSION WHERE ID = '1ef086c1e5948c7aabf385eba255f874'
0.0021 UPDATE P9SESSION SET USER_ID = '0', LAST_ACT = 1159307289, EXPIRES = 1159307589 WHERE ID = '1ef086c1e5948c7aabf385eba255f874'
0.0001 commit
0.0001 SELECT SETTING FROM P9USER_PREFS WHERE USER_ID = '0' AND PLUGIN = 'p9' AND PREFERENCE = 'style'
0.0001 SELECT L.LISTENER, L.LISTENER_CALLBACK FROM P9EVENTS E INNER JOIN P9EVENT_LISTENERS L ON (E.ID = L.EVENT_ID) WHERE E.NAME = 'onStart'
0.0001 SELECT COUNT(*) AS COUNT FROM P9PLUGINS WHERE ACTIVATED = 1 AND NAME = 'userAccount'
0.0002 SELECT COUNT(*) AS COUNT FROM P9PLUGINS WHERE ACTIVATED = 1 AND NAME = 'lithCore'
0.0008 SELECT COUNT(*) AS COUNT FROM P9SESSION WHERE HOST = 'outside.pdxfw.kryptiq.com'
0.0005 UPDATE P9SESSION_DATA SET DATETIME = 1159307289 WHERE SESSION_ID = '1ef086c1e5948c7aabf385eba255f874'
0.0013 DELETE FROM P9SESSION_DATA WHERE DATETIME < 1127771289
0.0001 SELECT COUNT(*) AS COUNT FROM P9PLUGINS WHERE ACTIVATED = 1 AND NAME = 'siteAdmin'
0.0001 SELECT L.LISTENER, L.LISTENER_CALLBACK FROM P9PLUGIN_EVENTS E INNER JOIN P9PLUGIN_EVENT_LISTENERS L ON (E.ID = L.EVENT_ID) WHERE E.NAME = 'siteAdmin.onAdmin'
0.0001 SELECT P.PERMISSION_FLAG FROM P9GROUP_MEMBERSHIP GM INNER JOIN P9PERMISSIONS P ON (GM.GROUP_ID = P.GROUP_ID) WHERE GM.USER_ID = '0' AND P.PLUGIN_NAME = 'dashboard' AND P.PERMISSION_CATEGORY = 'dashboard'
0.0001 SELECT P.PERMISSION_FLAG FROM P9GROUP_MEMBERSHIP GM INNER JOIN P9PERMISSIONS P ON (GM.GROUP_ID = P.GROUP_ID) WHERE GM.USER_ID = '0' AND P.PLUGIN_NAME = 'logViewer' AND P.PERMISSION_CATEGORY = 'logs'
0.0001 SELECT P.PERMISSION_FLAG FROM P9GROUP_MEMBERSHIP GM INNER JOIN P9PERMISSIONS P ON (GM.GROUP_ID = P.GROUP_ID) WHERE GM.USER_ID = '0' AND P.PLUGIN_NAME = 'siteAdmin' AND P.PERMISSION_CATEGORY = 'index'
0.0001 SELECT COUNT(*) AS COUNT FROM P9PLUGINS WHERE ACTIVATED = 1 AND NAME = 'counter'
0.0001 SELECT L.LISTENER, L.LISTENER_CALLBACK FROM P9EVENTS E INNER JOIN P9EVENT_LISTENERS L ON (E.ID = L.EVENT_ID) WHERE E.NAME = 'load_lithCore'
0.0001 SELECT SETTING FROM P9USER_PREFS WHERE USER_ID = '0' AND PLUGIN = 'p9' AND PREFERENCE = 'style'
0.0001 SELECT SETTING FROM P9USER_PREFS WHERE USER_ID = '0' AND PLUGIN = 'lithCore' AND PREFERENCE = 'bookmarking'
0.0001 SELECT SETTING FROM P9USER_PREFS WHERE USER_ID = '0' AND PLUGIN = 'lithCore' AND PREFERENCE = 'bookmarking'
0.0006 SELECT COUNT(*) AS COUNT FROM P9SESSION WHERE USER_ID = '0'
0.0005 SELECT COUNT(DISTINCT HOST) AS COUNT FROM P9SESSION WHERE USER_ID = '0'
0.0003 SELECT COUNT(*) AS COUNT FROM P9SESSION WHERE USER_ID <> '0'
0.0005 SELECT DISTINCT USER_ID FROM P9SESSION WHERE USER_ID <> '0' AND LAST_ACT > 1159306389
0.0001 SELECT * FROM P9USER WHERE ID = '66850a1ee2cb6f5608e1c25d18e04ec2'
0.0001 SELECT * FROM P9USER WHERE ID = '899547453f0984437d642fc9d7b939b5'
0.0001 SELECT * FROM P9USER WHERE ID = '75cace4504c44b71c9ae3d1df3a067a5'
0.0001 SELECT MAX(DATETIME) AS ACTION FROM P9COUNTER WHERE USER_ID = '66850a1ee2cb6f5608e1c25d18e04ec2'
0.0001 SELECT MAX(DATETIME) AS ACTION FROM P9COUNTER WHERE USER_ID = '899547453f0984437d642fc9d7b939b5'
0.0001 SELECT MAX(DATETIME) AS ACTION FROM P9COUNTER WHERE USER_ID = '75cace4504c44b71c9ae3d1df3a067a5'
0.0001 SELECT SETTING FROM P9USER_PREFS WHERE USER_ID = '0' AND PLUGIN = 'lithCore' AND PREFERENCE = 'updateflash'
0.0001 SELECT COUNT(*) AS COUNT FROM P9PLUGINS WHERE ACTIVATED = 1 AND NAME = 'debug' 

Are you sure that's enough queries for one page? I mean, I know it's sleek and frame-based and built for speed, but I bet you could cram a few more queries in there without anyone noticing. Try some multi-table subselects; I hear those are all the rage these days. Joins + subselects == Enterprise!

Sorry, I just wanted to be able to say "chunks of goat" in a sentence.

Hey, I only program an hour or two a week and spend the rest of my time reading or playing with my daughter or working on one of two books, so of course my site isn't as whiz-bang and optimized as it could be. The reason I'm dumping SQL to the output is so that I can get a better handle on which queries are slow, which are fine, and which I can eliminate entirely by making my framework's caching a little smarter.

If ALL the site was doing was running a silly forum or blog, then you'd be right, it'd be way too many queries.

As it stands, there's a ridiculously fine-grained security model and a pretty decent templating and plugin system behind the scenes, which make the site incredibly extensible.

Not that I've extensed it much.

But hey, getting jollies off annoying socially maladjusted teenagers in online games is probably a superior endeavor.
Copyright © 2002-2012 Ryan Grove. All rights reserved.
Powered by Thoth.