Game Servers – Provider vs. On-Premises

Disclaimer: This post contains affiliate links. If you click and make a purchase, I may earn a small commission at no extra cost to you.

Preamble

A friend I grew up with approached me with a question regarding hosting a FiveM server and asked my opinion about the value of a hosting provider. As an avid homelabber, I looked at this as an opportunity to A) learn more about hosting gaming servers, and B) introduce a friend to the wonderful world of self-hosting.

The machines he proposed was $275AUD a month for a modest 8 core Ryzen system or a 13th gen i5. These would be fine for hosting a couple concurrent instances, but BigHomie mentioned he’s looking at running a heavily modded FiveM server, Ark, and a myriad of others. With that in mind, I suggested looking in to deploying a proxmox host and creating an Ubuntu Server VM to assign resources as needed. In order to increase security, each server will be containerised using Docker and managed with Pterodactyl Panel. You can find the specifications of each hosting provider’s dedicated machine below:

Hosting Provider

RYZENINTEL
Ryzen 9700x
64GB DDR5 Ram
1TB NVMe SSD
10TB Free Data Transfer
1Gbit Port Speed
1 IPv4
Intel i5-13600k 3.5Ghz/5.3Ghz
6 x P Core & 8 x E Cores, (20HT)
32GB DDR5 Ram
1TB NVMe
10TB Free Data Transfer
1Gbit Port Speed
$275/month$300/month

I don’t know about you, but to me, this seems kind of excessive. The team he works with was looking at paying an extra $40 a month for a Windows Server license too. I’m assuming that was because FiveM is only officially supported on Windows, but in my experience it works fine on any linux distro. I tested it in an Ubuntu virtual machine on my NAS and it worked a treat.

Self Hosted System

Looking in to used server on eBay, I found a couple of potential candidate machines. One Epyc Rome server and one Threadripper (Supermicro).

Supermicro AS-5014A-TT Epyc Rome (TYAN 1U)
CPUAMD Threadripper 3975WX (32 Core)AMD EPYC 7B12 (64 Core)
RAM256GB DDR4 ECC RDIMM (3200 MT/s)256GB DDR4 ECC RDIMM (3200MT/s)
StorageSamsung PM9A3 3.84TB NVMe1.92TB SSD SATA
GPUQuadro P6000 (24GB)none
Networking10GBe + 1GBe (shared w/ IPMI)2 x 1GBe
PSU2000W Platinum2 x 1200W
COST$6,181.60$2,726.85

Comparison

Ryzen 7 9700Xi5-13600k3975WXEpyc 7B12
Topology (Cores/Threads)8/16P(6/12)
E(8/8)
32/1664/128
Clock Speed (Ghz)3.8 – 5.5P(3.5-5.2)
E(5.5 – 3.9)
3.5 – 4.22.2 – 3.3
CacheL1: 640 KB
L2: 8 MB
L3: 32 MB
L1: 80KB/core
L2: 20MB
L3: 24 MB
L1: 64 KB
L2: 512 KB
L3: 128 MB
L1: 96 KB
L2: 512 KB
L3: 256 MB
Max RAM192GB DDR5 ECC128GB DDR5 ECC2TB DDR4 ECC4TB DDR4 ECC
Mem Bandwidth57.6 GB/s89.6 GB/s73.4 GB/s204.8 GB/s
PCIe Lanes28 (24 Useable)20128128
Single thread4,6564,1252,6591,927*
Multi-thread37,20037,70662,36266,044*
FP Math (M/Ops)79,043 90,638 153,376238,775 
System Cost$275/month$300/month$6,181.60$2,726.85
*Based on a sample size of 4. High margin for error.

Pros and Cons

Not all of these will apply to all providers, and this is by no means an exhaustive list. But here are some considerations:

Hosting Provider

Pros ✅Cons ❌
Easy Scalability: Easily upgrade resources based on demand.
High Uptime & Redundancy: Providers typically offer 99.9% uptime with failovers.
Global Reach: Deploy servers in different regions for lower latency.
Managed Services: Many hosts handle security, updates, and backups.
24/7 Support: Professional technical support is often included.
Ongoing Costs: Monthly or hourly fees can add up, especially for high-performance servers.
Limited Customization: You may be restricted in terms of OS choice or network configurations.
Less Control: You rely on third-party systems, which may affect latency or access.
Data Security: Sensitive data resides on external infrastructure—potential compliance concern.
Performance Variability: Shared hosting or cloud VMs may be subject to “noisy neighbors.”

On-Premises Hosting

