server-side shot handling