Building Ikora Part 2: The Hardware

Last time, I gave an overall look at what my server setup at home looks like. I talked broad strokes of what I was trying to accomplish, and the software at the top of the stack that I thought would get me there.

This time, I want to talk about the hardware that this is all going to be built on. I wanted a set of hardware that wouldn’t be too expensive, relatively speaking, but I also wasn’t chasing down thrift stores trying to find old an old Dell to try and house this all on.

You can definitely hit up Labgopher to try and find a good deal on someone’s old server set up. There are a lot of businesses that routinely upgrade their server hardware, and when they put it on the market to recoup some of their costs, they’re not too worried about making a ton of money back. It’s generally pretty easy to find something that’s a few years old for dirt-cheap.

I chose not to take this route, mostly because many server systems are designed to be in a huge data center, where some of the cooling can be taken care of externally and where nobody cares if the thing is super loud. I don’t plan to have my server cooled externally (just the fans in the case and on the CPU), and I’m definitely concerned with noise, since this is going to be living in my house. Plus, you’re going to be working with years-old hardware, which may not perform as well as you’d like.

So, I decided to go with consumer-grade hardware for my server. I’m not going to be too demanding on it 24/7, so I’m not super worried about power consumption or the hardiness of the hardware to be able to last years at 100% load. The most intensive thing this server will be doing is probably live transcoding of video from the Plex server to one, maybe two clients at the same time.

The important thing to consider when putting together hardware for your home server is not only what you want to do now, but what you might also want to do in The Future(tm). Don’t go too overboard at the start, but keep in mind the ways that you might want to expand your hobby (and this does become a hobby) and plan for that. Give yourself some wiggle room where you can, you’ll thank yourself later.

The Hardware

TL;DR:

  • CPU: Ryzen 5 2400g.
    • 4 Cores/8 threads
    • 3.9Ghz
    • 65w TDP
    • Radeon RX Vega 11 Graphics
      • Pretty badass as far as integrated graphics go, probably not enough to be a satisfying gaming machine.
    • More rationale explained below.
  • RAM: 32GB Corsair Vengeance LPX
    • Two 16GB sticks (gotta get that dual channel goodness)
    • 2666 MHz
    • I went with 32GB because virtual machines are going to be very hungry for RAM, especially if I want to play around with Windows Server evaluations and other things that bring their own GUI.
  • Motherboard: Gigabyte B450M DS3H
    • Built-in LAN and HDMI
    • Honestly, nothing too special here. Supports the rest of my hardware.
    • Has enough expansion slots so that I don’t feel trapped if I wanted to add TV tuner cards or additional graphics cards.
  • Storage: Mushkin Pilot 250GB M.2 SSD
    • Again, nothing too special here. I wanted an SSD to run the OS and VM images from, and that’s what I’ve got. It’s fairly cheap but still many times faster than an old mechanical hard drive.
    • I’ve also got a standard 1.5TB mechanical hard drive in there, for media storage. This will likely be upgraded in the future to something more parallel and redundant.
  • Power Supply: 550w Corsair
    • Enough power for the system. Probably overkill, but will scale if/when I decide to put a graphics card in this machine for whatever reason.
  • Case: iStarUSA D Value D-313SE
    • I could have gotten away with a 1U server rack, but I wanted to have tons of space to throw extra hard drives in here, as well as to fit a 2-slot graphics card, should the need arise. Plus it looks neat in the rack I have it in.

When it comes to price/performance ratio, AMD really can’t be beat these days. I don’t need a 16 core/32 thread Threadripper, but since I want to be able to support a couple of transcodes at once, I’ll want a fair few amount of cores. This is also important if you plan to run virtual machines for any reason, since there is quite a bit of overhead involved for each machine that you’re running.

