以前写的,一点点从新浪里搬过来
  客户端登录验证(GameServer服务器的线程 ProcessLogin处理)
  用户的验证是由GameServer服务器的线程 ProcessLogin处理。然后在准备登陆的玩家队列中ReadyUserInfoList2列表中搜索,判断用户是否已经登录,一旦登录调用LoadPlayer:
  先加载地图的单元格(玩家列表加入该游戏玩家)
  前面博客讲过游戏客户端和玩家客户端二种所描绘的不是一样事物。
  选角色,判断玩家游戏状态。登陆以外的通用Mode状态为USERMODE_PLAY
  优先加载背包,个人设置等。
  passUserInfo->mapxPlayerObject->Initialize();初始化用户信息,加载用户坐标,方向,地图。
  以下为初始化成功的执行流程:
  1)AddProcess LOGON R 加入登录消息。
  2)所在场景区域的编号MApSrvmap->制定场景AddNewObject 地图中单元格(玩家列表)加入该游戏玩家。OS_MOVINGOBJECT玩家状态。
  3)AddRefMsg(Round_TURN 向周围玩家群发 TURN消息。以玩家自己为中心,以 xx*xx 通常为单屏的区域里,向这个区域所属的块里的所有玩家列表发送消息)广播,位置AddProcess。
  4)ReAbility 设置玩家的能力属性(攻击力(手,衣服),武器力量等)。
  5)循环处理本游戏玩家的附属物品,把这些物品的力量加到(手,衣服等)的攻击力量里。
  6)RM_atuschanged消息,通知玩家状态改变消息。
  7)AddProcess  setlevel 等级
  AddProces Msgchanged date/day 校正日期信息
  AddProcess SEITEMS   装备
  AddProcess SENDMYskil  技能
  AttactMsg() 攻击力
  并把用户数据从UserInfoList2列表中删除。