概述multipaper
本文最后更新于:2023年1月7日 晚上
日志,和要点记录
multipaper是什么
一个特殊的MC服务端
他实现了在多个服务端上同步互通地运行同一个世界地图
结构
- 一个master端,作用是数据库,作为其他服务器的数据中心和连接基点
- 若干个服务端,承载玩家的交互处理
- 服务端之间会建立点对点连接,保证实时共享同步,包括跨服操作,时间同步等
- (可选)一个反向代理服务端,玩家从代理端进入游戏,代理端控制玩家与服务端建立连接,合理分配玩家到服务器,保证负载平衡,效率最大化
- 客户端,大量的客户端,毕竟这就是为承载大量玩家设计的。
实际上,代理服务端是群组服代理端,他将multipaper的服务端看作群组服,在这个情况下master端会变成群组服的插件来运行。
具体部署搭建要点
方案一
基础方案,默认都有公网IP,不增加代理服务
- 将世界数据放置到master端的文件夹内;连接默认端口为35353
- 在服务端的
multipaper.yml
中,修改master-address
与my-name
,对应master端的IP、端口与该服务端的唯一名称 - 启动后服务端会自动连接。可在master端输入
shutdown
同时关闭所有服务端
方案二
进阶选择一,增加代理服务
- 在方案一的基础上,另外部署搭建代理端,比如bungeecord、waterfall、velocity等
- 将master端放入插件文件夹。和群组服代理端一样,把服务器列表加入配置文件
方案三
进阶选择二,增加内网穿透
- 需要一个拥有公网IP的机器,IP地址最好固定不变
- 使用 frp 内网穿透工具,在公网机器上部署服务端,在内网机器上部署客户端
- 在客户端的配置文件里设置穿透连接类型及本地地址与端口、外网端口,建立穿透连接
此时就可以用外网地址与端口完成部署搭建
重点是保证master端能够被服务端发现
- 若需要同时进行代理服务,则同样将服务器列表设置为外网地址与端口
收获和总结
- frp内网穿透
- Linux CLI的使用(tmux,ps,ssh,vim等)
- 初步理解分布式集群
概述multipaper
https://minatoai.github.io/2023/01/06/概述multipaper/