Пример #1
0
def login_player(db_con, player_id, player_password):
    if not player_id:
        return False
    if not player_password:
        return False
    try:
        if not db_con:
            db_con = get_connection()
        db_cur = db_con.cursor()
        pw_hash_bin = common.sha224_bin(player_password, config.base.password_salt)
        db_cur.execute("SELECT ingame_name, rank, last_ip, last_online, online_seconds FROM players WHERE id=? AND password=?", [player_id, sql_db.Binary(pw_hash_bin)])
        if db_cur.rowcount == 1:
            data_row = db_cur.fetchone()
            if data_row is not None:
                return data_row
    except sql_db.Error, e:
        print '[DATABASE ERROR] Could not log in player with ID %s: %s' % (player_id, e.args[0])
Пример #2
0
def register_player(db_con, player_name, player_ip, player_password):
    if not player_name:
        return None
    if not player_password:
        return None
    try:
        if not db_con:
            db_con = get_connection()
        db_cur = db_con.cursor()
        pw_hash_bin = common.sha224_bin(player_password, config.password_salt)
        db_cur.execute("INSERT INTO players (ingame_name, password_hash, last_ip, last_online, online_seconds, rank) VALUES ('?', ?, '?', ?, 0, 'default')", [player_name.lower(), sql_db.Binary(pw_hash_bin), player_ip, reactor.seconds()])
        db_con.commit()
        if db_cur.rowcount == 1:
            return db_cur.lastrowid
    except:
        pass
    return None