merge server代码

相关说明都写在commit log了。可以详细点击每个commit查看修改。
pls review