You do know that a server is just a program running on a computer, right? If
you've ever played Freeciv, that uses a server-client model; any time you
start even a single-player game, a server is started for the client to
connect to locally. The only real limiting factors in hosting a server are
your connection speed, your router (port-forwarding), and ISPs blocking
ports.
There's no special hardware requirement. If anything, the hardware
requirements for server software are typically far less than those of common
desktop applications.
You can also get around having a dynamic IP address by using a service like
No-IP.com.