完蛋,我入坑NAS了 篇四:群辉Docker搭建Minecraft服务器学习编程

2024-01-12 22:59:32 27点赞 187收藏 10评论

感谢值友们老庄的前几篇文章的认可,使我有动力继续分享,上篇文章结尾已经预告过本篇要分享的内容是搭建Minecraft sever。

说下事情的起因,我安装Minecraft服务端的主要原因真不是为了玩游戏,而是为了教我儿子编程。
因为我看了下面这本书,就想一边学习一边教我爱玩这个游戏的逆子编程。

群辉Docker搭建Minecraft服务器学习编程

我本书是2018年出版的,里面的主要用python 的 mcpi api接口操控Minecraft的。这个mcpi的mc指的是Minecraft,pi指的是raspberry pi,所以书的示例都是在树莓派环境下的。现在我有了群晖,就想试试在PC环境下可不可以用python来操控我的世界服务端。

一.选择MC服务器版本

因为我本身没玩过我的世界游戏,相关知识都是后了解的,要安装时才知道有java版,基岩版。还分Paper服务端和Spigot服务端。看着头就有点大,不知道哪个适合我。但我的目的是要用程序控制MC,所以服务器端必须能安装上JuicyRaspberryPie的插件,启动插件后打开4711端口,mcpi才能连接成功。我试了几个现在的映像(包括itzg-minecraft-server)都不太好用,最后决定直接做一下centos的容器,自己在上面手动安装一个spigotmc服务。

二.安装过程

1.创建一个centos7的容器,具体步骤我就略过了。因为centos的映像有好多种,随便找一个合适的,安装完可以SSH登录上去就行(我用的映像是jdeathe-centos-ssh)。

2.SSH登录到centos上,安装JDK,Minecraft 1.17.1以上需要安装JDK17以上版

我在这里下载的https://www.azul.com/downloads/?package=jdk#downloads-table-prime
上传到服务器后,执行

tar -xf OpenJDK17U-jdk_x64_linux_hotspot_17.0.7_7.tar.gz

mv jdk-17.0.7+7 jdk-17
mv jdk-17/ /usr/lib/jvm

编辑环境变量

> vi /etc/profile

添加以下内容

export JAVA_HOME=/usr/lib/jvm/jdk-17

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

> vi /etc/profile
使用变量生效
> java -version
输入正确版本号说明jdk安装成功
>yum install -y git
安装git

>mkdir Spigot_Server && cd Spigot_Server
创建并进入服务目录

> wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
下载buildtools
> java -jar BuildTools.jar --rev 1.18.1
安装服务,后面版本号可以自行选择

等待安装结束后,编辑配置文件
> vi server.properties
把gamemode改为creative
把online-mode改为false

下载对应的JuicyRaspberryPie插件放到plugins目录中,下载地址为:https://github.com/wensheng/JuicyRaspberryPie/releases


最后,需要手动创建个启动脚本
> vi start.sh
内容为:

#!/bin/sh

java -Xms1G -Xmx1G -jar spigot-1.18.1.jar

最后给启动脚本执行权限:
> chmod +x start.sh

这样就可以启动游戏了
> ./start.sh

启动过程非常慢,请耐心等待。

三.登录游戏

需要在你的电脑上下载hmcl启动器来进行登录

群辉Docker搭建Minecraft服务器学习编程

选择你服务器对应的版本,如果没有,需要安装一下

群辉Docker搭建Minecraft服务器学习编程

选择多人游戏

群辉Docker搭建Minecraft服务器学习编程

加入群晖上安装的MC服务器

群辉Docker搭建Minecraft服务器学习编程群辉Docker搭建Minecraft服务器学习编程群辉Docker搭建Minecraft服务器学习编程

登录成功了,下一步写程序看看能做什么

四.写程序测试

import mcpi.minecraft as minecraft
import mcpi.block as block

mc = minecraft.Minecraft.create(address="192.168.50.252")
mc.player.setPos(0,0,0)
mc.postToChat("welcome to laozhuang's world!")
pos = mc.player.getTilePos()
mc.setBlocks(pos.x-5,pos.y-10,pos.z-1,pos.x+5,pos.y-1,pos.z+31,block.DIAMOND_BLOCK.id)

运行程序,再看下游戏界面的效果变成了这样

群辉Docker搭建Minecraft服务器学习编程

四.最后的结论

这个游戏的开发环境是搭建完成了,从最后示例程序运行的结果来看,前几行都没问题,聊天窗口输出的指定文字,获取的玩家的位置,并生成的一片方块。

但是,生成的方块类型有问题,我指定的是钻石方块,生成的是普通石块。我修改程序指定其他类型方块也都是生成普通石头。最后我试着修改mcpi源码,发现给服务器用字符串形式传递方法类型是可以的,但是修改的代码量太多了,我也没空继续研究。在github上搜索过其他相关的api也有同样的问题,不知道是不是以前版本的JuicyRaspberryPie是不是可以接受int类型的方块参数。

反正我是放弃的,我把这个服务器改成的生存模式,有时和我儿子一起联机挖矿探险也挺好!

至于最初教我儿子编程的想法,我改为用Scratch了!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2829元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4079元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1529元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

13746元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2279元起

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

3199元起

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

6899元起

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

3090元起
10评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
相关话题
最新文章 热门文章
187
扫一下,分享更方便,购买更轻松