CentOS 7.3 搭建 Minecraft 服务器

CentOS 7点3搭建 Minecraft 服务器


最近 Mojang 登不上,所以 Realms 就买不了。在朋友的怂恿下,自己又想尝试去管理一台服务器,于是就租了一台云服务器试试。记录一下过程。


注意如何购买及使用云服务器和 Minecraft 服务端的配置不在此文讨论范围
本文只关注如何配置 CentOS7.3 系统使其能运行 Minecraft 服务端
仅供参考,请结合实际情况操作
如有错误,欢迎指正,谢谢


  • CentOS 7点3搭建 Minecraft 服务器
    • 安装基础软件
    • 更改yum源
    • 安装服务器所需软件
      • Java
      • Screen
    • 添加用户和组
    • 配置SSH
    • 启动 Minecraft 服务器
    • 其他


服务器上预装了 CentOS7.3 ,我就省去分区等一些麻烦问题。
目测是最小安装,连 Vim 都没有。
先安装一些软件。

安装基础软件

因为系统是预装的,所以网络已经配置好了,又轻松不少。
先安装一些我觉得必需的软件:
yum install [软件名]

  • yum_untils
  • wget
  • vim

CentOS 7.3 搭建 Minecraft 服务器_第1张图片
剩下的用到再说。
下载速度还挺快的。


更改yum源

此项不是必须的,可以跳过。
我把原来的源改为阿里的。

mkdir ~/bk #建立备份目录
mv /etc/yum.repos.d/CentOS-Base.repo ~/bk/CentOS-Base.repo.bak #备份文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all #清理缓存
yum makecache #建立包的本地缓存

CentOS 7.3 搭建 Minecraft 服务器_第2张图片


安装服务器所需软件

这些是Minecraft开服所需的

Java

我选的版本是 Java1.8
yum list java* | grep java-1.8.0-openjdk #搜索java1.8版本
CentOS 7.3 搭建 Minecraft 服务器_第3张图片
yum install java-1.8.0-openjdk.x86_64 #选择相应版本
CentOS 7.3 搭建 Minecraft 服务器_第4张图片
下载的东西挺多的。
安装完成后,测试一下:
java -version
CentOS 7.3 搭建 Minecraft 服务器_第5张图片
安装成功。

Screen

这玩意是一个虚拟终端,可以让命令在后台运行。
yum install screen
它有很多用法,我最常用就这几个:

screen -S screenname #新建一个叫screenname的screen会话
screen -ls #列出当前所有的screen会话
screen -r #恢复上一次离线的会话
screen -x [会话id] #恢复指定id的会话,id可通过 screen -ls 查看
screen -d #离线(不是关闭)当前会话
#离线会话还可以通过快捷键C-a d完成(先按组合键Ctrl+a,再按d)

更多信息请自行搜索或见此


添加用户和组

由于是预装系统,系统管理员就只有root。
安全起见,我新建两个用户,一个用于管理系统,另一个用于启动mc服务器。
首先新建一个用户组(并不是必须的),再新建一个用户,指定其初始用户组。
然后为此用户设置密码。

groupadd hadmin #新建用户组
useradd -g hadmin yangdeng #新建用户并指定其初始用户组为 hadmin
passwd yangdeng #为yangdeng设置密码

CentOS 7.3 搭建 Minecraft 服务器_第6张图片
但是,这只是一个普通用户,并没有管理员权限。
提权的方法有很多,这里我只写一种。
把用户添加到wheel组
1. usermod -a -G wheel yangdeng #将yangdeng添加到wheel组
id yangdeng #查看用户信息
CentOS 7.3 搭建 Minecraft 服务器_第7张图片
2. 更改/etc/sudoers使yangdeng能够使用sudo来运行root权限的命令
visudo #更改sudo配置信息
找到如下一行,把开头的注释符#去掉
CentOS 7.3 搭建 Minecraft 服务器_第8张图片
3. ok

现在添加一个普通用户并设置密码

groupadd minecraft #新建用户组
useradd -g minecraft mcadmin #新建用户并指定其初始用户组
passwd mcadmin #为mcadmin设置密码

配置SSH

以上操作都是在网页端的控制台完成的,是时候改用ssh连接。
本地为 Windows ,所以操作稍微麻烦。
ssh客户端为 PuTTY ,如何连接,生成密钥对就不写了。
配置公钥登陆需要把公钥上传至服务器相应用户的~/.ssh/authorized_keys中。
但是sshd的严格模式对~/.ssh~/.ssh/authorized_keys的权限有要求。我又找不到可以运行ssh-copy-id的客户端,只能自己新建。
~/.ssh权限为700,~/.ssh/authorized_keys权限为600

#先以yangdeng账户登录
mkdir ~/.ssh #新建目录
chmod 700 ~/.ssh #设置权限
touch ~/.ssh/authorized_keys #新建文件
chmod 600 ~/authorized_keys

建好目录后就可以导入公钥,公钥很长,但只能在authorized_keys中占一行的位置(即很长的一行)。
另外一个账号也是这样配置。

搞定公钥导入后配置ssh服务端即sshd:
sudo vim /etc/ssh/sshd_config
找到并修改或添加:

PubkeyAuthentication yes #允许公钥登陆
#以下是一些安全选项
LoginGraceTime 25 #认证时间,超过时间未完成登陆则断开连接,单位为秒
PermitRootLogin no #不允许root在ssh上登陆
StrictModes yes #严格模式
MaxAuthTries 4 #最大登陆认证错误次数
MaxSessions 5 #最大ssh会话数

更多关于sshd配置可见 此

最后重启sshd服务:service sshd restart #用systemctl也可以


启动 Minecraft 服务器

我用 FileZilla 来上传文件。
把上传好的文件解压到相应文件夹,是时候用screen

  • 新建一个screen会话:screen -S official-ie-180211
  • 然后接下来的操作都在此会话窗口进行,如果想离开(该会话仍会在后台运行)可以Ctrl+a 再按d
  • 若想恢复会话:screen -r #恢复上一次离线的会话
    screen -x [会话id] 而会话id可通过screen -ls查看
    CentOS 7.3 搭建 Minecraft 服务器_第9张图片 (图有点不清晰)

  • 离线会话可以做很多事情:

    free -h查看内存使用情况
    netstat -antup 查看网络连接情况,需要安装net-tools
    备份一下服务器日志
    …..

  • 退出会话可在该会话用exit

screen的功能很强大,利用它能写一些有用的脚本。

由于服务器的提供商提供防火墙,所以 CentOS 7.3 自带的防火墙是默认关闭的。
不然要在系统里头开启mc服务端的默认端口:25565
sudo firewall-cmd --Permanent --add-port=25565/tcp #永久添加25565端口
云服务器则要在其虚拟防火墙中添加准入规则,帮助文档都有。


其他


  • 如果ssh的公钥登陆没问题了建议关闭密码登陆。
  • 公钥的哈希摘要可以通过sudo ssh-keygen -lf [公钥路径]查看
  • java运行mc客户端时应该是不需root权限的,否则就要修改/etc/sudoers/文件
  • 参考链接:

CentOS 7 上的 FirewallD 简明指南
Tutorials/Setting up a server

你可能感兴趣的:(Minecraft,Linux,OE)