Test server improvements

I thought two levels made sense in case more arguments were added in future but I guess if I added many more I'd probably use an argument parser anyway.