服务器主要有两种不同的“架构”,分别为官方版和bukkit(spigot)。每种架构都有win和linux版
架构主要影响模组、插件和工具套组的安装方式。
bukkit俗称水桶服,spigot是其的一个分支。因此spigot可以使用bukkit的模组
官方架构的安装方式见中文fandom wiki
下文基于spigot架构
bukkit模组中心里有各种插件的说明和下载,注意观察是否和spigot兼容
spigot官网有详细的说明。首先下载编译好的buildtools把它放进一个单独的文件夹,在文件夹中新建build.bat
,内容如下,其中–rev后跟游戏版本。
java -jar BuildTools.jar --rev 1.18.2
先不急运行该脚本,若1.8.x≤游戏版本≤1.16.x,则直接运行,若游戏版本≥1.18.x,则先安装64位的java17再运行。一旦安装了java17,HMCL还是可以正常运行,但是再装1.8~1.16之间的服务器就会出错
运行脚本后,它会先安装portable版本的git,然后从spigot旗下的git存储库下载源码进行编译。该步骤网速不稳定,会在某些下载步骤超时导致失败,国内用户不要使用梯子,多试几次就好了
安装完成后,文件夹中会出现spigot-1.18.2.jar,在文件夹中新建start.bat
,内容如下
java -Xms1024M -Xmx2048M -jar spigot-1.18.2.jar
-Xms
指定的是服务器启动时使用的内存量,-Xmx
指定的是服务器最大可以使用的内存量。 实测证明上述值几乎正好达到最低配。若启动游戏时出现类似java.lang.outof memory error
这样的内存问题,则需加大-Xmx
运行完会看到目录中有个 plugins 文件夹,然后关掉服务器(命令行中输入 stop)
直接放到plugins文件夹里。需要让服务器先读取一下,以生成配置文件,所以,再次运行服务器。运行后每个工具都会在 plugins 里生成一个文件夹
config.yml
command-block-support: true
双击start.bat
启动服务器,然后启动游戏,进去后选择多人游戏。若列表中无服务器,则点添加服务器,填入localhost
worldedit
装备木斧对两个不同位置的方块分别点击左键,输入//set minecraft:SANDSTONE
测试该立方体范围内方块是否变为沙石
为了可以快速建立多个不同的服务器世界,可在编译完成并设置各种配置之后,在服务器目录下新建backup.bat
,写入如下命令,用于打包备份整个文件夹
7z a -t7z -ms=on -r- -sccUTF-8 "../spigot-server.7z" * "-x!BuildData" "-x!buildTools.log.txt" "-x!buildTools.jar" "-x!portableGit*" "-x!usercache.json" "-x!apache-maven-*" "-x!Bukkit" "-x!CraftBukkit" "-x!logs" "-x!world*" "-x!Spigot\.git" "-x!build.bat" "-xr!__pycache__"
备份的spigot-server.7z
将生成在服务器目录的父目录下。之后可以删除服务器目录,然后原地解压该压缩包以去除多余的文件
官方架构中itzg大神的docker版最好用
cmunroe的三合一docker版支持除了官方之外的三种架构,可以指定镜像的mc版本,支持在docker-compose.yml中指定server.properties中的选项,详见其gitlab项目。本项目采用其spigot镜像
在本项目中,需要使用docker-compose的network功能为spigot容器和python容器建立目录通信
worldedit用法另开一篇文章说明
linux的详细教程和代码以后补充