I started a TF2 server
Server-hosting is something I've had a slight interest in for a long time but I never really got around to it. Mainly because I've always been incredibly scared for my own privacy, i.e. fears of being DDoS'ed, doxxed (which has already happened) and all of that.
But seeing as I have a huge surplus of computers that I don't really tend to use, I thought...hey, why don't I just give it a shot and see how it goes?
So I've booted up my old Intel NUC that I have, which I bought from one of my previous workplaces for dirt-cheap since they were being written off, and decided to use that as the place of interest for hosting a server.
The specs of this thing are genuinely anemic. It runs an Intel Celeron J3455, has a measly 4GB of RAM and 128GB of soldered SSD storage. The operating system it runs is Linux Mint with XFCE as its desktop environment to reduce load on this anemic little thing as much as possible.
For the most part, this tiny old thing is just used as a media center box for my TV in my room via Jellyfin and not much more than that. Sometimes I boot it up to watch anime or a movie if I'm feeling up to it but more often than not - it's just sitting there doing nothing.
Given these limitations, I looked at what kind of server I could host and then I remembered. I have a VAC banned TF2 account that I'm currently using full-time as my primary Steam account. Knowing that I'm not able to play on VAC-secured servers, I opened the server browser on it to see what my options would be for being able to play TF2.
And you get the usual suspects really. A bunch of HvH servers, all of which are empty. Some listed VAC insecure servers are even fake, as clicking on them redirects you to a completely different server that IS VAC secure so...boo.
Then that gave me an idea. Why don't I...try to host a vanilla TF2 server that's VAC insecure? But doing that comes with...problems. Namely, if a server is VAC insecure, how can I prevent cheaters and bots from just running rampant?
So I downloaded all of the necessary files via SteamCMD and began looking around on how I could solve the "keep it VAC insecure but prevent people from cheating" issue.
I landed on two separate anti-cheat solutions, which I won't mention here in case anyone's reading, because I'm sure they'd love to challenge and bypass whatever's running. But setting them up was honestly rather painless. Just create an addons folder in the tf directory of where you downloaded the server files and plop things right into there. They just naturally get loaded whenever you start the shell script for the server.
I also really needed to reign in server performance, since I can imagine that poor little Celeron struggling to effectively let 24 people play on the server with little-to-no lag, so I capped the max player count on the server to 16 players. Making it an 8 vs 8 match if it were ever full. Oh, and obviously I had to define myself as the administrator of the server.
Awesome! I figured that little issue out, now the next hurdle I ran into was hosting it. See, my ISP has this frankly strange thing where I'm not allowed to access my router settings. I assume it's for security, which I don't mind, but that also means I'm unable to practically change anything. Eh, considering that all of the network devices in my place are being rented from the ISP, I guess it makes sense that they don't want me accidentally breaking something that technically isn't even mine.
With a few friends I did share the IP to the server, which was just my home IP address with the 27015 port specifically defined. I did verify that the NUC's firewall allowed connections to the specified port but all my friends reported that the connection failed after 4 retries. Bummer, I needed an alternative solution then, since the port is likely being blocked on the ISP's side.
So I discovered a neat little proxy service called Playit. I had to install it first on my NUC so that it runs as a service in the background and then I had to configure the UDP tunnel.
It was a little bit irksome, it complained to me that my account wasn't verified when it was, and then when I tried to refresh my browser session it...timed me out. But I tried again in a few hours and completed the setup properly. Gotta admit, it was a bit funny having to type out that I won't be using that tunnel for malware or illegal software. Guess they had to implement that for a reason, huh.
The last little hurdle I had to overcome was authenticating with Steam's servers. The reason this was a small hurdle is because, as I've mentioned, my account is VAC banned. VAC banned accounts are not allowed to host game servers via Steam (you learn something new every day, I guess? I never knew this was a thing). The way I overcame this small hurdle was trivial - I just used one of my alt accounts that doesn't have a VAC ban as the server registrar and...problem solved.
The final hurdle with the server is one that I, unfortunately, cannot fix. And that's the fact that the server is not visible on the in-game server browser.
Yeah, refresh all you want, you'll never encounter the server in the server browser. That's because of the proxy that I have in place, meaning my IP and the server's IP do not match. There's nothing I can really do about it. I assume this is just what Valve does to prevent IP spoofing and server-faking? But either way, this means that the only way people can access my server is via IP.
So...I'm sharing the IP of the server here!
- 147.185.221.214:19358
This is an entirely vanilla TF2 server. Random crits are enabled, so is weapon spread and everything. Basically, anything you'd find in Casual, you'll find here.
It runs on a 45 minute map timer, with commands for !nominate and !rtv being active via SourceMod. There is no amount of max wins, albeit I think that can be changed since it can lead to maps failing to change properly. I dunno, haven't extensively tested it.
As mentioned before, this is a 16-player MAX server, but considering I'm not expecting much traffic at all here, I think it's completely okay for it to be at that low of an amount.
Below you'll find the full map list. I really just put in whatever maps I find the most fun here.
Capture the Flag:
- 2Fort
- 2Fort Invasion
- Turbine
- Doublecross
- Landfall
- Well
- Medi-Evil (Medieval)
Control Point / Attack & Defend
- Powerhouse
- Gorge
- Dustbowl
- DeGroot Keep (Medieval)
- Snowplow
- Steel
Payload
- Upward
- Badwater
- Borneo
- Cactus Canyon
- Thundermountain
- Phoenix
King of the Hill
- Harvest
- Lakeside
- Lazarus
- Nucleus
- Sawmill
Payload Race
- Banana Bay
- Hightower
- Nightfall
- Pipeline
Special Delivery
- Doomsday
- Carnival of Carnage
I will keep this server going for...around a month, I wanna say? Probably until the end of this year's Scream Fortress. So uh...if you see this and want to check the server out, this is your window of time to do it.
If I see people online and playing on it, I might hop in and join the server myself to hang out with y'all.
Oh, and if you add the server IP to favorites - you'll see it there in the server browser anytime the server is live and you want to hop in for a game.
That's about it. Hope to see you there!
- huu