5 minute read

I have written extensively about gaming in this blog. I think the fact my largest piece to date is a diatribe on how everything in the past was better showcases how little I enjoy modern gaming.

hmm

One must wonder why then do I keep bringing the topic up, if for all intents and purposes, I don’t really enjoy it anymore? The reality is if it wasn’t for gaming, I wouldn’t have ended up as a penetration tester. The leaps from hurriedly trying to fix the computer after Ghost Recon gave the computer BSODs so hard it was almost completely fucked, learning game development by hacking pieces of other people’s work together to make a shitty Pokemon x GTA hybrid in Game Maker 6 (I can’t even explain that one), to becoming a sysadmin, then network admin on the F-35 program, to then getting into offensive security are in my mind, a natural series of progressions all rooted in a foundation of IT skills stemming from a love of games.

This is a video that makes me smirk, because I have a very distinct memory in high school of declaring to myself I was going to write an OS in JavaScript. at the time, this was a literal, actual, impossibility. jQuery was on version 1.X; wasm was a decade away exist and html 5 was there, but every technical institution was pushing XHTML as the way. By every I mean the very poor high school I went to and the equally dubious university.

vbos

TURNS OUT WITH MODERN FRAMEWORKS SOMEONE ACTUALLY DID MAKE A JS OS.

I mention these to simply provide context around why the fuck I keep harping on about gaming despite all signs suggesting this should be blog on infosec, and that LiveOverflows journey into sec is similar to mine; we stumbled into it, by accident, initially from a love of games.

As a nice little distraction when something on a test is bothering me, I like to run a round of gungame (gg) and utterly destroy the bots. There was a lovely server in Germany that had all the features I liked; if the server was empty it populated with bots, it had the quake sounds, it was turbo (you instantly level up after getting a kill instead of on next spawn) and deathmatch (dm).

Unfortunately, it was in Germany, and my resulting pings were very frequently over 300, so I would be kicked. instead of upgrading my network, I figured I would simply spend far more time to setup my own ggdm server.

The following recipe of half baked (hue) instructions should get you a fully functional css ggdm server. In the same vein as the Diablo compilation post this all looks quite simple and contrived. Unfortunately, the reality is modding a game that is nearly 20 years old, has a successor with this native functionality built in, by following instructions on sites that sometimes straight up don’t exist anymore to piece by piece put this together took a lot longer than it should have.

hard

Download metamod source. Extract the folder, and copy the entire contents of the ‘addons’ folder and paste it as is into yoursteamlocation\steamapps\common\counter-strike source\cstrike\addons

Open steam, right click css go properties, and add -insecure to your launch options NOTE THIS WILL MEAN YOU CANNOT JOIN ANY VAC SECURED SERVERS!! this is necessary to have your own server spawn as a non vac secures, as the plugins aren’t valve signed and cannot be run in vac secured sessions. if like me you’re going through this much effort, you probably don’t want to play on other people’s servers anyway. I suggest doing this now so you can test each mod as you load them in.

insecure

Download sourcemod, unzip and copy entire contents of addons folder to the addons folder from before; it’s got a file that will link metamod to source mod so make sure you copy both folders in the zip

Download gg mod and put everything where it’s supposed to be. I am actually 90% certain that this is not necessary. I just have not tried this on a cleanskin install yet, so these are all the steps I took to get it to where it is.

Download deathmatch mod for single round goodness that I like. Without this when you die, you do not respawn. I actually do not know how the fuck gg is supposed to work if a single death means you sit it out. The likelihood of anyone getting their knife kill on a single life is preposterous.

Download the quakesounds .zip. The link has both a zip and a plugin; I have no idea what the plugin does, I just added the stuff from the zip and it works fine. gungame just isn’t gungame without a booming DOMINATING reverberating across the map.

Download noblock mod. It stops people spawning on top of each other. As each of the gg maps have predetermined spawn points, when a chaotic round is happening and everyone is dying, people start stacking on top of each other. The experience is quite shit without this.

Now we need to activate some of the plugins! To get new guns immediately after kills, run sm_gg_turbo 1 in the console. to get instant respawn, ssm_ggdm_enable 1

A lot of options we I want like no bot chatter, no wait time etc are all set when creating the server inside css, no confs need to be modified outside the game to sort these little issues out.

nofreeze

botsquiet

The last part is the map chooser, to set us up on a new map after the game ends. But in all honesty, I only ever play a single map before going back to what I was doing, rendering the necessity of having a new map chosen for me as moot. And given this will not be a public server, there’s even less point setting that feature up. I looked into setting up ultimate mapchooser; had I the inclination to continue, I believe this was going to be the PERFECT choice.

Well with this project out of the way, time to crunch another on my to-do list so I can feel like I am productive whilst in reality I am just procrastinating and masturbating.

Here is a portrait taken of me before I utterly dominate this server of Easy level bots.

me