I settled on an AMD Ryzen 5 2400g. I went with this because it has 4 cores (hyperthreaded, so it supports 8 simultaneous threads), and because it has some level of built-in graphics. I’m not sure what I’d be using those graphics for, but I figured in the event that this system doesn’t work out and I want to repurpose it, those onboard graphics might come in handy. Maybe I can mine ethereum or bitcoin with it ;-).

This particular model comes with a cooler too, which is guaranteed to work well, and, in my experience, is pretty quiet. This thing is stuffed away in a closet, but sometimes people stay in my guest room, so I’d rather not have them be bothered by blaring fans in their closet.

It’s also fairly power-efficient as well, with a maximum TDP of 65 watts. I’m not super concerned about power-efficiency (though power in Southern California is not… the cheapest), mostly because this is a hobby and I expect it to cost a little bit of money. That said, I’ll take the wins where I can, and I think this is a nice feature of the 2400g.

It also came with a free copy of Tom Clancy’s The Division 2, which I planned to buy anyway, so that’s a nice bonus!

Everything is mounted in this rack, with a 1U power strip/surge protector. I wouldn’t recommend it, however, since it’s very short and seems to be tough to find things to fit in it. The server itself is mounted solely by the front mounting points, which seems precarious to me but also hasn’t caused any problems yet. I plan to get sliding drawer for a laptop to put in here, but haven’t been able to find anything that would fit this rack. Eventually, when I own my own house and have the entire thing wired up with CAT 6 cable, this will also hold a patch panel and switch. For now, though, it’s content just holding Ikora herself.

That’s the hardware, in a nutshell. This has proven to be able to support everything I’ve tried so far without skipping a beat, including 10s of Docker containers and a couple of different VMs running all at the same time.

Speaking of which, next time I’ll detail the software setup. I’m still finalizing and tweaking it for now (and likely will be for the forseeable future) but once it’s in a place where I’m comfortable sharing everything I’ve done and all that I’ve learned I’ll do another post about that.

Building Ikora: My Home Server Journey.

TL;DR: I’m setting up a home server for media management and general sysadmin testing. I’ll be writing a series of articles detailing the process.

Server administration has always been fascinating to me. I love the idea of a single machine, rack mounted in a closet or basement, running several different applications to serve me and my home.

For awhile I’ve been wanting to set up a machine to do this, but I’ve had trouble coming up with a real-world use case for what this machine might do. When I’m doing projects like this, it helps to have some actual usable thing to build towards. “Build a server” isn’t really much direction to decide what to actually do on this machine, so I needed some kind of use-case. What use could I have at home for an always-on, always-doing-something computer that justifies the power draw?

A home TV/Movie server is pretty popular, and a really great starting point for a machine like this. There’s a lot of documentation available online, so running into problems should hopefully be pretty easy to solve with a little Google-Fu.

My requirements:

  • Remote access for headless operation.
    • If this is going to be sitting in a closet, I don’t want to have to get up to work on it. I’ve got a comfy chair, and I’d rather sit at my desk!
  • A storage system that lets me share files, as well as media
  • A way for acquiring said media, in a way that is fast and private.
  • Status monitoring, so I always know what the state of the various services are in.
  • Web-access, so that it can be accessed from any device without having to install cumbersome native applications.
    • Side goal: This should be accessible over https, to further enhance privacy.
  • Run virtual machines both for testing/play as well as for applications that may make sense to use a VM for.
    • I can’t think of any off the top of my head, but I’m making it a requirement because who knows what the future holds?
  • A large amount of easily expandable storage as media library grows.
  • Dead-easy for someone who is not the administrator to use.
    • Both to play back media, and to request new media to be downloaded.
  • As much of this should be open-source software as possible.

