进入服务器根目录,删除 plugins
下的 HelloWorld.jar
(不想删也可以),把 HarmonyAuth.jar
放进去。
之前在 EX-1-2 中我们已经学习过如何开启服务端了,但是那时的设定有点偷工减料……其实也没什么,只是进入服务器必须使用正版账号而已。
因为笔者是有正版账号的(请不要打我,别忘了有《动物保护法》),因此笔者现在在纠结要不要进行这样一个设定……考虑到开发者们可能有的是没有正版账号的,如果因为这个导致插件开发出现困难,那可就不好了,因此笔者还是把关闭正版验证的方法写在这里。
打开 server.properties
(用记事本或者 vim 就好了,不要用 IDEA,杀鸡焉用宰牛刀),它大概像这样:
#Minecraft server properties
enable-jmx-monitoring=false
rcon.port=25575
level-seed=
gamemode=survival
enable-command-block=false
enable-query=false
generator-settings=
level-name=world
motd=Dev Server
query.port=25565
pvp=true
generate-structures=true
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
use-native-transport=true
max-players=20
online-mode=true
enable-status=true
allow-flight=false
broadcast-rcon-to-ops=true
view-distance=4
max-build-height=256
server-ip=
allow-nether=true
server-port=25565
enable-rcon=false
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
resource-pack=
entity-broadcast-range-percentage=100
rcon.password=
player-idle-timeout=0
debug=false
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
snooper-enabled=true
function-permission-level=2
level-type=default
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16
max-world-size=29999984
我们什么也不管,找到:
online-mode=true
改为:
online-mode=false
按 Ctrl + S 保存。这是就允许了盗版客户端进入服务器。
使用之前的方法启动服务端,如果你忘了,我再说一遍……在当前目录打开终端,输入:
java -jar <服务端核心名称>.jar
拿你最喜欢的启动器启动客户端(一定要启动和你的服务端相同的版本啊),在「多人游戏」中单击「直接连接」,「服务器地址」输入 localhost
,单击「加入服务器」即可进入服务器。
有鉴于图床失效、原图丢失,上图系定稿后再行修补,图文未必贴合。
这不是我的正版 ID,这是我之前曾经用过的一个第三方验证账号,现在我的正版 ID 叫 「ThatRarityEG」……嗯,如果哪天你在哪个服务器遇到我了,记得打个招呼,毕竟,一路学习插件开发走过来也不容易——好啦,废话太多了!
试试移动,应该是移动不了的。
挖方块?可以挖开,但挖掉的瞬间就回来了。
输入指令登录:
/login 1234
只是测试,密码随便选。
看上去很正常,我们再来多测试几次。
退出后重进:
很正常,那如果我们再输一次:
很不错,那输错密码呢?
反正都很正常,心情大好。
如果没有正常运行,请检查:
plugin.yml
中的main
是否写的是你的主类名?- 哪里敲掉代码了?
如果还无法解决,可以上 MCBBS 的编程开发版 提问。
本次行动的源代码:https://github.com/Andy-K-Sparklight/PluginDiaryCode/tree/master/HarmonyAuth/src
在让你确认行动结束之前,我还需要说几件事。
- 不要把这个发布到 MCBBS!(我知道你不会但确实有人这样做过)
- 这个插件仍有改进空间,玩家进入服务器时没有提示信息,明文存储密码,没有阻止玩家聊天,玩家可能在输密码时死掉,每次修改都要保存,性能太差,并且没法更改密码,这都是问题。你可以想想解决这些问题的方法,我们将在「HarmonyAuth SMART」中解决这些问题。
- 你没有掌握本章内容,本章内容非常紧凑,你一定要多阅读几次,彻底弄明白每一行代码的作用。
等你确认了这些,再单击下面的——
确认行动结束
行动结果:完成
恭喜!不管怎么说,这也是你的第一个实用型插件了!
听首歌吧~
(没有自动播放,我相信你,你会听的,对吧?)
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width="100%" height="86" src="//music.163.com/outchain/player?type=2&id=430297477&auto=0&height=66"></iframe>那么,我们第三章再见!