As some of you know, my son and I have been working for a few weeks on a project to build a server in the basement. We have an old PC that had been in the extended family, and we’re breathing some new life into it. Time for an update.
Last week, on the eve of school starting, I challenged my son to replace the single 60GB hard drive with any drop of the myriad of hard drives I have on hand. In all seriously, I probably have a dozen old hard drives, from 2.5″ drives saved from dead laptops, to spare 3.5″ SATA drives, from drives as small as 30GB or 60GB, all the way up to 500GB drives. The challenge was to see what he could make work.
And the challenge was to see what he could make work with this machine. It’s an old-school desktop, with EIDE drives that are not plug and play. The drives need to have their pins manually set, as primary and secondary drive (what we use to call master and slave setting, but which I can’t call that any more). Son was kind of blown away by that, of hard drives that require pin setting in order to make them work.
He also found out that the CD-R drive had gone bad, and he couldn’t tell if the DVD player was OK, do he pulled them both and grabbed a spare of mine to install. This led to more trouble shooting, to get all of the pin settings configured correctly.
He also realized that he was going to want more RAM for the machine – and wasn’t that surprised that I had some of the exact kind he needed in the desk drawer. At the end of that day, he had two 250GB drives formatted and in place, Ubuntu 15.04 desktop (his choice) installed, a working DVD-R in place, more RAM, more (low decibel) fans installed, and the machine running. It was a long but good day.
Next up was installing software. He’d never played with Ubuntu seriously. He found instructions online for installing Starbound on the server. He and I went over the rules, things like it would be a closed server that he could run with a strong password that he would change monthly or any time he thought it had been compromised. With a few hurdles and some learning curve – things like learning that in Linux, capitalization matters – he got the game installed and up and running. That was neat to see.
Then came the issue of port forwarding, so that people outside out house, with the right password, would be able to join in the game. That’s not his problem, it’s mine. I run the network in our house. And I hit a snag.
I played with it found a couple of days, on and off, thinking it over. It wasn’t really working out easily. Then an idea hit me.
So, last night, son and I took out a piece of paper and drew out the whole of our network – how the internet connects to every piece of equipment in our house, through wires and wirelessly. From there, we talked about where and how IP addresses are assigned, and where and how port forwarding needed to work for the game, and he and I could see, on the paper, exactly the spot where the problem was occurring.
Today, I went and spent $20 on a piece of equipment, adding it to our network, right at the spot we identified, and boom, it solved our problem.
There’s a lot to be said for modeling trouble shooting procedures for kids. There’s even more to be said for modeling troubleshooting procedures with kids. Learning how to look at problems, and learning how to take them apart in order to see solutions, is something often gained only thru solution. Doing that with kids is important, so that they gain that experience too.
Sure, we’re just making a game server in the basement. But we’re actually learning some stuff too. Just don’t tell mom.