(I host a Web/Mail/Git/Minecraft Server, and hosted a lot of other (game-)servers before)
I think there are two different questions in your Post:
Is your server hardware powerful enough for virtualization and game servers?
Which I can simply answer with probably yes.
You should have no problem running even decently-sized game servers or very resource-demanding ones(Minecraft eats your RAM).
You won’t even need a DGPU for most if not all gameserver software - You’re not running the game, you’re just running the server software.
(Not having GPUs in (virtualized) servers is the norm and very well supported, the opposite, having a GPU in a virtualized server, is way less common, more complicated and less well supported.)
What virtualization software should I use?
Now, when it comes to the actual virtualization software implementations you have a lot of options, I’ll try to explain them:
If you want to stick with Windows, you could even stick with VirtualBox, or use the more professional Hyper-V from Microsoft. There actually is a free version of Windows Server 2019 for use with Hyper-V(Hyper-V Server 2019). Might not contain a GUI though from what I’ve read.
Unfortunately, only the “Pro” and “Enterprise” versions of desktop windows 8/10 support Hyper-V.
I’ve personally never used Hyper-V, and in general, I wouldn’t recommend it, unless you definitely want to stick with Windows.
Other than that, virtualization usually falls in one of these categories:
- Hyper-V(see above)
- Xen-based(old and outdated)
- VMware ESXi(The “business” solution)
- Linux/KVM-based(The well-tested, most common/sane solution)
Of note is also that if you just want to run multiple Linux versions on a host that is also Linux(this is a very common thing), you might also want to look into containers:
They’re not quite like a virtual machine, although they run a second Linux instance on your Linux host system(Without the need to sacrifice allocate all your RAM to the VM gods different VMs without overlap).
I’d recommend staying away from Xen, as many consider it a legacy options, and it offers little benefit over KVM, it’s “direct competitor”(They’re both actually open-source projects of the Linux Foundation nowadays). People say there used to be a war between Xen and KVM - well, KVM won.
You can definitely use VMware ESXi, a surprising number of people seem to swear by it, but it does have it’s pitfalls - For example, if you have more obscure hardware like some RAID cards or network adapters, you might simply be out of luck - Because VMware uses it’s own kernel, and thus requires it’s own drivers, you’re dependent on them supporting your hardware, or buying hardware that is supported(VMware is often “the business-solution”, you can get commercial support etc.).
I think there is a free version, but for some of the more useful features you will require a paid license.
I would not recommend it because of the inevitable license cost, and because you likely won’t use most of the “enterprise-grade” features(High Availability, live migration, etc.) that you’d pay the license for.
Linux for virtualization with KVM has kind of become the norm, a lot of the “hyperscalers”, the Amazons of the world etc., seem to swear by it, and it’s not difficult to see why:
Using the Linux kernel means great hardware support, it’s well-tested and reliable, it’s open-source and has a good security track-record, and it’s so configurable that you can probably replicate all the “enterprise-grade” features of all the VMwares and Hyper-Vs of the world for free.
Now, Linux and KVM hardly constitutes a complete system; Think of them more as the “base technology”. On top of that you’ll want some tools for configuration.
There are IMHO two useful, beginner-friendly options for you:
Proxmox or libvirt(with virt-manager).
- Proxmox is a complete Linux system made for virtualization, with all the fancy features one expects - A comprehensive web GUI, lots of different storage options, container support, etc.
- libvirt(with virt-manager) is an application that you can install on almost every version of Linux to manage VMs - It looks and behaves a lot like VirtualBox in that sense.
Actually it’s two applications, a server(libvirtd) that runs the VMs, and a client(typically virt-manager) for managing and displaying them.
Proxmox is probably easiest for you, as it can be administered only via the web GUI, but I personally use libvirt because I’m more familiar with it, and because it works well for my “workstation”-like usecase(I’ve used Proxmox before and it’s good as well).
You could also use VirtualBox on Linux, but why would you when there more powerful, just-as-easy solutions on Linux.
The suggestions that @The_DM_Barlow gave are very valid - At the end of the day, what matters is can you use it for your usecase, and best way to find out is to try.
Also have you considered just buying a VPS “in the cloud”? You can probably get them for cheaper than the electricity your computer uses(<5$/month), and a proper VPS has the advantage that it’s basically always available, and also has a really fast internet connection compared to residential internet - My VPS has 2.5Gbit/s Up/Down to the internet).