Additionally, there are a few software related things that I’d like to learn, specifically, so figuring out a way to get these into this project is also high priority:

  • Ubuntu Server 18.04.
    • If you couldn’t tell by my open-source software requirement, I’m a pretty big open-source software nut. I’ve used Ubuntu Server before, but it’s been a long time since I fired up a server of my own, and I’d like to base it on this.
  • Docker.
    • Something I’ve seen pop up in the last few years and take this scene by storm. It allows keeping your different services completely separate (to whatever degree you’d like) but using much, much fewer resources than something like a virtual machine.
  • Windows Server 2019.
    • Active Directory in particular, but I’d love to poke around in here and get a feel for everything.
  • QEMU-KVM.
    • Gotta be able to run other operating systems, just in case there’s some cool piece of software that only runs on Windows or macOS.

Stretch goals that aren’t necessary but would still be pretty neat:

  • Single, unified login system for all services running on the machine.
  • Hot-swappable hard drives for quick replacement should expansion or repair be required.
  • The ability to rip Blu-Rays and put them in the library automatically.

Spoiler alert: A lot of this has been accomplished, and now I’m taking the time to step back and document everything I did, since I didn’t do it in the moment.

First thing’s first. Picking a name. I’ve been playing Destiny 2 for over a year now, and it’s safe to say that the game will be a favorite of mine for a long time. So, whenever picking a host name is necessary, I’m going to use characters from the game. The servers name will be:

Ikora.

Building Ikora will be a series of articles. Next, I’ll dive into the hardware I chose and how everything is physically set up, and then we’ll talk a bit about the software I chose and how it’s all organized.

Is there anything I’m missing here? What kinds of neat stuff can you run on a home server that I’m not thinking of?

Developer Karma (or, why it’s okay that Fallout 4 is buggy but not okay that Arkham Knight is)

TL;DR: We like Bethesda, and we like Rocksteady. What we don’t like is Warner Brothers, who (whether they actually deserve it or not) have given us no reasons to like them and every reason to hate them.

Back in June, Warner Brothers released Batman: Arkham Knight. It was released to a lot of fanfare as the previous 2 (or three if you count Origins) have generally been well received games. Arkham Knight furthers the formula put down by Arkham Asylum and City, and is generally considered to be as good as, if not better than the rest of the series. Awesome.

The only problem was that it was almost completely unplayable on PC. Texture bugs, a frame rate locked at 30, and crashing all caused problems for players on the day that AK was released. It became so bad that after only a few days WB had pulled the game from being sold on Steam altogether, most likely because of the recent addition of player-requested refunds to Steam. This was a huge deal – that a game would be released in such a broken state that it had to be removed from sale by a large publisher, something that we’ve maybe only seen a handful of times in the past. Since AK was such a high profile release, naturally, this made it pretty big news last June.

Fallout 4 released just a few weeks ago, to a similar amount of fanfare. Fallout 3 itself was huge in 2008. Bethesda had also released Skyrim in the interim, a game that, at its core, is very similar to the Fallout 3/New Vegas/4 series, continuing the style of “Bethesda RPGs.”

Fallout 4 also contains a number of bugs, including glaring flaws like a lack of SLI support and a soft 60fps cap. It also contains a slew of gameplay altering bugs, like missing textures, weird physics, and collision detecting messing up so bad sometimes that you fall through the ground. Forever.

But, in the zeitgeist of overall gaming conciousness, Fallout 4 receives heaps of praise, while the boycott on Arkham Knight continues, even after the game has been patched and put back up for sale. So what’s the difference between these two games, and why does Fallout seem to get a pass while Arkham Knight will never be forgiven?

The main difference between these two scenarios isn’t even directly related to the games themselves. Both games are widely considered to be good games on a gameplay level. The real difference here is the amount of goodwill each developer/publisher has. Developer goodwill is the sort of “Karma level” that a developer sits at within the gaming community. As a developer releases good products and generally creates good feelings, they gain positive points on this karma scale. As they release bad products (buggy games, bad games, and poor PR management), they lose points on this karma scale. There’s no exact formula, but basically, the more karma a developer has, the more crap we’re willing to put up with as gamers.

