fire ERR_NEEDMOREPARAMS when USER doesn't have enough commands
give the user a last receive timestamp
add ping timeouts