游戏研究/了解玩家ID的生成



我根据游戏统计数据收集了数据。

我无法弄清楚生成玩家 ID 背后的功能是什么。我认为这是基于用户/玩家的注册时间。

以下是玩家 ID 的示例,排序如下:

59f39d7046b16841df49bb76
59f39d7046b16841e06b1b47
59f39d7102153a762c796c35
59f39d7202153a762c796d09
59f39d7246b168428d63c984
59f39d73144ead375c438735
59f39d73144ead375e50c1b8
59f39d7346b16841e26556e6
59f39d7388a45020da797776
59f39d7388a450215c320555
59f39d7388a45021a905bf17
59f39d74144ead375c43880d
59f39d7488a45020d7701094
59f39d7502153a758a3c362b
59f39d7502153a759859c5f9
59f39d75144ead37a75db0a4
59f39d7546b16841df49bd14
59f39d7546b16841e06b1c21
59f39d7546b16841e26557bf
59f39d7546b168424d2fef07
59f39d7588a45021a905bfc7
59f39d7588a45026b77d1ced
59f39d7602153a758b1b7518
59f39d7602153a762c796dea

此处提供了更长的示例:http://pastebin.com/raw/iFy5tc5k

前 8 个字节是当前 unix 时间(以十六进制为单位)。就像现在它的5A4AEC0A一样。我想知道最后 16 个。

它们随着时间的推移而增加。十六进制表示法。

这不是一个通常的哈希值,因为它不会像这样增加。

我很乐意提出建议。朝正确的方向抬头就足够了。我想了解它。

这可能与MongoDB用于其唯一ID的格式相同。这也是一个 12 字节的 ID,使用 4 字节的 UNIX 时间戳、计算机标识符、进程标识符和具有随机起始值的每个进程计数器形成的。我已经按机器 ID 和 UNIX 时间戳对数据进行了排序,我们可以看到以下内容:

59f39d73 144ead 375c 438735
59f39d73 144ead 375e 50c1b8
59f39d74 144ead 375c 43880d
59f39d75 144ead 37a7 5db0a4
59f39d73 88a450 20da 797776
59f39d73 88a450 215c 320555
59f39d73 88a450 21a9 05bf17
59f39d74 88a450 20d7 701094
59f39d75 88a450 21a9 05bfc7
59f39d75 88a450 26b7 7d1ced
59f39d71 02153a 762c 796c35
59f39d72 02153a 762c 796d09
59f39d75 02153a 758a 3c362b
59f39d75 02153a 7598 59c5f9
59f39d76 02153a 758b 1b7518
59f39d76 02153a 762c 796dea
59f39d70 46b168 41df 49bb76
59f39d70 46b168 41e0 6b1b47
59f39d72 46b168 428d 63c984
59f39d73 46b168 41e2 6556e6
59f39d75 46b168 41df 49bd14
59f39d75 46b168 41e0 6b1c21
59f39d75 46b168 41e2 6557bf
59f39d75 46b168 424d 2fef07

首先,我们注意到时间戳看起来像相当新的 UNIX 数据/时间数据,所以这会检查出来。

其次,我们注意到第二列中有相当多的重复。如果我们在每台机器上获得多个条目,这可能是有意义的;也许这些是服务器或支持多个客户端的东西,或者这更像是一个会话/登录表或类似的东西。

进程 ID 的通用性较少,但我们确实注意到了这一点:在机器中,所有 PID 都相当接近,并且在机器之间它们是不相关的。如果这些确实是进程 ID,这就是我们所期望的情况,所以这看起来不错。

在第四列中,您可以确认只要机器和过程相同,第一列中的后期时间意味着第四列中的数字越大。如果计数器按进程递增,这就是我们所期望的。

此数据似乎使用与MongoDB唯一ID相同的格式似乎是一致的。这并不意味着它是正确的。

最新更新