Bethesda is a developer that has put out amazing games for decades – their first title, The Elder Scrolls: Arena and its sequels have given gamers countless hours of entertainment. It also successfully rebooted the Fallout series, a franchise that hadn’t seen a main entry in over a decade when Fallout 3 came out. Everything else they’ve made aside (and though they’ve made many games, one struggles to name any beyond TES and Fallout), Bethesda has consistently made good (if buggy) experiences. It doesn’t hurt that the types of games they make tend to be incredibly open-ended, allowing one to create a character and play the game as that character. A true role playing experience in the Elder Scrolls and Fallout games.

I should note here, that I haven’t actually mentioned Rocksteady, the actual developer of the Arkham series. They actually have a tremendous amount of good developer karma, simply by having developed Arkham Asylum and Arkham City, two games that were on many gamers GotY lists in the years they were released. This is more about Warner Brothers, the publisher and main liaison gamers have to interact with the creators.

Warner Brothers, on the other hand, does not have as much good karma. This split between developer and publisher (as karma entities, not as physical/corporate/process entities) means that these two companies have separate karma levels. WB has had major run-ins in the past, especially when it comes to the Arkham games. Arkham Origins, the last title in the series (and not developed by Rocksteady), had a lot of the same kinds of bugs that Arkham Knight had. Their most glaring disaster in my mind is the Forum thread on WB’s website that states:

The team is currently working hard on the upcoming story DLC and there currently are no plans for releasing another patch to address the issues that have been reported on the forums.

What I gather from this post is “we can’t sell you a patch fixing your issues, so we’re developing DLC that you can pay us for.”

And that’s what it ultimately comes down to. As gamers, we want to to think that the game developers and publishers ultimately have our best interests at heart, and that money is really more of a secondary concern to them. To hear (or infer) that a karma entity is putting its monetary well-being above the well-being of their players hurts, and ultimately dehumanizes us and makes us feel like we’re nothing more than money mines, to have all of our resources drained from us before moving on to the next game and set of players that can be sucked dry, ad infinitium.

Something I mentioned earlier is also part of the crux of the problem: Rocksteady and WB are two separate entities, so one can simultaneously heap praise (positive karma) on one entity while deriding another, creating a bit of congnitive dissonance that allows us to deconstructively criticize the development of a game we love. You see it everywhere, gamers apologizing for Rocksteady and placing all of the blame on WB, the money-grubbing bastards. We all know how hate can outweigh love in communities like this (especially the gaming community), so having one entity be almost 100% negative karma makes it incredibly easy for us to hate on Arkham Knight and dismantle it saying it’s a buggy piece of crap, while simultaneously making us able to justify and forgive Bethesda’s misgivings, since they have a good karma ratio of something closer to 80:20 (actual numbers don’t really matter here).

Basically, we like Bethesda, and we like Rocksteady. We don’t like WB because whether they deserve it or not, they have a lot of negative karma within the community. Since we already gave the good karma from AK being a good game to Rocksteady, WB takes the brunt of the negative karma. Bethesda can squeak by on the good karma for Fallout being a good game, while WB doesn’t have that luxury. I guess you could say that WB is the hero Arkham Knight needs, but not the one it deserves.

iPad Pro: Best iPad ever, not a MacBook replacement. Yet.

Let’s get this out of the way here: I love my iPad Pro. Maybe I’m just trying to justify a $1000 purchase (after tax), but it’s been over a week, and I’m still using it as my main computer. The only thing I’ve used my MacBook Pro for this whole week is to put the finishing touches on a video I had been editing (that I actually made most of the cuts in iMovie for iOS). It’s not a MacBook replacement, but it’s the best damn iPad I’ve ever used, and that makes it worth it for me.

This isn’t so much a review as it is a collection of thoughts. I guess you could consider it a review if you wanted to.

Continue reading “iPad Pro: Best iPad ever, not a MacBook replacement. Yet.”