教程 [持续更新]开基岩服务器!——基岩版服主从入门精通到跑路!

Sbaoor

【 Lv: 2 】
开发者
  • 开发者
25
25
1d 9h 4m
1
中国
最近新入圈的萌新腐竹很多,面对各种框架和插件的时候常常不知所措,经常在各大群问
一些资深腐竹就变成了客服...
为了解决这种情况,我决定给他们写一篇帮助文档


本贴适合愿意为服务器花心思研究的服主,
如果是想只续费把服务器交给别人管或者想开服养活自己的,
请你们爬!!!!!!!!!!!


这个帖子只是本人对开服的一些拙劣的见解,如果有错误请多多指教。
一,服务端的分类
现在基岩版的服务端有三种
① 官方服务端BDS—bedrock dedicated server
官方的服务端
具有一切原版的特性,甚至原版的bug也会附带
MC怎么可能会有bug,都是特性
原版bds无法装插件,但是可以通过其他框架来加载插件
②第三方服务端—Nukkit,PocketMine
把这两个放在一起的原因是他们都是第三方服务端
Nukkit使用Java编写,PocketMine使用PHP编写
可以装插件,玩法丰富,但是缺失绝大部分原版特性
所以不建议用这两个端开生存服务器
③互通端—Geyser
俗称间歇泉
可以让基岩客户端进入Java服务器
点我可以查看Geyser的具体介绍
在这里不多阐述
二,我该选择什么服务端?
我本人推荐小白使用BDS开服
①BDS腐竹多,社区发展基本完整,有困难可以很容易的找到解决对策。
②BDS具有一切原版bug特性,NK和PMMP对于这些有一定的缺失。
③虽然不可以装插件,但是可以通过插件加载框架来拓展。
@ColorGlaze推荐使用Nukkit来开服
①几乎没有原版特性,轻量化,拒绝臃肿
②目前占用最低的服务器核心(核能驱动)
③运行稳定,实测14天不重启,不蹦,不卡
④拓展性强(比bds不知道强了多少倍),各种插件开发均有完善的文档
⑤基于Java,全平台兼容
⑥社区更大,并完全开源,接受PR和issue
⑦自带反作弊,无需安装任何反作弊即可防大部分挂例如(InfinteAura,InfBlockReach,Reach,Nuker,ServerCrasher,Fly,JetPack,Scaffold,tower,InstaBreak,TPAura,ChestAura,HighJump,Jesus等)
@SinonGame推荐了Geyser
①Geyser社区庞大,发展迅速,有困难可以很容易的找到解决对策。
②Geyser具有一切Java原版bug特性,NK和PMMP对于这些有一定的缺失。
③Geyser有java版本庞大的插件数量,同时可扩展性极强。
④Geyser可以有效避免BDS的崩档问题,防止一夜回到解放前。
不过在选择服务端也要和自己的服务器类型相结合
感谢@脱碳葡萄糖提供的建议
你想开生存体验原版特性,就用bds;
你想开小游戏服、RPG服之类的,可以用NK(不过bds好像也有rpg类的Add-on);
想在基岩版里体验Java版特性就用geyser。
看个人需求。
每个服务端都有自己的特点和缺点,都可以去学习了解,不要因为“锚定效应”就对任何一个服务端产生不合理的偏见。
对于自己有一定能力的服主,可以参考@超神的冰凉给出的建议
其实我觉得bds前景非常好,基于现在中国的基岩版私服玩家大部分都是从网易租赁服过来的现状,bds服务端最符合他们的只玩原版生存的游玩套路,而且一定程度上而言搭建较为简单,对于刚来国际服的网易服主而言是很好的过渡,也是私人联机的服务器的绝佳选择。个人推荐bds开纯净生存服,如果服主实在是没有技术的话开rpg生存混合服也不失一种选择。但是作为开发者,对非开源软件的态度一直都是不太喜欢的,非开源的机器码软件意味着难以开发,逆向难度高,生态脆弱,而且法律风险不小,一旦bds发布了正式版或者是去掉调试符号表并且开了优化编译,想要继续开发插件几无可能,所以作为一个开发者是不愿意选择bds的。即便如此,依然看好bds前景。
三,Minecraft基岩版服务器的基本搭建
云主机开服的话,一般分两种选择
一种是使用VPS,另一种是面板服
用VPS开服的优势就在于对云主机拥有完整的管治权
可以随意设定对外端口,独享的公网IP(分服务商)
而面板服最大的优点就是方便快捷,即买即用,可能会比独立主机便宜(分服务商)
缺点就是可能会限制对外的端口,多用户共享一个公网IP,一人被打一群遭殃…
使用VPS的朋友往下来,现在要说MC服务器的配置
这里只会讲解BDS服务器的配置
首先需要到这里下载最新的Bedrock server
下载好了之后把文件夹解压到一个空文件夹里


