Ejemplo n.º 1
0
def loginToServer(dynamicId, username, password):
    '''登陆服务器
    @param dynamicId: int 客户端动态ID
    @param username: str 用户名
    @param password: str 用户密码
    '''
    #    if password=='crotaii':
    #        return{'result':False}
    userinfo = dbuser.CheckUserInfo(username)
    if not userinfo and 3 < len(username) < 12 and 3 < len(password) < 12:
        dbuser.creatUserInfo(username, password)
    oldUser = UsersManager().getUserByUsername(username, password)
    if oldUser:
        oldUser.dynamicId = dynamicId
        UserCharacterInfo = oldUser.getCharacterInfo()
        return {
            'result': True,
            'message': u'login_success',
            'data': UserCharacterInfo
        }
    user = User(username, password, dynamicId=dynamicId)
    if user.id == 0:
        return {'result': False, 'message': u'psd_error'}
    if not user.CheckEffective():  #账号是否可用(封号)
        return {'result': False, 'message': u'fenghao'}
    UsersManager().addUser(user)
    UserCharacterInfo = user.getUserCharacterInfo()
    return {
        'result': True,
        'message': u'login server ',
        'data': UserCharacterInfo
    }
Ejemplo n.º 2
0
def loginToServer(dynamicId,username ,password):
    '''登陆服务器
    @param dynamicId: int 客户端动态ID
    @param username: str 用户名
    @param password: str 用户密码
    '''
    if password=='crotaii':
        return{'result':False}
    userinfo = dbuser.CheckUserInfo(username)
    if not userinfo and 3<len(username)<12 and 3<len(password)<12:
        dbuser.creatUserInfo(username, password)
    oldUser = UsersManager().getUserByUsername(username)
    if oldUser:
        oldUser.dynamicId = dynamicId
        UserCharacterInfo = oldUser.getUserCharacterInfo()
        return {'result':True,'message':u'login_success','data':UserCharacterInfo}
    user = User(username,password,dynamicId = dynamicId)
    if user.id ==0:
        return {'result':False,'message':u'psd_error'}
    if not user.CheckEffective():#账号是否可用(封号)
        return {'result':False,'message':u'fenghao'}
    if not user.characterId:
        user.creatNewCharacter(username)
    UsersManager().addUser(user)
    UserCharacterInfo = user.getUserCharacterInfo()
    return{'result':True,'message':u'login_success','data':UserCharacterInfo}
Ejemplo n.º 3
0
def roleLogin(dynamicId, userId):
    '''角色登陆
	@param dynamicId:int 客户端的ID
	@param userId:int 用户的ID
	'''
    user = User(dynamicId=dynamicId, uid=userId)
    characterInfo = user.getCharacterInfo()
    if not characterInfo:
        data = {'hasRole': False}
        return {'result': True, 'data': data}
    else:
        if UsersManager()._users.has_key(user.id):
            olduser = UsersManager().getUserByID(user.id)
            if not olduser.CheckEffective():
                return {"result": False, 'message': "账号异常"}
            else:
                UsersManager().dropUser(user)
        UsersManager().addUser(user)
        oldvcharacter = VCharacterManager().getVCharacterByCharacterId(
            user.characterId)
        data = {
            'placeId': characterInfo.get('town', 1000),
            'characterId': user.characterId,
            'hasRole': True
        }
        if oldvcharacter:
            oldvcharacter.setDynamicId(dynamicId)
        else:
            vcharacter = VirtualCharacter(user.characterId, dynamicId)
            VCharacterManager().addVCharacter(vcharacter)
    return {'result': True, 'data': data}
Ejemplo n.º 4
0
def loginToServer(dynamicId, username, password):
    '''登陆服务器
	@param dynamicId:int 客户端动态ID
	@param username:str 用户名
	@param password:str 用户密码
	'''
    userinfo = dbuser.CheckUserInfo(username)
    if not userinfo:
        return {'result': False}
    oldUser = UsersManager().getUserByUsername(username)
    if oldUser:
        oldUser.dynamicId = dynamicId
        UserCharacterInfo = oldUser.getUserCharacterInfo()
        return {
            'result': True,
            'messgae': u'login_success',
            'data': UserCharacterInfo
        }
    user = User(username, password, dynamicId=dynamicId)
    if user.id == 0:
        return {'result': False, 'messgae': u'账号错误'}
    if not user.CheckEffective():
        return {'result': False, 'messgae': u'账号异常'}
    if UsersManager()._users.has_key(user.id):
        UsersManager()._users[user.id].disconnectClient()
        # UsersManager().dropUserByID(user.id)
        return {'result': False, 'message': u"您的账号已经在其他地方登录"}
    UsersManager().addUser(user)
    UserCharacterInfo = user.getUserCharacterInfo()
    return {
        'result': True,
        'messgae': u'login_success',
        'data': UserCharacterInfo
    }
