天才一秒记住【第一中文网】地址:www.dyzww.cc
(该文件记录着玩家名和对应的UUId),根据用户名找到对应的UUId,接着手动修改whitelist.json文件,最后运行\/whitelist reload重载白名单。
3与该玩家私聊,获取该玩家的玩家名信息。然后直接运行“\/whitelist add 玩家名”即可。
很明显,1方案是个下策,风险性很高。2方案如果不是服主或服主的好朋友,否则很难获取服务器目录的访问和修改权。3方案是最好的方案,也是最简单的方案。
现在你学会了吧?
那么为什么离线服务器的白名单不保险呢?
首先,我们要了解:什么是离线服务器。
离线服务器,并不是指可以断网玩的minecraft服务器,而是指没有开启正版验证的服务器。离线服务器不会验证进入的玩家是否为正版玩家,因此自然也不会专门去获取该玩家的UUId(就算该玩家是正版玩家),而是会随机生成一串UUId。由于UUId是服务端随机生成的,那么肯定就无法通过UUId来验证玩家,因为客户端不知道也不会记录服务端随机生成了什么UUId。所以在离线服务器中,唯一能够验证玩家的便是玩家名。
由于离线账号下的玩家名可以不受限制的重复,因此开启了白名单验证的离线服务器就有可能会出现以下情况(该情况根据真实事件改编):
A是一名获取了该服务器白名单的玩家,玩家名叫做scp
b是另外一名玩家,但玩家名也是scp
b有一天尝试直接进入到A所玩的服务器,然后他成功了,并且一开局就有经验值和一堆物品!
很明显,离线服务器就算开启了白名单,只要他人搞到了能够进入服务器的玩家名字,就可以通过“盗取”他人游戏账号来进入服务器,这也就是为什么mojang在每次离线服务器启动的时候都要加上一句警告信息。
而获取能够进入服务器的玩家名字很简单。只要有人在线,就算是没有白名单的人也能通过服务器信息搞到在线玩家名,进而修改自己的玩家名进入服务器。
那么离线服务器能否解决这个问题呢?
有两个解决办法:
1开启正版验证。但是离线服务器玩的人基本上没有正版,所以对于那些玩家来说打击很大。
2不要使用原版的服务端,采用第三方可以装插件的服务端或在原版服务端的基础上装Forge再加上SpongeForge(海绵端),并给服务器装上适宜的登录插件,让玩家进入服务器还需输入一次密码进行二次验证。
3采用第三方皮肤站或自建皮肤站,修改官方服务端的验证服务器为自己的验证服务器,然后开启正版验证。此时使用指定皮肤站账号的玩家就被服务器视作正版玩家,也就解决了白名单问题,还顺带解决了皮肤显示问题。
第一个解决办法虽然很保险,但是可能会因此丧失几乎所有的玩家(因为玩离线服务器的玩家大多数没有正版账号)。对于已经运行一段时间,有一定体量的服务器来说,最好采用第二个解决办法,顺带还可以给服务器装更多插件,搞得更加高大上一些。对于没多少玩家的新开服务器,还可以采用第三个解决办法,目前很多mc Java服务器也是采用这个办法通过开源的blessing Skin Server自建mc皮肤站来解决皮肤显示和白名单问题。
那么本章就到此结束了。下一章我们将了解黑名单和\/kick指令的使用。(\/kick还要讲吗?是个人都会用!)