我的世界怎么区分世界?

桂来志桂来志最佳答案最佳答案

其实这个问题很简单,我尝试着用简单通俗的语言来解释一下。 首先,每个玩家在游戏里创建一个新的世界时,游戏会随机生成一个ID,这个ID以“play.”开头,包含512个比特(这是服务器的最大值,我的服务器是3072的)。如果某个服务器里某个玩家的ID开始与另一个玩家的ID重合了,就说明这两个玩家来自同一个世界(这里指的网络世界,不是存储空间)。当然,这些ID不会重复,所以这种区别世界的办法是有效的。 但问题在于,很多玩家会对战,或是在其他非创造模式的地图里探险,这时候他们的ID就会变化——他们死亡后重启游戏,或是离开服务器进入单人模式重新加载数据,ID都会发生变化。这样刚才所说的方法就没用了。

我们可以在游戏中添加一个标记,用来标记这个世界的独一无二性。这样就能有效地识别出该服务器中所有玩家的世界是否有重叠。

我的世界采用了UUID(唯一标识符)作为这个标记。每一个新的我的世界服务器,都有一个唯一的UUID。当我的世界加载一个保存的游戏进度时,也会获得相应的UUID。而每当有玩家加入这个世界,他的ID和此UUID相匹配,就能得到一个唯一的标记。而这个标记是保存在服务器的数据库里的。所以即使玩家A死了,再启动一次游戏,加载之前的存档,也会有不同的UUID;同样,玩家B从别处加入到这个服务器,也有不同的UUID。这样,就算之前所有玩家ID都相同的世界,因为UUID的不同而区隔开来。

我来回答
请发表正能量的言论,文明评论!