After many hours of wrestling with the different decisions that I needed to make in order to move our hosting “in-house” instead of renting servers from a hosting company, it is done. I have finished assembling and setting up three new machines. I also set up the infrastructure needed to make all of this work.
We started with the internet service. I called Spectrum Business and had them come out to the house and install a new business class internet service. Part of the package I chose to set up included five static IP addresses, which we can utilize. The connection speed is operating at 940Mbps.
Next in line, we needed to set up a good stand alone router which acts as our interface to everything in the real world. With extensive firewall rules and everything tied up quite nicely, I think I have provided a very safe environment for everyone to call their gaming home. We also acquired a Uninterruptible Power Supply (UPS) to ensure that if we have a power bump, the servers will not restart. Rack mounted power distribution, a “Keyboard, Video, Mouse” (KVM) switch, and other small things that you don’t think about until you try to put things together.
Moving down to the real horsepower of the system, I assembled two Intel 10 Core i9 servers, each with 128 Gigabytes of Ram and 2 Terabytes of NVMe storage. I set the NVMe storage up as RAID 0 across two drives to increase throughput and ensure that reading and writing the data wasn’t ever going to be a bottleneck. These two computers connect to the internet via a Cat 6e networking cable at Gigabit speeds. These computers are also the work horses of the rack, they are the computers that run the gaming servers themselves and do 99% of the heavy lifting.
I did build one more smaller PC, an Intel 8 Core i7 with 64 Gigabytes of Ram, as an auxiliary system. This computer runs our SQL database, does our web services, and other odds and ends that I don’t want to burden the main gaming servers with.
After assembling all of this and installing it in the rack system I put in my utility room, the easy part was done. Now it was time to move onto the software installation and moving worlds, literally.
I installed two fresh copies of Windows Server 2019 on the two work horses of the setup, and Ubuntu Linux Server on the smaller computer to keep things as efficient as possible. While Windows is the obvious choice for ease of use and simplicity, Linux does a lot of things much better and is the superior choice in operating systems where it is permissible depending on the needs. In this case, since the smaller server was going to be doing web services, and SQL services, it is by far the best choice.
Then the moving of worlds, this was by far one of the most time consuming aspect of this project. You would think it was as easy as just copying everything from old to new right? Wrong! The groundwork that needed to be set up prior to moving the first bit from point a to point b was incredible. So first, since we’re dealing with a physical firewall solution now instead of just having machines out in the open for people to harass, the port assignments had to be specific, and logical. So I set up a port scheme for us that gave each cluster it’s own unique block of ports in logical order as close together as I could get them so as not to “waste” ports in-between maps. Once I had the planning done, it was time to set up maps. Instead of pulling everything over and clicking the go button, I chose to ensure each map was a fresh install, validated, and all the settings were set up properly and consistently across the maps. So I duplicated each cluster one map at a time on the new servers. Once I completed the initial setup, I shut the old maps down, did a full backup, and moved the critical data files over to the new server and clicked the magic button. The plugins have all been updated to their latest versions since I set everything up from scratch as well.
You will notice a HUGE change in how our Ark Cross Chat system operates. This is a SQL based chat system, which is more reliable, faster, and more versatile. This also opens up the new features which you may have seen in Discord, the #cluster-status channel, which shows you all available maps, their status, and whom is playing on each of the maps. The formatting of the #in-game-chat has also changed drastically, and I personally am really happy with the results. As the first purchase of the Patron donations, we purchased two licenses of the cross chat system last night, and we are now now longer in “demo” chat mode. Incorporated with the new setup is FULL cross ark chat capability, so no matter which cluster you are on, you can always talk to others on any cluster.
All in all, this has been a fun project, although frustrating at times. I’m happy it’s done. I’m super happy with the results of the move and the stability of the new servers. I think everyone that plays will also be pleasantly surprised with the performance increase over the old systems.
The latest endeavor relating to this project is this website. I decided to keep things simple and go with a WordPress site we can customize and keep you updated with our latest happenings, major news, and even event postings. While it is still very much in its infancy, I think after we get more content place on the site it will develop into a good landing page for everyone!
Thank you to everyone for your patience during the move, thank you for all your support in helping me finance this adventure, and thank you for being part of this little community.