aQsu3q.png
这里以1.16.1版本的BDS作为示范
这里讲解几个比较常用的文件的使用方法
①worlds
里面会装着你的地图文件
每一个文件夹的名字是地图的名字
地图的名字可以在地图文件夹的levelname.txt中查看
②bedrock_server.exe
这个就是BDS的主程序啦
配置文件写好的时候双击这个就可以开服了
③permissions.josn
这个文件里会有保存的OP(服务器管理员)数据
注意这是个json文件,不懂得josn文件格式的新人不要乱改哦
④server.properties
这个是服务器的基本配置文件,接下来会详细的说这个
PS:有一些我实在看不懂的我就没写。

附件里有一份我整理好的部分汉化的配置文件
server-name=
#填写你的服务器名称,这会在motd的时候被看到
# 可填写:没有限制

gamemode=
# 服务器的默认游戏模式
#可填写: "survival" "creative"或者 "adventure"
#survival:生存模式 creative:创造模式 advenature:冒险模式

difficulty=
# 服务器的默认难度
# 可填写: "peaceful" "easy", "normal"或者"hard"
#peaceful:和平 easy:简单 normal:普通 hard:困难

allow-cheats=
# 是否允许管理员使用作弊指令
# 可填写: "true" or "false"

max-players=
# 可在这个服务器游玩的最大人数
# 可填写任何数值

online-mode=
# 是否开启正版验证,如果不开启正版验证,白名单无法开启
# 可以填写: "true" or "false"

white-list=
#是否开启白名单,开启之后不在白名单上的玩家不能够进入服务器
# 可填写: "true" or "false"

server-port=
# 服务器监听的IPV4端口,如果服务商给了你特定的端口则需要填写特定的端口
# 填写一个1~65535的数字

server-portv6=
# 服务器监听的IPV6端口
# 填写一个1~65535的数字,注意不能与IPV4端口相同

view-distance=
# 玩家可以看到的最大视距
# 可以填写任意整数

player-idle-timeout=
# 挂机踢人的时间,单位是秒,如果填0则不踢
# 可以填写任意整数

level-name=Bedrock level
# 存档的名字,默认Bedrock Level

level-seed=
# 地图的种子
# 可填写任意数字

default-player-permission-level=
# 玩家第一次进入服务器时的身份
# 可填写: "visitor", "member", "operator"
#visitor:访客 member:成员 operator:管理员

texturepack-required=
# 是否强制客户端加载服务器的材质包
# 可填写: "true" or "false"

content-log-file-enabled=
# 是否把错误日志记录到文件中
# 可填写: "true" 或者 "false"
⑤whitelist.json
白名单文件,如果开启白名单的话,不在白名单里的玩家无法进入服务器。
注意这个也是一个json文件,要注意格式。


到这里基本的配置就修改完成了,接下来就是放行端口和关闭防火墙
安全组会在你的服务商那里有设置找到你要监听的IPV4端口,选择UDP,允许。
windows系统自带的防火墙这里用windows Server2016举例
①首先打开控制面板(找不到就用工具栏那个搜索控制面板)
②选择“Windows防火墙”
③在左侧找到“启用或关闭防火墙”
④在”公共网络设置中“选择“关闭Windows防火墙”,点击确定。
三,Minecraft基岩版服务器的进阶搭建
经过上个板块的配置服务器已经可以正常进入并游玩了,但是是不是觉得少了些什么?
为什么他们的服务器可以和QQ群互聊?
为什么他们的服务器可以用tpa等拓展指令?
为什么他们的聊天有称号?
为什么我的不行??我去问问他们。
Q:你们这些怎么整的?
A:加插件啊。
这个教程作者骗我???
别着急,BDS确实不能加载插件,但是我们可以用别的框架/加载器来加载插件
有两个主流的加载框架
BedRockX(已停更)
ElementZero
和三个主流的插件加载器,
nanolauncher
MCDllInject