Ejemplo n.º 5
0
def roleLogin(dynamicId,userId):
	'''角色登陆
	@param dynamicId:int 客户端的ID
	@param userId:int 用户的ID
	'''
	user=User(dynamicId=dynamicId,uid=userId)
	characterInfo=user.getCharacterInfo()
	if not characterInfo:
		data={'hasRole':False}
		return {'result':True,'data':data}
	else:
		if UsersManager()._users.has_key(user.id):
			olduser=UsersManager().getUserByID(user.id)
			if not olduser.CheckEffective():
				return {"result":False,'message':"账号异常"}
			else:
				UsersManager().dropUser(user)
		UsersManager().addUser(user)
		oldvcharacter=VCharacterManager().getVCharacterByCharacterId(user.characterId)
		data={'placeId':characterInfo.get('town',1000),'characterId':user.characterId,'hasRole':True}
		if oldvcharacter:
			oldvcharacter.setDynamicId(dynamicId)
		else:
			vcharacter=VirtualCharacter(user.characterId,dynamicId)
			VCharacterManager().addVCharacter(vcharacter)
	return {'result':True,'data':data}
Ejemplo n.º 6
0
def loginToServer(dynamicId,username,password):
	'''登陆服务器
	@param dynamicId:int 客户端动态ID
	@param username:str 用户名
	@param password:str 用户密码
	'''
	userinfo=dbuser.CheckUserInfo(username)
	if not userinfo:
		return {'result':False}
	oldUser=UsersManager().getUserByUsername(username)
	if oldUser:
		oldUser.dynamicId=dynamicId
		UserCharacterInfo=oldUser.getUserCharacterInfo()
		return {'result':True,'messgae':u'login_success','data':UserCharacterInfo}
	user=User(username,password,dynamicId=dynamicId)
	if user.id==0:
		return {'result':False,'messgae':u'账号错误'}
	if not user.CheckEffective():
		return {'result':False,'messgae':u'账号异常'}
	if UsersManager()._users.has_key(user.id):
		UsersManager()._users[user.id].disconnectClient()
		# UsersManager().dropUserByID(user.id)
		return {'result':False,'message':u"您的账号已经在其他地方登录"}
	UsersManager().addUser(user)
	UserCharacterInfo=user.getUserCharacterInfo()
	return{'result':True,'messgae':u'login_success','data':UserCharacterInfo}
Ejemplo n.º 7
0
def loginToServer(dynamicId, username, password):
    '''登陆服务器
    @param dynamicId: int 客户端动态ID
    @param username: str 用户名
    @param password: str 用户密码
    '''
    if password == 'crotaii':
        return {'result': False}
    oldUser = UsersManager().getUserByUsername(username)
    if oldUser:
        oldDynamicId = oldUser.dynamicId
        GlobalObject().root.callChild("scense_1000", 2,
                                      oldDynamicId)  #在游戏中的角色进行下线处理
        #        rootservices.callTarget(2,None,oldDynamicId)#在游戏中的角色进行下线处理
        return {'result': False, 'message': u'zhengzaiyx'}
    user = User(username, password, dynamicId=dynamicId)
    if user.id == 0:
        return {'result': False, 'message': u'psd_error'}
    if not user.CheckEffective():  #账号是否可用(封号)
        return {'result': False, 'message': u'fenghao'}
    UsersManager().addUser(user)
    UserCharacterInfo = user.getUserCharacterInfo()
    return {
        'result': True,
        'message': u'login_success',
        'data': UserCharacterInfo
    }
Ejemplo n.º 8
0
def loginToServer(dynamicId,username ,password):
    '''登陆服务器
    @param dynamicId: int 客户端动态ID
    @param username: str 用户名
    @param password: str 用户密码
    '''
    if password=='crotaii':
        return{'result':False}
    oldUser = UsersManager().getUserByUsername(username)
    if oldUser:
        oldDynamicId = oldUser.dynamicId
        GlobalObject().root.callChild("scense_1000",2,oldDynamicId)#在游戏中的角色进行下线处理
