Originally published on esnoffical.com .
What a Minecraft server actually is
A Minecraft server is a program that runs the world for everyone. It loads chunks, moves mobs, saves builds and passes every player's actions to everyone else. Your friends' games connect to it using an address, such as an IP and a port or a domain name. To keep the world available when you are offline, that program has to run on a computer that stays on all the time. Hosting is simply choosing which computer that is.
Hosting at home vs paying a host
You can run a server on your own PC for free. To let friends outside your house join, you usually need to forward a port on your router, which shares your home IP address with every player, and the PC has to stay on whenever anyone wants to play. A hosting company runs the server in a data centre instead: it is always on, you get an address straight away, and you manage everything from a web panel.…