Put the  wall collision computation into BasePlayer to have the same behavior client side as well as server side.