使用Linux开设Minecraft服务器的好处?

  1. Linux可在不使用多用户情况下, 协同编辑, 但无法同时修改同一文件
  2. 本篇介绍使用的CentOS免费下载及使用(目前据说是官方停止支持?), 无任何收费项
  3. 系统轻量, 纯命令行式操作, 稳定性极佳, 更适合作为服务器系统
  4. 软件包居多并且可通过几个常用的软件包管理器来管理(安装/卸载/更新等)
  5. 发行前经过严格的测试, 它们拥有长期的安全更新周期

我需要准备些什么?

  1. 安装有CentOS7.9(或7.X任意版本, 或8.X任意版本)
  2. Minecraft服务端(本篇使用CatServer进行演示)
  3. SSH远程工具(本篇使用Putty, 这是一款免费但进阶功能收费工具, 可以使用Termius/Xshell)
  4. SFTP文件管理工具(本篇使用WinSCP, 可以使用FlashFXP/XFTP)
  5. 脑子

从这里开始:

  1. 在Host Name (or IP address) 处填写服务商给出的已安装好CentOS系统的IP (此处不填写端口)
  2. 在Port处填写服务商给出的远程端口
  3. 填写完毕后, 点击Open, 即可打开与服务器的连接

第一次连接可能会出现以下提示:(选择Accept为接受, 选择Connect Once为仅这次接受)

接受与主机握手后, 提示Login as:(密码输入后是不会显示的, 输入完了回车就可以)

  1. login as处填写服务商给出的用户名(CentOS默认用户名为root)

  2. 回车后在 xxxxxxx's password:处填写服务商给出的密码(不会显示已输入, 输入完回车即可)

  1. 出现 Last login: Mon Jun 13 01:49:22 2022 from 111.111.111.111 提示, 即登陆成功

开始更新与安装软件包

  1. 在命令行输入: yum update -y

  2. 等待下载与安装依赖完毕

  1. 安装所需的应用软件: OpenJDK8(Minecraft1.17以下必须的环境), Screen(让进程在断开连接后持续运行)

安装Java8 与 Screen:

yum install -y java-1.8.0-openjdk.x86_64 screen

当提示 Complete! 时, 环境则安装完成!

  1. 验证Java环境变量(以保证后续一切正常)

验证Java环境变量是否被正确应用:

java -version

当你收到控制台反馈时:

这证明, 你离使用CentOS开设Minecraft服务器已经成功了一半!

  1. 使用Screen创建一个新会话: screen -S 会话名(不允许使用中文)

输入完毕之后, 你会发现 历史的命令记录 全部不见了, 因为这是一个新的会话!(废话

  1. 上传服务端核心, 我这里使用 CatServer 1.16.5 演示使用:

运行WinSCP: 和Putty相同填写主机名, 端口, 用户名, 密码, 填写完毕后点登录(有中文应该能理解了吧)

当你的WinSCP得到了它们时, 证明你已经成功登录

接下来, 我们需要做的, 就是将核心 直接拖入右侧窗口内(建议与我相同新建文件夹后操作)

上传完成后, 右键右侧窗口, 点击 新建 -> 文件 , 新建一个与Windows类似的, bash脚本(在Windows叫bat脚本/批处理脚本)

点击确定后会直接进入编辑, 我们将以下内容填入bash脚本内:

#!/bin/bash java -Xincgc -Xmx4G -jar CatServer.jar

Ctrl + S 直接保存上传即可!

  1. 回到Putty, 继续完成开服:

进入刚刚我们上传核心的目录(比如我的是/root/server): cd /root/server

赋予start.sh执行权限: chmod +x start.sh

运行start.sh: ./start.shsh start.sh (如果使用sh start.sh, 那么可以不用赋予执行权限)

  1. 服务端运行完成:

  1. 其他的修改操作等等, 几乎都和Windows一样了, 可以自行研究, 或者查阅相关资料

如果我关掉了SSH窗口, 我要怎么回到服务端会话?

  1. 使用 screen ls 命令先查询目前存活的会话

目前存在着一个名字为qwe, PID为6975的会话, 但他并不是活动的(Attached为活动中/Detached反之)

  1. 使用命令 screen -R qwescreen -R 6975 即可回到服务端会话
  2. 使用服务端命令测试服务器是否存活:

完结撒花!

一些有用的基础Linux命令与知识:

Screen常用命令教学

Linux常用命令教学

Linux磁盘管理