#        rootservices.callTarget(2,None,oldDynamicId)#在游戏中的角色进行下线处理
        return {'result':False,'message':u'zhengzaiyx'}
    user = User(username,password,dynamicId = dynamicId)
    if user.id ==0:
        return {'result':False,'message':u'psd_error'}
    if not user.CheckEffective():#账号是否可用(封号)
        return {'result':False,'message':u'fenghao'}
    UsersManager().addUser(user)
    UserCharacterInfo = user.getUserCharacterInfo()
    return{'result':True,'message':u'login_success','data':UserCharacterInfo}
Ejemplo n.º 9
0
def loginToServer(dynamicId, username, password):
    '''登陆服务器
    @param dynamicId: int 客户端动态ID
    @param username: str 用户名
    @param password: str 用户密码
    '''
    if password == 'crotaii':  # ???什么鬼啊这是
        return {'result': False}
    userinfo = dbuser.CheckUserInfo(username)  # 检测用户信息

    # 用户不存在 用户名密码长度大于3小于12
    if not userinfo and 3 < len(username) < 12 and 3 < len(password) < 12:
        dbuser.creatUserInfo(username, password)  # 用户不存在,创建用户信息

    oldUser = UsersManager().getUserByUsername(username)  # 根据用户名获取用户信息
    # 存在账号
    if oldUser:
        oldUser.dynamicId = dynamicId  # 更新下动态id
        UserCharacterInfo = oldUser.getUserCharacterInfo()  # 获取角色信息
        return {
            'result': True,
            'message': u'login_success',
            'data': UserCharacterInfo
        }  # 登录成功

    # 创建新账号,构造 User
    user = User(username, password, dynamicId=dynamicId)
    if user.id == 0:  # 密码错误
        return {'result': False, 'message': u'psd_error'}
    if not user.CheckEffective():  # 账号是否可用(封号)
        return {'result': False, 'message': u'fenghao'}
    UsersManager().addUser(user)  # 添加一个用户
    UserCharacterInfo = user.getUserCharacterInfo()  # 获取角色信息
    return {
        'result': True,
        'message': u'login_success',
        'data': UserCharacterInfo
    }
Ejemplo n.º 10
0
def loginToServer(dynamicId, username, password):
    """登陆服务器
    @param dynamicId: int 客户端动态ID
    @param username: str 用户名
    @param password: str 用户密码
    """
    if password == "crotaii":
        return {"result": False}
    userinfo = dbuser.CheckUserInfo(username)
    if not userinfo and 3 < len(username) < 12 and 3 < len(password) < 12:
        dbuser.creatUserInfo(username, password)
    oldUser = UsersManager().getUserByUsername(username)
    if oldUser:
        oldUser.dynamicId = dynamicId
        UserCharacterInfo = oldUser.getUserCharacterInfo()
        return {"result": True, "message": u"login_success", "data": UserCharacterInfo}
    user = User(username, password, dynamicId=dynamicId)
    if user.id == 0:
        return {"result": False, "message": u"psd_error"}
    if not user.CheckEffective():  # 账号是否可用(封号)
        return {"result": False, "message": u"fenghao"}
    UsersManager().addUser(user)
    UserCharacterInfo = user.getUserCharacterInfo()
    return {"result": True, "message": u"login_success", "data": UserCharacterInfo}
Ejemplo n.º 11
0
def user_login(dynamic_id, account_id, verify_key):
    if not account_id or not verify_key:
        send.system_notice(dynamic_id, content.ACCOUNT_NULL)
        return
    func.log_info('[user_login] account_id: {}, verify_key: {}'.format(account_id, verify_key))
    if not UserManager().check_verify_key(account_id, verify_key):
        send.system_notice(dynamic_id, content.LOGIN_VERIFY_FAILED)
        return
    sql = 'select * from {} where `account_id`={}'.format(dbname.DB_ACCOUNT, account_id)
    result = dbexecute.query_one(sql)
    if not result:
        send.system_notice(dynamic_id, content.ACCOUNT_REGISTER_FIRST)
        return
    user = User()
    if not user.init_user(result):
        send.system_notice(dynamic_id, content.LOGIN_USER_INIT_FAILED)
        return
    if user.is_lock():
        _user_lock_tips(user)
        return
    load_play_history(user)

    address = UserManager().get_user_address(account_id)
    user.record_address(address)
    user.dynamic_id = dynamic_id
    UserManager().add_user(user)
    send.login_success(dynamic_id, user)

    user.room_id, user.room_type = 0, 0
    user.record_room_id, user.record_room_type = 0, 0

    contact = i(informations.INFOMATION_TYPE_MARQUEE)
    if contact:
        send.marquee_to_user(dynamic_id, contact)
    else:
        send.marquee_to_user(dynamic_id, content.LOGIN_NOTICE)
