赞
踩
前言:目前主流开服教程基本是Ubuntu+Screen来运行Minecraft Bedrock服务器,CentOS7很少。本文适用于服务器为CentOS7或是不适用于目前Ubuntu通用开服教程,且无法把vps更换为CentOS8+/Ubuntu的Linux腐竹们
本文将带你完成:
2. 不使用screen进行进程保留,使用Multicraft面板托管并前端管理bedrock服务器
先上效果
本人运行环境为Aliyun学生轻量应用服务器
第一部分 原生运行
本片段参照一位日本老哥的做法(原文链接: https://minecraft.server-memo.net/bedrock_server_install/)
总结了一下,CentOS7缺少以下几个库(的新版本)导致无法运行
./bedrock_server: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
- ./bedrock_server: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./bedrock_server)
- ./bedrock_server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./bedrock_server)
- ./bedrock_server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./bedrock_server)
- ./bedrock_server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./bedrock_server)
- ./bedrock_server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./libCrypto.so)
- ./bedrock_server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./libCrypto.so)
./bedrock_server: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./bedrock_server)
由于CentOS7主流的源并不带有所以这些库的新版本,这就需要手动make openssl
- yum install gcc perl zlib-devel
- cd ~
- wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
- tar zxvf openssl-1.1.1c.tar.gz -C /usr/local/src/
- cd /usr/local/src/openssl-1.1.1c
- ./config --prefix=/usr/local/openssl shared zlib
- make
- make install
- cd /etc/ld.so.conf.d/
- vi openssl-1.1.1.conf
添加文字
/usr/local/openssl/lib
保存,执行
ldconfig
可以执行
ldconfig -p | grep libssl
看到了libssl.so.1.1就代表成功了
2. (gcc)libstdc++
编译准备:
yum install gcc-c++ bzip2
源码准备:
这里建议去tuna镜像站看看版本(https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/)
演示使用9.1.0版本
- cd ~
- wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
- tar zxvf gcc-9.1.0.tar.gz -C /usr/local/src/
- cd /usr/local/src/gcc-9.1.0/
前置软件准备:
编译gcc需要gmp,mpfr,mpc等前置软件,gcc源码下有自动下载脚本,但默认源对于aliyun貌似无法访问或是访问很慢,所以切到gcc源码目录之后,我们需要把默认前置脚本的源换成其他的源(所有官方源列表: https://gcc.gnu.org/mirrors.html)
这里推荐日本源
在gcc源码目录下执行
vi ./contrib/download_prerequisites
找到base_url:
改成
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/
保存,执行
./contrib/download_prerequisites
然后就会开始下载前置库,中间可能下载失败,可以通过
./contrib/download_prerequisites --force
来进行重试
配置编译:
然后就可以进行编译了
- mkdir build
- cd build/
- ../configure –enable-languages=c,c++ --prefix=/usr/local –disable-bootstrap –disable-multilib
- make
这一项需要挺久时间,请耐心等待
然后安装
make install
库更新:
- cd /etc/ld.so.conf.d/
- vi gcc-9.1.0.conf
添加文字
/usr/local/lib64
保存,执行
ldconfig
执行
ldconfig -p | grep libstdc++.so.6
可以看到
执行
strings /usr/local/lib64/libstdc++.so.6 | grep ^GLIBCXX_3.4.2 | sort | uniq
可以看到这里就有我们需要的GLIBCXX_3.4.2x了
3. glibc(libm.so.6)
编译准备:
执行
yum install bison
同时我们需要暂时升级到python3.6+,为什么是暂时?因为升级后yum可能出现问题,我们只需要python3.6来编译一次
这里可以通过yum安装,添加IUS源
原文的链接已经过时,新的ius安装命令为
- yum install
- https://repo.ius.io/ius-release-el7.rpm
- https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
完成后
yum install python36u python36u-libs python36u-devel python36u-pip
然后进行暂时性替换
- update-alternatives --install /bin/python python /usr/bin/python2.7 1
- update-alternatives --install /bin/python python /usr/bin/python3.6 2
- update-alternatives --config python
输入2回车
这时你可以通过python –version查看,已经是3.6+了
完成python替换后需要升级make到4.+
这里还是使用国内的tuna源(https://mirrors.tuna.tsinghua.edu.cn/gnu/make/)
- cd ~
- wget https://mirrors.tuna.tsinghua.edu.cn/gnu/make/make-4.3.tar.gz
- tar zxvf make-4.3.tar.gz –C /usr/local/src
- cd /usr/local/src/make-4.3
- ./configure --prefix=/usr/local/make-4.3
- make
- make install
替换make
- mv /usr/bin/make /usr/bin/make-3.82
- update-alternatives --install /usr/bin/make make /usr/bin/make-3.82 1
- update-alternatives --install /usr/bin/make make /usr/local/make-4.3/bin/make 2
- update-alternatives --config make
选择4.3
查看版本
make –v
源码准备:
这里仍然使用tuna源
- wget https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.31.tar.gz
- tar xzfv glibc-2.31.tar.gz -C /usr/local/src
- cd /usr/local/src/glibc-2.31
- mkdir build
- cd build
配置编译:
- ../configure --prefix=/usr/glibc-2.31
- make
- make install
注意,这个库不要进行系统替换或链接!
现在可以把python换回2.x版本了
update-alternatives --config python
选择旧版本
到此,所有前置库安装完成
可以进行bedrock_server的配置
前往https://www.minecraft.net/zh-hans/download/server/bedrock
右键选择复制链接地址
我写这个的时候服务器版本为1.16.1
为了安全起见,同时为了对应multicraft,这里我们创建用户minecraft
- useradd minecraft
- passwd minecraft
切换到用户
su minecraft
下载并解压
- cd ~
- mkdir bedrock
- cd bedrock
- wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.16.1.02.zip
- unzip bedrock-server-1.16.1.02.zip
把刚刚编译完但没有引用到系统的库复制过来
cp -p /usr/glibc-2.31/lib/libm.so.6 .
然后就可以使用官方的开服指令
LD_LIBRARY_PATH=. ./bedrock_server
便完成了首次运行
第二部分 multicraft结合
很多教程到这里就开始教你screen之类的东西了,我这里开始不一样,先介绍下使用multicraft的原因
Multicraft可以说是一个老牌面板,老腐竹应该挺熟悉,卖服也是很方便,它允许前端控制服务器,有人可能跟我说mcsm,那个需要nodejs+screen,我这就是要脱离ssh screen,并且听说不好卖服(虽然我不卖),所以这里不做考虑
要使用multicraft这里有一堆前置操作
Nginx,SSL,PHP,tcp_bbr(可选),我这不进行讲述,老vps玩家应该都会,新的就自己去查资料
Multicraft的安装我这也不进行赘述,网上有很多相关教程
现在讲讲如何在一个正常运行的multicraft上开bedrock服务器
切换到minecraft用户
- cd ~
- cd bedrock
- vi start.sh
然后输入
cd /home/minecraft/bedrock && LD_LIBRARY_PATH=. ./bedrock_server
如图
保存退出
进入multicraft daemon后端安装目录/jar
新建一个bedrock_server.jar(只是占位用的)
bedrock_server.jar.conf
打开bedrock_server.jar.conf
输入
- [config]
- name = Minecraft Bedrock Edition Native Server
-
- [encoding]
- encode = system
- decode = system
- fileEncoding = latin-1
-
- [start]
- command = /usr/bin/sh /home/minecraft/bedrock/start.sh
-
- [settings]
- restartOnTimeout = True
- pingTimeout = 20000
- pingInterval = 15000
- crashRestartDelay = 2000
-
- [commands]
- say = say
- list = list
- save-all = save
- stop = stop
- tell = tell
- give = give
- tp = tp
- deop = deop
- op = op
- pardon-ip = pardon-ip
- ban-ip = ban-ip
- pardon = pardon
- ban = ban
- kick = kick
- help = help
保存,然后multicraft就会有这个可选项了
选上便可进行开服
由于bedrock服务器文件目录限制在自己的文件夹,所以multi这边的人数限制等服务器配置不会对你自己服务器配置产生影响同时multicraft部分操作默认状态下将会不可用,需要配置自己的服务器可以前往/bedrock/server.properties
在这里插点个人的广告:
我完成了原生Android的进程音量控制,或者说app音量,酷安链接
[Magisk]应用音量控制器(AudioHQ)(io.alcatraz.audiohq) - 0.8_2020_5_13_play_stable_4_b704c0b - 应用 - 酷安网coolapk.com还有Android手机上的Chrome Devtools(非Eruda,原生Devtools),链接
Alcatraz323/F12Browsergithub.com本人酷安id: Decontamination
Github:https://github.com/Alcatraz323
欢迎浏览我的其他项目
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。