added player timeout and player leave handling