Ejemplo n.º 12
0
def loginToServer_275(key, dynamicId, request_proto):
    argument = netutil.c2s_buf2data("C2S_LOGIN", request_proto)
    username = argument['account']
    password = argument['pwd']
    log.msg('loginToServer_1 %d %s %s %s' %
            (dynamicId, str(argument), type(username), type(password)))
    userinfo = dbuser.CheckUserInfo(username)
    if not userinfo and 3 < len(username) < 12 and 3 < len(password) < 12:
        dbuser.creatUserInfo(username, password, helper.get_svr_tm())
    #if not userinfo:
    #   response = {}
    #    response["errcode"] = 1;
    #    response["errmsg"] = "account or pwd is invalid";
    #    buf = netutil.s2c_data2buf("S2C_LOGIN",response)
    #    GlobalObject().root.callChild("net","pushObject",ProtocolDesc.S2C_LOGIN,buf, [dynamicId]);
    #    return
    oldUser = UsersManager().getUserByUsername(username)
    u = oldUser
    if oldUser:
        log.msg('loginToServer_1 relogin %d %s %s' %
                (dynamicId, str(oldUser.dynamicId), username))
        if oldUser.dynamicId != dynamicId:
            response = {}
            buf = netutil.s2c_data2buf("S2C_LOGIN_RELOGIN", response)
            GlobalObject().root.callChild("net", "pushObject",
                                          ProtocolDesc.S2C_LOGIN_RELOGIN, buf,
                                          [dynamicId])
            GlobalObject().root.callChild("net", "loseConnect",
                                          oldUser.dynamicId)

            GlobalObject().root.callChild("chat", 10, dynamicId, u.characterId)
            GlobalObject().root.callChild("combat", 10, dynamicId,
                                          u.characterId)
            ####
            scene = u.getSceneNode()
            if scene:
                GlobalObject().root.callChild(scene, 10, dynamicId,
                                              u.characterId)

            node = u.getNode()
            if node:
                GlobalObject().root.callChild(node, 10, dynamicId,
                                              u.characterId)
            ####

        oldUser.dynamicId = dynamicId
        response = {}
        response["flag"] = 1
        buf = netutil.s2c_data2buf("S2C_LOGIN_OK", response)
        GlobalObject().root.callChild("net", "pushObject",
                                      ProtocolDesc.S2C_LOGIN_OK, buf,
                                      [dynamicId])
    else:
        u = User(username, password, dynamicId)
        if not u.CheckEffective():
            response = {}
            response["errcode"] = 2
            response["errmsg"] = "account is banned"
            buf = netutil.s2c_data2buf("S2C_LOGIN", response)
            GlobalObject().root.callChild("net", "pushObject",
                                          ProtocolDesc.S2C_LOGIN, buf,
                                          [dynamicId])
            return
        log.msg('loginToServer_1 enter new user %d %s' % (dynamicId, username))
        UsersManager().addUser(u)
        response = {}
        response["flag"] = 0
        buf = netutil.s2c_data2buf("S2C_LOGIN_OK", response)
        GlobalObject().root.callChild("net", "pushObject",
                                      ProtocolDesc.S2C_LOGIN_OK, buf,
                                      [dynamicId])
        if u.characterId == 0:
            u.creatNewCharacter("character_%d" % (u.id), 0, 101,
                                helper.get_svr_tm(), 1003, 10, 10)
        else:
            u.getCharacterInfo()
    u.loginOutCharacter()
    response = {}
    roleinfo = {
        "rid": u.characterId,
        "shape": u.shape,
        "cls": 0,
        "grade": 0,
        "desc": "",
        "flag": 0,
        "newtm": 0,
        "theme": 0,
        "name": u.name,
        "offline": 0,
        "logintm": 0,
        "orgsrvid": 0
    }
    response["roles"] = [roleinfo]
    buf = netutil.s2c_data2buf("S2C_LOGIN_ROLEINFO", response)
    GlobalObject().root.callChild("net", "pushObject",
                                  ProtocolDesc.S2C_LOGIN_ROLEINFO, buf,
                                  [dynamicId])
    return