本文基于BungeeCord搭建多服务我的世界起床战争服务器
本文章后续会持续更新
由于多世界插件EssentialsX-Core与Bedwars1058在部分指令上有冲突,于是建议使用BungeeCord(之后我简称BC)搭建多服务端minecraft服务器,将起床Bedwars服务分离出来,顺便将其他的服务比如登陆大厅等分离出来单独开一个端口服务,用于解耦合,方便后期管理和添加功能,之后可能要做正版和离线判断验证,不过目前就统一用离线吧
文章中所用到的资源我会一并 打包在文章末尾处
一、项目结构
客户端从bc服务进入,通过bc配置主服务入口进入子服务器,通过bc自带的server命令可以实现子服务器的相互访问,bc在此处相当于一个反向代理服务器
创建mcserver文件夹,在内部创建五个用于搭建五个服务端的文件夹,后面加上的是端口
二、配置BC服务
在BungeeCord_25565文件夹中放入bc官网的jar包,和start.bat启动文件
start.bat内容:具体配置请根据服务器配置以及人数配置,title后面的是cmd窗口的名字,建议命名,不然服务多了会分不清
@echo off
@title 25565bcserver
java -Xms1G -Xmx1G -jar BungeeCord.jar
pause
运行start.bat,到这里就可以了,然后默认端口是25577,关闭cmd,然后去改一下生成的config.yml
将划红线的依次修改为:
query_port:25565
host::0.0.0.0:25565
force_default_server: true
ip_forward:false
server这里面的配置子服务器原先只有个lobby,而且端口号是25565,我们将它改成以下图片的样式,引入各个子服务器名称以及address地址,不建议修改此处的motd,如果修改请不要用中文,应该是utf-8编码问题,会报错
到此就算配置好bc服务端了,接下来我们配置子服务器,我只演示一个子服务器,剩下的就照葫芦画瓢即可,只要将端口对上号就行
三、配置子服务器
此处用的是spigot-1.20.4,我们演示配置login大厅,首先创建服务器
此处start.bat内容需要改一下title,随意改成服务的名字即可,用于识别cmd窗口
@echo off
@title 25566login
java -Xms1G -Xmx1G -jar spigot-1.20.4.jar
pause
运行后同意eula协议,将false改成true
修改服务器配置文件,server.properties,将以下两个端口配置修改成25566(此处是我的登录服务端于是就是改成25566,后面的服务端依次类推,改成你需要的子服务器的端口,必须和bc服务端配置的端口对应,否则bc无法识别到该服务器),剩下的配置请自行根据服务器需求修改(但是子服的online-mode要改成false),如果不知道懂的内容请查阅minecraft wiki,链接:server.properties - Minecraft Wiki,最详细的我的世界百科
query.port=25565
server-port=25565
然后导入你需要的地图,将level-name改成你的地图名,我这里的叫login_city,然后再次启动start.bat即可
然后将所有的子服务端配置好,将bc端和子服务端均打开,在游戏内通过25565端口进入bc后,即可用/server 子服务名称实现服务端相互访问
四、服务器上云
将部署好的服务器打包上云,注意,如果用linux服务请重新修改配置,将start.bat改成bash命令,liunx可以看我上一个教程:http://t.csdnimg.cn/woJNj
上云这里推荐雨云服务器:性价比很高,注册有新人优惠券,有专门给mc等游戏开设的游戏服务,可以按照服务器平时负载程度计费,用较低的价钱能用到较高的配置,个人认为比其他服务商友好很多:可以点击这里:雨云 - 新一代云服务提供商 进行购买注册,绑定微信还送五折优惠券,优惠码填Prokint即可
在雨云服务器的服务器信息能看到远程的ip和用户名密码
我在此处使用WINSCP上传部署,输入ip和用户名密码后可将windows系统内的文件部署到linux中
部署完后启动服务即可bc端和子服务即可,就可以通过/server 选择你想去的子服务器了
五、本文章使用资源:
https://wwk.lanzouv.com/iJzal20pv1id
密码:3p2t
如果有疑问可以加qq群967391895