Pretty sure there was is a console command which slows down the host's timescale but not others, something like ClientCmdTimescale(NumberHere);
Reason this isn't going to work on a non-dedicated server, is if the host dies, the script cannot tap in to the original server's timescale. for example: i start a non-dedi server, i set the server's timescale to 2. then the host dies die, which sets his timescale to 0.2 for a few seconds, but when the script tries to get the server's timescale (which should be 2), since the client is the host, it
grabs his current timescale (0.2) leaving him in slow motion. This is why this cannot work properly in a non-dedicated server.