Update variables for multiple servers

:star2: Not ready to merge :star2:

This gets us some of the way to supporting multiple servers. This sets up the variables. Currently though nothing works. I was hoping another set of eyes could help with why this breaks everything.

Known issues:
- Attempting to call `hook_fd` with a socket twice seems to error out