小技巧收录----唯一ID

阅读更多
    在游戏开发中,角色id或者公会id等都需要做唯一设计,是考虑到不同平台,不同服务器,方便以后合服。
   
    通过平台id,服务器id,可以唯一确定一个服务器标识(可以考虑的游戏实际情况,设定服务器id和平台id的大小)
    唯一key就是一个累加器,每创建一个玩家+1,这样就可以唯一标识每个玩家id

    平台ID(PlatId)服务器id(ServerId)唯一key(UniqueKey)

    id设计总共43位,高10位为PlatId 中间10位为ServerId 低23位为UniqueKey,如下:

1          10         20                  43
|----------|----------|-------------------|
   10位         10位         23位

PlatId最大值 = 2^10 - 1 = 1023
ServerId最大值 = 2^10 - 1 = 1023
UniqueKey最大值 = 2^23 - 1 = 8388607

唯一id = (PlatId bsl 33) bor (ServerId bsl 23) bor UniqueKey

你可能感兴趣的:(erlang,唯一)