环境与文件准备
vps控制台设置安全组
端口范围:25565/25565
授权对象:0.0.0.0/0
获取mc服务端文件
前往下载页面获取服务端文件
常规 screen 启动方式
安装Java环境
此处不细讲,注意下 mc
版本对 java
版本的要求
存放服务端文件
在任意位置下新建 minecraft
文件夹,将服务端文件放入(位置和文件夹名可自定义)
执行服务端文件
1 | java -Xmx1024M -Xms1024M -jar server.jar nogui |
- -Xmx1024M:最大分配内存
- -Xms1024M:最小分配内存
- server.jar:服务端文件名
- nogui:无图形化界面(linux建议带上)
同意协议
上一条执行后会报错,原因为需要同意协议,此时项目中生成了 eula.txt
文件
vim查看修改
1 | vim eula.txt |
将最后一行 eula=false
修改为 true
,即为同意协议
再次执行服务端文件
1 | java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.5.jar nogui |
服务器运行成功,客户端输入服务器端口可以搜到服务器,但进入时报错验证失败无法进入,原因是存在正版验证
关闭正版验证
先ctrl + c
停止服务器
vim 查看修改 server.properties
文件
1 | vim server.properties |
找到 online-mode
,修改为 false
,这条语句为是否进行正版验证
*该文件为服务器配置文件,最大人数、能否pvp、游戏模式等均在此配置,具体属性详见这里
再次执行服务端文件
1 | java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.5.jar nogui |
客户端即可通过服务器 ip
进入游戏了
存储启动命令
通过 vim
新建一个bash脚本 startMinecraft.sh
1 | vim startMinecraft.sh |
编写文件内容,将启动代码输入
1 | java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.5.jar nogui |
:wq
保存退出 下次启动只需要执行 /opt/minecraft/startMinecraft.sh
即可
保持服务端运行
事实是,当退出 ssh
控制台时,服务端也就停止了,可以通过 screen
来使其保持运行状态
安装 screen
1 | yum install screen |
开启一个 screen 会话
1 | screen -S mc |
ssh界面跳了下,即为成功
启动mc服务端
执行 bash 脚本
1 | /opt/minecraft/startMinecraft.sh |
启动成功,退出 ssh,服务端仍在运行
备注
screen
为多重视窗管理程序,可通过 screen -r 会话名称,来回到并操作正在运行的视窗screen
的其他指令可参考这里
docker 启动方式
需要服务器安装 docker
与 docker-compose
,安装方式见百度
准备文件
在任意目录新建 minescrift
文件夹,将服务器文件放入其中,并新建 Dockerfile
和 docker-compose.yml
两个文件
Dockerfile 内容
1 | FROM openjdk:17.0.2-oracle |
docker-compose 内容
1 | version: "3.7" |
启动服务器
在当前目录下直接执行如下指令即可启动服务器
1 | docker-compose up -d |
若正常启动,当前目录下将会生成一批文件
按照前面常规启动中的操作分别 同意协议 与 关闭正版验证 后试用下方指令重启容器即可正常使用
1 | docker-compose restart |