本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:假装不单纯
前言
这几天陆续有朋友留言让我继续发点游戏的部署教程,由于到了年终,手上事情确实也多,不过既然大家喜欢,那怎么也得安排一下,今天来个冒险岛服务器版,叫上当年的兄弟再刷一次扎昆!
项目介绍
本项目基于Cosmic来的汉化和优化,Cosmic 是一款针对全球枫之谷(GMS)83版本的服务器模拟器。于2021年3月上线。它基于长达十多年的服务器模拟器代码,这些模拟器从OdinMS(2008年)一直延续到HeavenMS(2019年)。这是一个以Java为主导的项目,但也包含大量用Javascript编写的脚本。
本项目地址:https://github.com/BeiDouMS/BeiDou-Server 服务端docker仓库地址:https://github.com/BeiDouMS/BeiDou-docker 原始项目地址:https://github.com/P0nk/Cosmic
部署准备
新建存储目录
安装之前需先在docker文件夹中新建一个mxd文件夹,用于配置持久化保存,后面所有相关文件都存在这里。
准备Compose文件
打开飞牛os的docker--compose--新增项目--项目名称(填mxd,可识别即可),l路径选择上面建立好的文件夹“mxd”,选择创建docker-compose.yml,然后将下面代码复制粘贴到代码框,为了便于大家理解,我给每段代码加了注释,最后勾上创建项目后立即启动,点击创建即可:
version: '3.4' # 指定docker-compose语法版本(适配v3.4+) services: beidou-server-all: # 北斗服务器主服务(集成所有功能) container_name: beidou-server-all # 容器自定义名称,便于管理 image: ghcr.io/beidoums/beidou-server-all:v1.9 # 北斗服务器镜像(v1.9版本) environment: TZ: Asia/Shanghai # 设置容器时区为上海,避免时间偏差 ports: - "8686:8686" # Web管理界面端口映射 - "8484:8484" # 登录服务器端口映射 - "7575-7577:7575-7577" # 业务通道端口段映射(3个连续端口) volumes: - ./beidou-server-release:/opt/server # 挂载服务器配置/数据目录到容器 command: # 启动参数:覆盖数据库连接和服务地址配置 - --mybatis-flex.datasource.mysql.url=jdbc:mysql://beidou-db:3306/beidou?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai # MySQL数据库连接地址 - --mybatis-flex.datasource.mysql.username=root # MySQL登录用户名 - --mybatis-flex.datasource.mysql.password=root # MySQL登录密码 - --gms.service.wan-host=127.0.0.1 # 服务公网访问地址 - --gms.service.lan-host=127.0.0.1 # 服务局域网访问地址 - --gms.service.localhost=127.0.0.1 # 服务本地回环地址 # healthcheck: # 健康检查(注释禁用,启用可取消注释) # test: ["CMD", "wget", "--spider", "http://localhost:8686/"] # 检测8686端口存活状态 # interval: 10s # 检查间隔10秒 # timeout: 5s # 单次检查超时5秒 # retries: 10 # 重试10次仍失败则标记不健康 depends_on: # 依赖关系:等待数据库服务健康后启动 beidou-db: condition: service_healthy # 依赖条件:beidou-db服务健康 networks: - beidou-network # 加入自定义桥接网络 beidou-db: # MySQL数据库服务(北斗服务器依赖) container_name: beidou-db # 数据库容器名称 image: mysql:8.4.0 # MySQL镜像版本(8.4.0) environment: MYSQL_ROOT_PASSWORD: "root" # MySQL root用户默认密码 ports: - "3306:3306" # MySQL端口映射(宿主机:容器) volumes: - ./docker-db-data:/var/lib/mysql # 持久化MySQL数据到宿主机目录 healthcheck: # 数据库健康检查 test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-proot"] # 检测MySQL服务可用性 interval: 10s # 检查间隔10秒 timeout: 5s # 单次检查超时5秒 retries: 10 # 重试10次 start_period: 10s # 启动后等待10秒再开始检查 networks: - beidou-network # 加入自定义桥接网络 networks: beidou-network: # 自定义桥接网络(让两个服务互通) driver: bridge # 网络驱动:桥接模式
需要注意的是:如果代码不可用,让ai修改一下格式。如果端口有冲突,可以修改本地端口。
当然,如果害怕代码出错,可以直接在网页上下载作者准备好的yml文件,下来下来后放入前面创建的文件夹。然后在docker--compose--新建项目,填好项目名称和路径,选择导入docker-compose文件就行,会自动识别yml文件并导入代码。下载地址:https://github.com/BeiDouMS/BeiDou-docker/tree/master。
如果怕麻烦或者网络原因无法下载的,也可以看我上一篇文章
点击创建,项目就创建成功了,看到项目正在运行就说明服务端部署成功了。
服务端配置
输入nasip+端口,比我我这里就是192.168.1.45:8686,进入服务端管理页面,默认填充好了账号密码,直接进入。
在工作台可以看到运行状态啥的。
游戏管理可以进行商城、NPC设置、怪物爆率、背包管理、百宝箱管理等各种设置。
玩家管理可以进行账户创建、封存等操作。
客户端配置
到项目发布网址下载客户端 https://github.com/BeiDouMS/BeiDou-Server/releases,如果因为网络原因无法下载,可以使用fastgithub解决。
下载并解压文件。
进入文件夹,找到config.ini文件。
打开并修改其中的服务器地址为部署机器的地址,保存退出。
体验游戏
双击beidou.exe启动游戏。
输入账号 admin,密码 admin,就可以开始游戏了。
也可以在后台服务端新建账户,给兄弟玩儿。
关于内网穿透,异地组网,具备条件的朋友可以试试域名能不能用,不行的话可以使用节点小宝极空间里的节点小宝:无公网IP也能内网穿透,远程访问NAS!、或者星空组网一类的组网软件,大家玩儿才是真的玩儿。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

