The blog for the bleeding-edge news in the server of Research and Development.

Now a "community" of three years!

← Blog

(I was going to put this up on the 23rd of last month, but I wanted to confirm payment of the hosting bill for the next year.)

The server is three years old now! Well, the spirit of the server is, anyways — we've moved across hardware and had occasional downtimes, but otherwise it's been operating continuously.

Considering the decline of regular community servers in TF2, that's kind of a big milestone. Check a look on how far the server has come!

Various historical facts about the server

The hardware

  • The original server instance had way more hard drive space. 100 GB, I think. The trade off was that it used a mechanical hard drive. Which wouldn't be too bad, except the server also only had 512 MB of memory. So it went into swap fairly often.
    • Also, the automatic demo compression routine killed performance for a bit whenever it kicked in. Which was noticeable, as it ran on a cronjob which could start up in the middle of a game. Boy, was the server noticeably laggy.
  • There was an incident of static charge buildup which killed the original hardware. I was placed on an SSD instance. Same amount of memory, but 50 GB of SSD space. Things ran significantly better.
  • I've since then moved to 1GB RAM and 25GB SSD. It's a little cramped, but manageable.

The site

  • It was served using lighttpd at first. That configuration survived Up until mid-2016 (the major server migration), when I switched to nginx.
  • The fast download tf/ path was originally ~tf/, and it leveraged public user directories.
  • The server originally used a FreeDNS subdomain. I've scrubbed most references to it, but the redirects still work for the time being.
  • I was originally planning on making the dynamic content with Perl. CGI's pretty broken, though. And I'd have to learn how to write Perl code.
  • Instead, it revolved around shell scripts.
    • The changelog? Originally just a text file that was concatenated onto every time I did a thing. Converted from Markdown to HTML client-side with JavaScript. Eugh.
      • All the changelog entries from the beginning have been migrated to SQLite; Markdown is still supported for formatting.
    • I think the song list was a scheduled shell script output, too. Then I switched to PHP.
    • The mapcycle updater script was originally a shell script as well. It used text scraping at the time. Not sure if there was an API when the Workshop was first released.
  • The site originally used Bootstrap, with the Flatly theme. I switched to Darkly because a community regular mentioned that it was too bright on the eyes, and I'm inclined to agree, looking at this burning-white Notepad2 instance as I edit this page.
  • The site's pages was also rendered in PHP. The templating system was "good enough", before I figured out static site generation.
  • Adapted the theme to use Min for a time too, but it was difficult to work with.

The game server

  • It used to run dodgeball and jump maps, too. I was considering making it a multi-mod server, but the maintenance for that sort of thing is pretty high.
  • Originally, the server ran with a 2v2 bot configuration.
  • The nice names in the map listing were originally displayed in the vote menu. This required a custom branch of NativeVotes mapchooser that I couldn't be bothered to maintain.

And a few community server shoutouts:

Thw following servers (in best-guess chronological order):

  • This one small server with some map called nekofort_final_fix. A short-lived place, but one of the few that I could actually play on with my stock ancient Dell desktop from 2003.
  • TFTurbo, a rapid-fire all crits RTD Mario Kart server.
  • This one LazyTown LazyNite server I frequented, back when my computer was absolute potato.
  • PwnShop, making 1 vs. All happen long before Vs. Saxton Hale existed. And also doing rapid-fire weapons. The most madness I ever saw on Turbine.
  • Voogru's dodgeball servers, where I spent too much time airblasting.
  • SourceOP's PropHunt and Arena servers.
  • Nom Nom Nom's community servers, my home for the longest time:
    • Bacon, the outsider Nom group that didn't have the regulars. But they did have Cupcake, and all the admin abuse you could wish for.
    • Main, the core Nom group. And the place you joined to try to get into those YouTube videos.
    • Eggs, the other Nom server. Sometimes it's the secret regular clubhouse, other times it's also dead.
    • Oatmeal, the one that was sadly late to the party.
  • The Randomizer Arena, probably the longest-running randomizer server out there. Still is.
  • Crit Sandvich Network, whose trade server I frequented.
  • Slag Gaming, a huge multimod community with extensive custom-built services and assets.

Barring some freak accident or the end of TF2 as we know it, this server won't be going anywhere for a while.

(Up you go!)