BDXCore
①梦之故里启动器的部署教程
首先到这里下载梦之故里启动器,并把启动器解压到一个空文件夹里
这里使用1.2版本作为示范



a3rdIg.png
这里直接使用用上一章配置好的1.16.1的BDS
a3W6V1.png
把你上一章配置好的直接BDS放进MCPE文件夹
然后运行mc_start.bat
如果你看见“JS插件平台已装载”就说明成功了

a3fBJf.png
如果没有看见“JS插件平台已装载”或者是报错了
像下面这样
aJNIGn.png
就去MCModDLL文件夹下看看有没有BDSJSRunner.dll这个文件
如果没有就去第四部分查看JSR的部署
或者检查一下JSRunner的版本
成功了之后就可以向JS文件夹和MCModDLL文件夹添加你想要的插件咯
PS:注意插件版本!!

BDS管家的部署教程
BDS管家是作者Lappand编写的一款通过酷q的形式实现服务器与qq群的通信的酷Q应用
酷Q社区地址:https://cqp.cc/t/47220

点我可以下载BDS管家,下载好了之后解压
如果里面没有酷Q AIR的话,酷Q air可以在这里下载awa
点击酷Q air,你会看到这样几个文件
a3IVt1.png
点击CQA.exe,登录你要使用的QQ,建议找个小号。
注意:酷Q机器人刚挂上的时候可能会被屏蔽一段时间(几小时到几天不等),会收不到机器人发出的消息
一段时间后会自动恢复。
登录成功之后,去到文件夹根目录找[xxx]io.lappand.bds.cpk
[xxx]为版本号,把他重命名为io.lappand.bds.cpk
像这样
a3T1JI.png
然后把这个文件挪到酷Q里面的app文件夹
然后右键你桌面工具栏右侧的酷Q图标
a3TTl6.png
选择应用—应用管理,点击
然后点击右下角的重载应用
a3796f.png
app文件夹里面的应用会重新载入
然后你就会看见Minecraft BDS管家了
选中“Minecraft BDS管家”,点击”启用“
a37ucV.png
③EZ框架的部署
ElementZero是作者codehz开发的一款基于BDS的插件拓展框架
首先到这里下载最新版本的EZ
点Releases

aJJ05n.png
点进去之后下载你需要的版本
然后解压下载好的压缩包
这里用0725做示范

aJYaQK.png
把这些文件全部选中,然后剪切
找到你的bds根目录,粘贴

aJYqS0.png
以后开服的话点击bedrock_server_mod.exe就可以了
④JSR,CSR部署教程
在第一部分部署梦故的时候启动器就自带了一个JSRunner
如果没有的话,跟我做吧
首先确保你有梦之故里启动器
然后到这里下载JSRunner
CSR到这里下载
下载完成后放到梦之故里启动器的MCModDll里面
启动mc_start.bat
如果看见下面两行字就说明成功了

aJ0039.png
aJ0Dj1.png
四,异常状况的处理
①丢失xxx.dll
aJjwjJ.jpg
这种情况一般是机器缺失了VC运行库所导致的
解决办法一般是到这里下载最新的运行库,一般来说都是下载X64框架的。
注意:Windows Server2012 因为自身系统的原因如果装载运行库后也无法开启服务器,
建议更换镜像。

②bedrock_server.exe崩溃
aYSXiq.png
这种情况很玄学,目前主流的引发问题都是存档过大(1G左右)
③无法打开db文件夹
aY9ABQ.md.png
这种情况一般都是在windos server2016系统上运行BDS导致的,有一定几率中奖
解决办法:更新系统

④端口被占用
atddIS.png
出现这种情况的时候你需要检查一有没有其他程序占用了你在配置文件中设置对外端口,
或者检查一下后台有没有另一个BDS在跑,
如果有,就结束这个进程。
如果被其他程序占用了端口,就换一个能用的对外端口就可以了。
五,插件的选择
①JS插件
JS,一般指JavaScript,如果想运行JS插件你需要前置的JSRunner,
这里我给现有的部分JS插件做了一个导航。

