在游戏开发中,角色id或者公会id等都需要做唯一设计,是考虑到不同平台,不同服务器,方便以后合服。
通过平台id,服务器id,可以唯一确定一个服务器标识(可以考虑的游戏实际情况,设定服务器id和平台id的大小)
唯一key就是一个累加器,每创建一个玩家+1,这样就可以唯一标识每个玩家id
[color=blue]平台ID(PlatId)服务器id(ServerId)唯一key(UniqueKey)[/color]
通过平台id,服务器id,可以唯一确定一个服务器标识(可以考虑的游戏实际情况,设定服务器id和平台id的大小)
唯一key就是一个累加器,每创建一个玩家+1,这样就可以唯一标识每个玩家id
[color=blue]平台ID(PlatId)服务器id(ServerId)唯一key(UniqueKey)[/color]
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