Hosting Your Own Domain Name At Home Or Work

Hello I was wondering how I could host my own domain name at home such as example.com I know there are services like noip but the free version limits you to there tld such as .ddns.net or .noip.org so I was wondering if it was possible to remain almost completely independent and run my own domain name at my house or work. currently my system is using a vpn server on a linux server and editing the hosts file to redirect traffic from example.com to my server however this means only people on the vpn can use it and some services might not work.
so in summary I would like to host my own domain name and subdomains like games.example.com on my home or work network

You can run a DNS server at home (you may need a second public IP though according to a guide I read once) but you will still need to register the domain name and set your DNS server. The DNS server may also receive a decent amount of traffic which may be too much for your connection.

If all you want is a resolvable name back to your home IP, no-ip, etc. are your best bet, EASY, and free.

If you want to actually have your own domain name, with subdomains, you are going to have to pay for some hosting or virtual servers. You can get some pretty cheap VMs. Wendell did a few videos about this stuff on Tek Linux. If you want cheap VM hosts, check out Low End Box
https://lowendbox.com/

oh ok I guess I'll use noip :( as for running VM's I have a HP DL580 server with 2 Xeon's and 256GB of ram and Xen Server so I can use that for vm's as for getting static ip's my isp (BT) has a 10gb/s but its mainly for business's and is rather expensive

If you have an unrestricted network connection (aka business internet) and 2+ static IPs, you can host your own domain.
You'll need to run a DNS server (Bind9, Windows, etc.)
Just make sure you understand what you are getting yourself into.

ok