最低jdk版本要求

先贴一个来自Minecraft Wiki的Minecraft对Java的运行标准

从1.12(17w13a)开始,运行Minecraft的最低要求是jdk8

从1.17(21w19a)开始,运行Minecraft的最低要求是jdk16

从1.18(1.18-pre2)开始,运行Minecraft的最低要求是jdk17

从1.20.5(24w14a)开始,运行Minecraft的最低要求是jdk21,且操作系统要求为64位

jdk版本下载地址

解压和安装

1tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz
2mv jdk-17.0.14 /usr/local/java/
3alternatives --install /usr/bin/java java /usr/local/java/jdk-17.0.14/bin/java 3

alternatives安装和移除命令参数(看看就行):

1alternatives --install <link> <name> <path> <priority>
2alternatives --remove <name> <path>

切换jdk版本

1alternatives --config java

注意:添加两个及以上的版本时需要给/etc/profile文件末尾加上

1export JAVA_HOME=/usr/local/java/jdk1.8.0_311
2export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
3export PATH=$PATH:${JAVA_HOME}/bin
1source /etc/profile

要不然切换不了低版本不知道为什么

mc原版下载

原版的下载地址。然后将下载的jar文件上传至你的服务器的某个文件夹下,然后使用cd命令进入该文件夹(一定要使用cd命令进入!)

我下载文件为server.jar,上传并cd进所在文件夹之后执行命令启动服务端:

1java -jar server.jar nogui

也可以加上jvm参数限制运行内存:

1# 限制最小内存为256MB,最大内存为1024MB
2java -Xms256M -Xmx1024M -jar server.jar nogui

第一次启动会失败,因为需要你同意一下EULA协议,刷新目录可见当前目录生成了个eula.txt把里面的false改成true然后保存,再重新启动一遍

显示 done! 字样说明启动成功:image-20250406162618811

不过因为是第一次启动,我们仍然需要修改一些配置才能玩,所以先输入stop停止服务端。
刷新目录,发现已经生成了很多文件,找到server.properties文件,这个是服务端配置文件,我们需要进行一些修改,里面内容如下:
image-20250406162827347

上面的online-mode一定要改为false否则非正版玩家无法进入。
其余根据实际情况配置,端口的话即可也要配置一下服务器防火墙开放对应端口,默认端口就是25565

再次执行启动命令:

1java -jar server.jar nogui

等待启动完成即可!
然后打开游戏->多人游戏->添加服务器(或者直接连接),地址填:你的服务器外网地址:服务器端口
然后就可以进入游戏了!

安装 Forge

Forge官网下载你想要的版本的Forge,下载installer版
小细节:这里要复制一下连接,把前面的https链接删掉,用后面的https链接

image-20250406172410630

得到一个jar文件,将其上传至服务器某个目录下,并使用cd命令进入该目录,执行安装命令:

1java -jar "文件名" --installServer

然后它就开始下载相应的依赖库,需要等一会,因为是从外网下载因此可能很慢或者失败,可以多试几次。
如果一直下载不成功且你有代理的话,可以在执行Forge Installer时通过jvm参数指定代理:

1# 例如:java -Dhttp.proxyHost="127.0.0.1" -Dhttp.proxyPort="1080" -Dhttps.proxyHost="127.0.0.1" -Dhttps.proxyPort="1080" -jar "forge-1.12.2-14.23.5.2855-installer.jar" --installServer
2java -Dhttp.proxyHost="http代理地址" -Dhttp.proxyPort="http代理端口" -Dhttps.proxyHost="https代理地址" -Dhttps.proxyPort="https代理端口" -jar "forge installer文件" --installServer

最后出现successfully字样则成功
刷新目录,我们发现会多出一个文件名形如forge-x.x.xx-xxx.jar的文件,这个就是主要的forge服务端文件,待会需要执行它启动。(如果是1.7.10版本或者低版本的forge那么这个主服务端文件名应该是forge-x.x.xx-xxx-universal.jar的形式):

image-20250406173124300

有的版本不会出现forge-x.x.xx-xxx.jar但会出现run.sh使用下面操作启动

1./run.sh

我们可以先删除installer的jar文件和log,因为用不着了
然后使用命令启动forge服务端,例如我这个版本的:

1java -jar "forge-1.21.5-55.0.0-shim.jar" nogui

到这里如果你是先下载的原版mc在下载的forge,显示done!那么就可以直接玩了。刷新目录会有一个mods文件夹,里面可以放mod。下次再启动就运行上面的代码即可

image-20250406173623847

不过有一个问题,当我们关闭FinalShell远程窗口会话之后,服务端也跟着终止了

安装 Screen

screen可以让进程在后台运行

1yum update
2yum install screen

screen常用命令介绍

 1# 创建一个新的窗口
 2screen -S test
 3 
 4# 进入窗口后 执行文件
 5python test.py
 6 
 7# 退出当前窗口
 8ctrl+a+d   (方法1:保留当前窗口)
 9screen -d  (方法2:保留当前窗口)
10exit       (方法3:退出程序,并关闭窗口)
11 
12# 查看窗口
13screen -ls
14 
15# 重新连接窗口
16screen -r id或窗口名称
17 
18# 示例:
19screen -r 344 
20screen -r test

权限问题

只想给玩家tp权限,我们可以借助LuckPerms插件

原版

下载PaperMC+LuckPerms

LuckPerms版本:Bukkit、Sponge

LuckPerms放入位置:plugins

Forge版

下载LuckPerms

LuckPerms版本:Forge

LuckPerms放入位置:mods

设置权限

输入以下命令,禁止默认组使用所有原版命令:

1/lp group default permission set minecraft.command.* false

单独开启 /tp 权限

1/lp group default permission set minecraft.command.teleport true

保存并重载权限

输入命令使更改生效:

1/lp sync

其他常用指令

1gamerule keepInventory true    #死亡不掉落