概述multipaper

本文最后更新于:2023年1月7日 晚上

日志,和要点记录

multipaper是什么

一个特殊的MC服务端
他实现了在多个服务端上同步互通地运行同一个世界地图

结构

  • 一个master端,作用是数据库,作为其他服务器的数据中心和连接基点
  • 若干个服务端,承载玩家的交互处理
    • 服务端之间会建立点对点连接,保证实时共享同步,包括跨服操作,时间同步等
  • (可选)一个反向代理服务端,玩家从代理端进入游戏,代理端控制玩家与服务端建立连接,合理分配玩家到服务器,保证负载平衡,效率最大化
  • 客户端,大量的客户端,毕竟这就是为承载大量玩家设计的。

实际上,代理服务端是群组服代理端,他将multipaper的服务端看作群组服,在这个情况下master端会变成群组服的插件来运行。

具体部署搭建要点

方案一

基础方案,默认都有公网IP,不增加代理服务

  • 将世界数据放置到master端的文件夹内;连接默认端口为35353
  • 在服务端的multipaper.yml中,修改master-addressmy-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/
作者
minatoAI
发布于
2023年1月6日
许可协议