buy a separate router?
Gaming + file serving isn't a problem but Internet Connection Sharing in windows sucks and without running virtual machines you're stuck with windows on that machine.
Obviously a Linux machine can handle the router/fileserver functions fine but then you couldn't play games.
which leaves you with getting an actual router to act as a router
As I mentioned virtual machines are a possible way of doing all three in one but that would be a total pain in the arse as you'd need to have the router running in the VM (since windows needs proper access to your 3D hardware which it couldn't get inside a VM) which would mean you'd have to wait for the VM to start before you could get online. I suspect it would be as troublesome as ICS anyway.