teleport 不对接经济的集成插件 by twoone3
Block statistics 统计方块破坏 by twoone3
MC淘宝 - 玩家自由出售或购买物品的插件 by fangou
世界性质的一款插件包含:留言,公会,公会仓库,MC微博等功能 by fangou
commstrengthen - 强化部分指令支持更多功能 by 清漪花开
特殊物品检测 - 检测几个特定的物品 by 清漪花开
Banplayer - 一个ban人的小东西,不在线也能ban by 清漪花开
Inventory_Sync - 跨服同步玩家数据! by 清漪花开
Binding_group - 绑定群,不在群的玩家进服被踢 by 清漪花开
Restatistical - 一起来看看谁是肝帝吧 by 清漪花开
Transfer - 在游戏内快捷切换服务器 by 清漪花开
PluginCheck - 在后台显示插件是否有更新! by
清漪花开
Menu —— 让你的玩家们不用忙于记指令吧! by PotatoMine
PlayerPoint —— 还仅限于无聊的生存游戏吗? by PotatoMine
Operator - 查看管理员的插件 by PotatoMine
[NewGift]新手礼包——给萌新们一个更高的起点吧 by PotatoMine

[BrainBan] 一款本地黑名单插件 by 科幻大脑
DeadBrain - 死亡提示插件 by 科幻大脑
[ExpToEcon] 经验兑经济 by Mcayear
[Back] 返回死亡点 by Mcayear

[PackDrop] 死亡背包掉落 by Mcayear
MChat --- 更多元化的交流!by McPlus
MShop - 一个Bds的ui商店 by McPlus
MKey ——— 一个密钥兑换插件 by McPlus
MSign --- 在游戏里也要打卡哟 by McPlus
MBottom ——— 一个因吹斯亭的底部显示 by McPlus
MMenu --- 最高度自定义的ui菜单! by McPlu
MWarp --- 一个便携又方便的传送点 by McPlus
MTpa - 奥义·传送大法 by McPlus
还在担心玩家在服里搞奇奇怪怪?挖掘记录插件你值得拥有! by Jasonzyt
Here插件 更方便回复自己的坐标 by Jasonzyt
[KickPlayer]可以在客户端执行的kick命令 by Jasonzyt
②Lua插件
注意:Lua插件需要BDX的API支持!!BDS无法运行lua插件!!
这里我给现有的部分Lua插件做了一个导航。
④DLL插件
 

附件

最后编辑:
打赏用户:

SinonGame

会员
VIP
14
5
3h 45m
Void
我为什么推荐你用Geyser开服务器?
①Geyser社区庞大,发展迅速,有困难可以很容易的找到解决对策。
②Geyser具有一切Java原版bug特性,NK和PMMP对于这些有一定的缺失。
③Geyser有java版本庞大的插件数量,同时可扩展性极强。
④Geyser可以有效避免BDS的崩档问题,防止一夜回到解放前。
 
  • 喜欢
反馈: ColorGlaze
我为什么推荐你用Geyser开服务器?
①Geyser社区庞大,发展迅速,有困难可以很容易的找到解决对策。
②Geyser具有一切Java原版bug特性,NK和PMMP对于这些有一定的缺失。
③Geyser有java版本庞大的插件数量,同时可扩展性极强。
④Geyser可以有效避免BDS的崩档问题,防止一夜回到解放前。
好了,本帖终
 

SkipM4

【 Lv: 1 】
2
4
51m
China
我为什么推荐你用Geyser开服务器?
①Geyser社区庞大,发展迅速,有困难可以很容易的找到解决对策。
②Geyser具有一切Java原版bug特性,NK和PMMP对于这些有一定的缺失。
③Geyser有java版本庞大的插件数量,同时可扩展性极强。
④Geyser可以有效避免BDS的崩档问题,防止一夜回到解放前。
①与其说Geyser社区庞大,不如说Java版因为起步早所以发展比BE强一些,这无可厚非.
②本帖讲的是基岩版服务器,不知道阁下在这里炫耀Geyser具有Java版的特性是何用意,以此对比Nukkit与PocketMine完全就是牛头不对马嘴.
③说法错误,Geyser只是个代理,而插件是指Java版Bukkit插件,同样,与基岩版无关.
④Geyser只是个代理,与存档没有任何关系,bds有崩档可能性,Java版服务端也有.
bds是纯正的基岩版服务端,而Geyser只是让基岩版客户端进入Java版服务器的一个中转站,这两者根本就不是同一个版本,有什么好讲的呢?
 

