做地方分类信息网站需要什么资质吗郑州疫情最新情况
零基础部署Minecraft到云服务器上教程
- 温馨提示
温馨提示
本教程是由博主个人飞书上直接复制下来,观感较差,请下载本教程对应的pdf资源文件进行查看(在最顶端,不过恳请各位留下一个赞再走吧)。本教程不包含云服务的购买,适合已有服务器的人观看
- Java17 配置
检查版本
java -version
apt搜索
apt-cache search java8
apt安装
sudo apt update
sudo apt install openjdk-17-jdk
切换版本
sudo update-alternatives --config java
非apt安装较为麻烦
java在哪里?
which java
通常 /usr/bin/java 是一个指向实际 Java 安装位置的符号链接。为了确认实际的 Java 安装位置,你可以使用 readlink 命令来查看这个符号链接指向的具体路径。
列出全部java
ls /usr/lib/jvm/
readlink -f /usr/bin/java
找到了 java 命令的实际位置,输出显示为 /usr/lib/jvm/java-17-openjdk-amd64/bin/java
配置环境
nano ~/.bashrc
然后在文件末尾添加以下行:
export JAVA_HOME= <path_to_java>
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
使其生效
source ~/.bashrc
验证
echo $JAVA_HOME - Minecraft部署(一次部署实践)
2.1 准备待部署的jar包,将其部署(顺利版本)
Minecraft官网
Spigot
将jar放入文件下,同一级处创建start.sh
#!/bin/sh# 设置 JVM 参数
# -Xms: 初始堆内存
# -Xmx: 最大堆内存
# -XX:+UseG1GC: 使用 G1 垃圾回收器
# -jar: 指定 JAR 文件
# nogui: 非图形界面模式
java -Xms1G -Xmx1G -XX:+UseG1GC -jar spigot.jar nogui
授予脚本执行权限
chmod +x start.sh
开启服务
./start.sh
- 第一次运行服务器时,它会生成一些默认的配置文件,如 server.properties 和 eula.txt。
- 你需要编辑 eula.txt 文件,将 eula=false 更改为 eula=true 以接受 Minecraft 服务器的 EULA(最终用户许可协议)
停止服务
./start.sh stop
端口开放安全组
server-port=25565
2.2 swap扩容(虚拟内存突然大量临时文件产生发生抖动,小插曲)
第一步:关闭交换分区
sudo swapoff /swapfile
展示交换分区
sudo swapon --show
扩充交换分区
sudo fallocate -l 3G /swapfile
增加权限
sudo chmod 600 /swapfile
格式化交换分区
sudo mkswap /swapfile
启用交换分区
sudo swapon /swapfile
2.3 保持会话
(之前的服务打开受限于ssh,当ssh关闭,服务停止)
可以使用tmux(开放式,断开ssh之后重连仍然可以操作会话),也可以使用systemd(封闭式,需要借助rcon进行命令交互,但更安全)
执行
sudo nano /etc/systemd/system/minecraft.service
将文件改为
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=mcserver
Group=mcserver
WorkingDirectory=/home/minecraft-server-1-18-2
ExecStart=/usr/bin/java -Xms1G -Xmx1G -jar spigot.jar nogui
Restart=on-failure
KillMode=mixed
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target
重新加载服务文件
sudo systemctl daemon-reload
启用服务文件
sudo systemctl enable minecraft.service
2.4 (小插曲)添加服务用户
查找用户
id mcserver
若没有就增加一个
sudo adduser mcserver
添加到sudo组使其可以使用sudo命令
sudo usermod -aG sudo mcserver
sudo权限验证
sudo -l
增加权限操作Minecraft文件的权限
sudo chown -R mcserver:mcserver /home/minecraft-server1-18-2
sudo chmod -R u+rwX,g+rwX,o-rwx /home/minecraft-server1-18-2
2.5 Minecraft的生命周期
启动Minecraft
sudo systemctl start minecraft.service
停止Minecraft
sudo systemctl stop minecraft.service
重启Minecraft
sudo systemctl restart minecraft.service
检查Minecraft
sudo systemctl status minecraft.service
查看日志
sudo journalctl -u minecraft.service
2.6 远程操控
Minecraft服务器配置文件,将enable-rcon设为true,并设置一个rcon.password
enable-jmx-monitoring=false
rcon.port=25575
level-seed=
gamemode=survival
enable-command-block=false
enable-query=false
generator-settings={}
enforce-secure-profile=true
level-name=world
motd=A Minecraft Server
query.port=25565
pvp=true
generate-structures=true
max-chained-neighbor-updates=500000
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
use-native-transport=true
max-players=4
online-mode=false
enable-status=true
allow-flight=false
initial-disabled-packs=
broadcast-rcon-to-ops=true
view-distance=8
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25565
enable-rcon=true
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=80
simulation-distance=8
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
function-permission-level=2
initial-enabled-packs=vanilla
level-type=minecraft:normal
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
spawn-protection=16
resource-pack-sha1=
max-world-size=10000000
交互命令
rcon-cli -H <server_ip> -p <rcon_port> -P <rcon_password> “”
每次输入命令太麻烦?
下载rcon客户端