Pros ✅Cons ❌
Full Control: You have complete control over hardware, software, and configurations.
No Monthly Fees: Avoid recurring hosting costs (beyond electricity and internet).
Custom Hardware: Tailor the server to exact performance and storage needs.
Privacy: Data remains in-house, with no third-party access unless you allow it.
Offline Accessibility: Useful for LAN parties or internal game testing.
High Upfront Costs: Hardware, networking equipment, and backup power can be expensive.
Maintenance Burden: You’re responsible for updates, monitoring, and physical repairs.
Limited Bandwidth: Consumer-grade ISPs may not support high upload speeds or consistent uptime.
Security Risks: Greater risk if you don’t have professional security measures in place.
Scalability Issues: Difficult to scale up for peak usage or large user spikes.

Cost/Benefit Analysis

Given the high I/O and reliance on databases; memory capacity and transfer speed are going to be the main factors when choosing a viable game server. With this in mind, the Epyc Rome server is the clear winner.

As a general rule with AMD – Ryzen for gaming, Threadripper for Workstation, Epyc for server.

We will require networking hardware with decent security features. I’d suggest the Ubiquiti Unifi Dream Machine Pro for its throughput, IDS/IPS and firewall features.

So…

Upfront

Hardware: $2,800 + $625 postage + $799 router = $4,224

Ongoing

1000Mbps symmetrical fibre: $199/month

Electricity: $80/month

So, how long to break even?

Let’s say we chose the Ryzen system and I managed to talk them out of paying an extra $40 a month for Windows server. We’re looking at $275 a month.

Our on-prem solution’s monthly cost after hardware is $199 + $80 = $279. “Wait a minute, that’s higher than the hosting provider WITH hardware!” I hear you say. And you’re right! However if you are replacing a residential line with the business line, that’s ~$80 – $120 a month you’re saving. Let’s average it out to $100. $279 – $100 = $179. Making provider Δ on-prem = $96.

In terms of what you get for your money, the upfront cost is offset in a little under 4 years and anything past that is considerably cheaper than the ongoing cost of a hosting provider.

The most important benefit: Knowledge!

Value: priceless!

Considerations

When hosting sensitive data (usernames, passwords, emails, etc.) security compliance is of utmost concern. This remains true with self hosted and managed systems, but more-so self-managed instances. Here are a few tips to ensure compliance:

  1. Data Protection and Encryption:
    • Implement strong encryption (AES-256) for data at rest and TLS for data in transit.
    • Ensure secure key management practices are in place.
  2. Access Control:
    • Enforce strict user authentication mechanisms (multi-factor authentication).
    • Apply the principle of least privilege for user roles and permissions.
  3. Audit and Monitoring:
    • Maintain comprehensive logs for access, changes, and system events.
    • Regularly review audit logs to detect suspicious activities.
  4. Data Minimisation and Retention:
    • Collect only the data necessary for game operations.
    • Define and enforce data retention policies in line with privacy laws.
  5. Secure Configuration:
    • Disable unnecessary services and ports.
    • Regularly update and patch server software and operating systems.
  6. Incident Response Plan:
    • Develop a robust incident response procedure.
    • Ensure staff are trained to handle data breaches and security incidents.
  7. Compliance with Legal Frameworks:
    • Regularly review compliance with relevant privacy laws (e.g., GDPR, Australian Privacy Act).
    • Conduct Data Protection Impact Assessments (DPIAs) where necessary.
  8. Physical Security:
    • Secure the physical location of servers with restricted access.
    • Implement environmental controls to prevent hardware damage.
  9. Third-Party Risk Management:
    • Assess and manage risks associated with third-party software and service providers.
    • Ensure contracts include data protection clauses.
  10. Backup and Disaster Recovery:
    • Implement regular backups with secure storage.
    • Test disaster recovery procedures to ensure data can be restored quickly.
  11. Data Subject Rights:
    • Establish processes for handling data access, correction, and deletion requests.
    • Provide clear privacy notices to users about data usage.
  12. Regular Security Assessments:
    • Conduct periodic penetration testing and vulnerability assessments.
    • Address identified vulnerabilities promptly.

By addressing these concerns, your on-premises game server will be better positioned to comply with privacy laws and protect user data effectively.

In the event of a data breach, disclose compromised data to appropriate authorities immediately.

Conclusion

I don’t know about you, but I like to be in control of my own data. In my opinion, on-prem hosting is the way to go if you can accept the caveats.

  1. Control and Customisation: Owning hardware allows for complete control over configuration and settings, enabling customisation to meet specific needs and preferences.
  2. Cost Efficiency and Security: Despite higher initial costs, owning hardware can be more cost-effective long-term, avoiding rental fees and enhancing security through direct management of systems.
  3. Performance and Reliability: Dedicated hardware offers better performance and reliability, as it is not shared with other users and ensures availability without dependency on third-party services.
  4. Learning and Skill Development: Managing hardware enhances technical skills and understanding of systems and technology.

If we go this route I may do a write up on the installation process including Proxmox, Docker, Portainer and Pterodactyl.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.