SinonGame

会员
VIP
14
5
3h 45m
Void
①与其说Geyser社区庞大,不如说Java版因为起步早所以发展比BE强一些,这无可厚非.
②本帖讲的是基岩版服务器,不知道阁下在这里炫耀Geyser具有Java版的特性是何用意,以此对比Nukkit与PocketMine完全就是牛头不对马嘴.
③说法错误,Geyser只是个代理,而插件是指Java版Bukkit插件,同样,与基岩版无关.
④Geyser只是个代理,与存档没有任何关系,bds有崩档可能性,Java版服务端也有.
bds是纯正的基岩版服务端,而Geyser只是让基岩版客户端进入Java版服务器的一个中转站,这两者根本就不是同一个版本,有什么好讲的呢?
1.既然是基岩版能进入的服务器,那便可以算是基岩版服务器,所以您所说的第2点不成立。
2.Geyser目前已经支持插件系统,可以说是一个服务端了,所以您所说的第3点不成立。
4.Java端使用的anvil系统,相比于BDS使用的leveldb系统更不容易崩溃。
5.没人在炫耀,既然您说了是基岩版服务器,就不应该是单独详细介绍BDS的教程,否则这篇文章应该叫做开BDS服务器!BDS服主从入门到跑路
 

wen0797

【 Lv: 1 】
13
6
4h 49m
china
这是我们
1.既然是基岩版能进入的服务器,那便可以算是基岩版服务器,所以您所说的第2点不成立。
2.Geyser目前已经支持插件系统,可以说是一个服务端了,所以您所说的第3点不成立。
4.Java端使用的anvil系统,相比于BDS使用的leveldb系统更不容易崩溃。
5.没人在炫耀,既然您说了是基岩版服务器,就不应该是单独详细介绍BDS的教程,否则这篇文章应该叫做开BDS服务器!BDS服主从入门到跑路
根据我们实际体验来看,geyser新版
(截止目前修复铁砧)我们已经在java服上装了半个月了,实际体验来看,能玩,但是,bug还是多你无法否认,台阶/命令方块,等等Screenshot_2020-07-31-22-05-59-414_com.tencent.tim.png这是我们发现的最新bug,这位泡泡他天天在给geyser提issue 反馈
但是你也说到了
标题,开基岩版服务器,基岩版有化学(教育版)有拒绝方块,等等,并且目前稳定性很好(在我这)
另外,bds现在套插件框架稳得一批,插件开服难度低,资源增长快,bds资源占用低,对性能要求稍微低一丢丢,这tm是实测,没什么反驳不反驳的,
以上是我推荐bds的原因,
 

ColorGlaze

琉璃酱
VIP
开发者
  • 开发者
  • 人民富豪
200
87
2d 18h 46m
2
undefined
liulihaocai.tk
这是我推荐NK的原因:
几乎没有原版特性,轻量化,拒绝臃肿
目前占用最低的服务器核心(核能驱动)
运行稳定,实测14天不重启,不蹦,不卡
拓展性强(比bds不知道强了多少倍),各种插件开发均有完善的文档
基于Java,全平台兼容
社区更大,并完全开源,接受PR和issue
自带反作弊,无需安装任何反作弊即可防大部分挂例如(InfinteAura,InfBlockReach,Reach,Nuker,ServerCrasher,Fly,JetPack,Scaffold,tower,InstaBreak,TPAura,ChestAura,HighJump,Jesus等)
 
最后编辑:

ColorGlaze

琉璃酱
VIP
开发者
  • 开发者
  • 人民富豪
200
87
2d 18h 46m
2
undefined
liulihaocai.tk
1.既然是基岩版能进入的服务器,那便可以算是基岩版服务器,所以您所说的第2点不成立。
2.Geyser目前已经支持插件系统,可以说是一个服务端了,所以您所说的第3点不成立。
4.Java端使用的anvil系统,相比于BDS使用的leveldb系统更不容易崩溃。
5.没人在炫耀,既然您说了是基岩版服务器,就不应该是单独详细介绍BDS的教程,否则这篇文章应该叫做开BDS服务器!BDS服主从入门到跑路
确实,Java版服务端比起基岩版服务端更稳定,例如在Java版做禁人塔不蹦存档,在基岩版服务器里就会直接崩掉存档
 

