diff --git a/login/login.go b/login/login.go index 6d37282..6a89364 100644 --- a/login/login.go +++ b/login/login.go @@ -280,11 +280,6 @@ func (server *LoginServer) ShardSelect(peer *cnet.Peer, pkt protocol.Packet) err return fmt.Errorf("loginServer has found no linked shards") } - key, err := protocol.GenSerialKey() - if err != nil { - return err - } - // TODO: better shard selection logic pls // for now, pick random shard shard := shards[rand.Intn(len(shards))] @@ -302,6 +297,11 @@ func (server *LoginServer) ShardSelect(peer *cnet.Peer, pkt protocol.Packet) err return SendFail(peer) } + key, err := protocol.GenSerialKey() + if err != nil { + return err + } + // share the login attempt server.redisHndlr.QueueLogin(key, redis.LoginMetadata{ FEKey: peer.FE_key,