Servers, PCs, and Games!


minecraft gaming pc IoT nvidia graphics making server
September 7, 2020

Getting involved in Web Development earlier this year has led me to become even more curious about other technologies. Since I’ve always been involved with electronics, learning about IoT seemed like a natural progression for me. I’m incredibly grateful for platforms like Raspberry Pi, Nvidia Jetson, and other single-board computers for allowing me to learn and develop tools for different applications.


Today, I’m writing about a particular use case of IoT, and in all honesty, I’m a little afraid to write this. Why? Because I’m going to get a bit vulnerable. Minecraft, a computer game written in Java and developed by Mojang Studios was something I just grew up with. It’s an open-world game based on the idea that you can place and destroy building blocks to make almost anything you want. I discovered Minecraft in 2010 when it was still in Alpha development. It was officially released in 2011 and is still being consistently updated with new items and features. How is Minecraft relevant to IoT? Because IoT devices are just small computers that can be programmed to do almost anything. In this case, I wanted to create a world of my own for my friends who are now all over the world.


The Minecraft Server


A server is a special computer. In most contexts, servers are computers that we consumers never get to see, but rely on for just about everything. There are storage servers like Google Drive that most students depend on for assignments and group projects. There are servers for cloud computing, like Cloud Code from Google, which allows users to run code on Google servers. Most large companies have internal servers for authentication, security, and storage. And when servers don’t work, we all feel the effects. Ultimately, the world around us has contextualized the word “server” in such a way that most of us think of servers as invisible, all-powerful, and mysterious boxes locked away in some secure facility. In reality, they are just specialized computers that are designed to run 24/7/365.


Servers can also be used to run games. In fact, any game that has a multiplayer functionality in one way or another requires the use of a server, somewhere, someway, somehow. But those servers don’t always need to be in the same building as the game studio’s headquarters. And in the case of Minecraft, Mojang actually provides the program files for anyone to download, install, and use to host their own multiplayer games. Lucky for me, not much processing and storage overhead is required to be able to do this.


That’s exciting! That means that I can host my own server off of a $50 Raspberry Pi, and I can expect it to run 24/7. The way I see it, I have my own little world contained in a tiny, credit-card sized circuit board. I can invite any one of my friends into that world, and they can join anytime, from anywhere in the world, so long as they have an internet connection.


The “Gaming” PC


Now that I have the server, how am I going to play the game? On a laptop that can barely handle 20 open Google Chrome tabs? No way! Last month, I set out to build myself a capable computer on the cheap, and I think I succeeded! On Craigslist, I found an Acer Veriton x275 for $40. The x275 is an old piece of office hardware built on the Intel Pentium line of CPUs. Unfortunately, that was one of my bottlenecks. Pentiums are dual-core, 3 GHz processors that are perfect for web browsing and excel, but not so perfect for much else, and when processors in the year 2020 have dozens of cores and can operate well above 5 GHz, Pentium doesn’t stand much of a chance.


Also, no, I can’t just slap in a brand-new Intel 10th Gen i9 10900k in there (plus I don’t have $600 to spend on one). The motherboard socket will only accept certain types of CPUs. Therefore, I went with an Intel Core 2 Duo E8600, which I discovered to be the most capable chip for that particular motherboard. Next step: Graphics. Minecraft needs OpenGL 4.4 or above to operate. OpenGL is an API that is used to render graphics for many different applications, including games. The Intel G41 Graphics Chipset included in the Core 2 Duo supports OpenGL only up to version 2. Big Problem. We need a graphics card.


With only one PCI Express x16 slot, which is only about an inch from the bottom of the x275’s case, I wasn’t left with many options. Luckily, I chanced upon an Nvidia GT 710, which I bought for a lot less than it is probably worth. It’s a low-profile card that gave just enough clearance for the fan on the heatsink to not be starved for fresh air. The GT 710 supports OpenGL 4.5, so I was in the clear!


In Conclusion…


I couldn’t be happier with the end results. I have a server that can unite friends from across the world. I have a hobbled-together PC that can run Minecraft at a consistent 80 frame-per-second. And most importantly, I learned many things along the way, just from doing what I love.



Back to Projects
© Thomas Desrosiers    Icons made by Freepik from www.flaticon.com