我的世界有盗贼吗?
《我的世界》是一个沙盒游戏,游戏的一切都是玩家自己创造的——无论是生物、物品还是怪物,甚至包括玩家在游戏里看到的地图和天空。 游戏中的世界由许多独立的“区块”组成;每个区块都有一个种子,用来生成世界上的建筑、地貌等可观赏性图形(尽管这些图形通常是由一堆向量组成的)。每一个生物或物品都有一条数据流连接着它们生成的函数。
所以,在某个特定情况下,比如玩家输入/give @p diamond 37,服务器会查询数据库找到一条对应的数据,这条数据指着一个或多个以钻石为生成因子的区块,并给这个玩家发送相应的钻石。如果他没有足够的钻石,服务器就给予他足够的钻石。 如果这串指令是/give @p minecraft:diamond_ore 37,那么这就是一个矿石挖掘的指令了。
在游戏里,大部分的可收集道具都被设计成通过开采获得,而不是像现实世界一样直接生长在草地上。这样的话,当玩家用/give给自己发送大量钻石时,实际上只是把采集钻石所需的工序复制到了他的电脑中,然后运行这些步骤,让游戏里的进程也执行同样的操作,从而最终实现了给他发放钻石的目的。 但是,如果某个指令不是以常规方式获取到物品的,那么这个指令就会被暂时保存在内存中,等待执行者。例如,攻击型指令/attack @p就是这种类型,执行这类指令时会立即生成一批伤害数值,并直接赋予执行者。
这样设置是为了避免某些不怀好意的玩家利用 /givethisblock of wood to @a 100,000 来骗取大量的木头(这是一个实例,我忘记了这个指令的具体数量)。因为这样的指令一旦执行就会无限循环,直到服务器关闭。 目前MC的作弊手段大多基于对服务器数据的修改。并且由于MC的服务器端使用的是Lua脚本语言,因此可以很方便地修改数据实现各种超常规的功能。
当然,有的作弊工具可以直接修改游戏运行的逻辑,但是这种工具很复杂且很难使用,而且一但被发现,整个服务器上的用户都会被警告。 总之,MC的底层机制是十分容易修改的,所以各种自制的作弊工具才能大行其道。不过,只要不恶意使用这些东西,也不破坏其他玩家的体验,其实也没什么大不了的了。