server & protocol