最低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! 字样说明启动成功:
不过因为是第一次启动,我们仍然需要修改一些配置才能玩,所以先输入stop
停止服务端。
刷新目录,发现已经生成了很多文件,找到server.properties
文件,这个是服务端配置文件,我们需要进行一些修改,里面内容如下:
上面的online-mode
一定要改为false
否则非正版玩家无法进入。
其余根据实际情况配置,端口的话即可也要配置一下服务器防火墙开放对应端口,默认端口就是25565
。
再次执行启动命令:
1java -jar server.jar nogui
等待启动完成即可!
然后打开游戏->多人游戏->添加服务器(或者直接连接),地址填:你的服务器外网地址:服务器端口
然后就可以进入游戏了!
安装 Forge
去Forge官网下载你想要的版本的Forge,下载installer版
小细节:这里要复制一下连接,把前面的https链接删掉,用后面的https链接
得到一个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
的形式):
有的版本不会出现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。下次再启动就运行上面的代码即可
不过有一个问题,当我们关闭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
插件
原版
LuckPerms版本:Bukkit、Sponge
LuckPerms放入位置:plugins
Forge版
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 #死亡不掉落