SkipM4

【 Lv: 1 】
2
4
51m
China
1.既然是基岩版能进入的服务器,那便可以算是基岩版服务器,所以您所说的第2点不成立。
2.Geyser目前已经支持插件系统,可以说是一个服务端了,所以您所说的第3点不成立。
4.Java端使用的anvil系统,相比于BDS使用的leveldb系统更不容易崩溃。
5.没人在炫耀,既然您说了是基岩版服务器,就不应该是单独详细介绍BDS的教程,否则这篇文章应该叫做开BDS服务器!BDS服主从入门到跑路
很遗憾阁下认为“基岩版能进入的服务器就算是基岩版服务器”,这种说法就像"李鬼就是李逵"一样不负责任,而事实是,通过Geyser进入的依然是Java版服务端开启的服务器.
同样很遗憾阁下认为“支持插件系统的就是服务端”,那么为什么Geyser这个“服务端”还需要一个Java版服务端作为主体而不是自己来开服呢?
“Java版服务端的地图相比于BDS更不容易崩溃”这个结论从何而来?有三四年的服务器运行对比么?建议阁下去试试Java版服务端的空指针和线程锁死,相信会有更多感想.
本帖标题即写明“基岩版”,而阁下却刻意强调Geyser具有Java版特性,试问为什么要在基岩版开服教程里特别强调有Java版特性呢?何况本帖并不是只讲了BDS,Geyser,Nukkit与Pocketmine也有提及,为什么不能是“基岩版开服教程”呢?
此外,对一篇尚待更新的教程帖不支持甚至揪着几句话唱反调的行为,实在是令人无语.
 

脱碳葡萄糖

H12O6
VIP
8
7
1d 9m
山东
你想开生存体验原版特性,就用bds;你想开小游戏服、RPG服之类的,可以用NK(不过bds好像也有rpg类的Add-on);想在基岩版里体验Java版特性就用geyser。看个人需求。
每个服务端都有自己的特点和缺点,都可以去学习了解,不要因为“锚定效应”就对任何一个服务端产生不合理的偏见。
所以Minecraft鄙视链要不得。。。
 

sysca11

【 Lv: 3 】
管理成员
版主
33
51
48m
1
PRC
1.既然是基岩版能进入的服务器,那便可以算是基岩版服务器,所以您所说的第2点不成立。
2.Geyser目前已经支持插件系统,可以说是一个服务端了,所以您所说的第3点不成立。
4.Java端使用的anvil系统,相比于BDS使用的leveldb系统更不容易崩溃。
5.没人在炫耀,既然您说了是基岩版服务器,就不应该是单独详细介绍BDS的教程,否则这篇文章应该叫做开BDS服务器!BDS服主从入门到跑路
anvil稳定性优于leveldb的说法似乎没有理论根据。
 

虚竹

49年入国军【PM】的基层干部
管理成员
版主
VIP
  • 二周年纪念
120
28
1d 2h 32m
1
404 not found
www.itprc.cn
PMMP,永远滴神
 
  • 喜欢
反馈: Sbaoor

超神的冰凉

【 Lv: 3 】
开发者
  • 正版用户
  • 开发者
80
86
12h 56m
2
青岛
后期anvil格式跟leveldb格式比稳定性的说法我个人认为并没有什么根据,二进制数据就存在哪里,数据的稳定性应该由文件系统决定。nukkit使用的是官方的后期anvil格式,pm使用pmanvil与leveldb格式,bds使用leveldb格式,解析稳定性与算法有关,leveldb的数据更为紧凑,anvil的数据稍微松散一点,顶多是加载速度的问题,不能一概而论
 

超神的冰凉

【 Lv: 3 】
开发者
  • 正版用户
  • 开发者
80
86
12h 56m
2
青岛
个人认为geyser并不能算作一个“基岩版服务端”,而且geyser的开发团队也是这么认为的,geyser是用来给java服主更多余地,让玩家临时进入服务端干一些简单的事情,诸如日常签到,收割作物等,而不是用来单独开一个基岩版服务器,把geyser当作单独只用来开基岩版服务器的方案有如筷子切肉,用错了地方
 

推广

Document

新主题 新资源 新回复