Fix: 物品管理按类型筛选列表为空的问题,并同步 Library 子模块到 main
补充说明:
把 c750f57 的热刷新行为(SEnvir.cs +27 / SConnection.cs +4)写进去,否则 reviewer 只看标题会漏掉一个运行期行为变更;
给 RefreshDbSystemFileIfChanged() 加锁,并把 mtime 的读取挪到 ReadAllBytes 之后;
可选优化:循环外 Enum.TryParse 一次,别每项 ToString();
皓石传奇三- 服务器 Zircon Mir3 Server
本开源项目仅供学习游戏技术,禁止商用以及非法用途。
本项目主站为 Github-晧石传奇三,其他平台均为镜像。 版本发布只放在主站上!
项目背景
本项目从吉米 2019 年流传出来的 Zircon 版本发展而来, 为了提高部署效率,将服务器做成了跨平台可docker的版本。
原版服务器依赖商业组件 DevExpress 且不支持跨平台, 因此连同windows管理界面一同剥离出去,另行提供了自研web管理后台。
喜欢本项目的话请 点个星
技术交流请进: 【QQ群①:915941142】 【QQ群②:1076553894】
游戏简介
完整的传奇三游戏
-
地图和道具及其丰富,玩到五转100级没压力;
-
技能正常修炼到3级以后,还可通过打出高等级技能书一直升到 6级;
-
武器和首饰均可精炼,品质高的装备精炼上限也更高;
-
武器除了普通精炼外,还增加了大师精炼、特殊精炼、深虎滩精炼,打造自己的专属武器!
-
法师招宠与道士的宠物最高可升至暗金等级,各项属性翻倍,非常实用;
-
刺杀剑术破防之余,技能等级越高,刺杀剑术的攻速越快,爽之又爽;
-
法师四大元素各有特色:火系攻速快、风系破防、雷系广覆盖、冰系减速。
支持多平台部署
服务端支持在 Linux、Windows、Docker 平台上部署。
便捷传送
服务器部署
下载运行依赖的数据文件
包含了地图数据比较大,压缩之后仍然有近 800Mb,因此只能放在网盘中。
【百度网盘】
由于网盘总被和谐,这份运行依赖数据我也保存到了 QQ 群文件中,【QQ群①:915941142】【QQ群②:1076553894】
内置账号: zrf@zrf.zrf、raphael@gm.gm ,密码均为 123456 , 可直接登录游玩。
其中 raphael@gm.gm 为管理员账号,包含了三个管理员角色 raphael01、raphael02、raphael03 管理员密码为 123456 。
你也可以把user.db删除,直接新建账号 raphael@gm.gm 会默认具备管理员权限。
去版本 发布页面 下载最新的服务器配置文件Server.ini,根据需要修改服务器 IP 以及端口。
部署游戏服务
-
推荐用 docker-composer 部署。
镜像名称:raphzhang/zirconlegend:latest,每次发布都会更新到 docker。
注意要将上一步下载来的运营数据解压后映射到容器的/zircon/datas目录。
配置文件Server.ini同样映射到容器的目录/zircon/datas下。
services:
zircon:
container_name: zircon
image: raphzhang/zirconlegend:latest
networks:
1panel-network:
ipv4_address: 172.18.0.82
ports:
- 192.168.0.3:7000:7000
- 192.168.0.3:7080:7080
restart: unless-stopped
user: "0:0"
volumes:
- ./datas:/zircon/datas
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
version: "3"
networks:
1panel-network:
external: true
端口 7000 是游戏服务端口,客户端连这里;
端口 7080 是web管理后台端口,浏览器可直接访问。
成功运行后能看到类似下面的输出就表示运行成功:
皓石传奇三 v1.9.0.25852
免费开源的传奇三,技术交流进QQ群 915941142
客户端更新路径:
地图文件路径:./datas/Map/
最大连接数量限制:200
[2025-01-28 14:37:52]: 网络已启动.
[2025-01-28 14:37:52]: Web 服务已启动.
[2025-01-28 14:37:52]: 转生玩家死亡优化:True
[2025-01-28 14:37:52]: 幽灵船通向地图:神舰入口
[2025-01-28 14:37:52]: 地狱之门通向地图:赤龙城入口
[2025-01-28 14:37:52]: 加载耗时: 3 秒
-
Windows 10 部署
新建一个英文名服务器根目录,从 发布页面 下载运行包解压到根目录下。
根目录下建立一个子目录datas。
把前面下载的运营数据解压连同配置文件Server.ini放入子目录datas中。
用管理员权限运行根目录的Server.exe。
配置自动更新
-
要实现客户端的自动更新,要求 启动器、客户端、服务器的版本均在 v1.0.0 以上。
-
首先保证服务器是停止运行的状态。
-
以服务器 Windows10 为例,在
datas目录下创建一个Client目录,将需要更新的客户端文件都放入其中。 -
修改配置
Server.ini:
[System]
ClientPath=./datas/Client
-
启动服务器后,会先扫描生成更新清单,这样服务器就准备好了。
-
如果需要更新启动器
Launcher.exe,同样放入Client目录即可更新。
反向代理
如果你设置了Nginx反向代理游戏流量从而导致游戏服务器获取不到真实客户端 IP。
你需要在Nginx上开启proxy_protocol,同时打开服务器的配置项:
[Network]
UseProxy=True
这样服务器就能获取到转发流量的真实 IP 地址。
Webhook事件通知
服务器会在触发重要事件时,自动调用自定义webhook,通过支持webhook的APP直接通知到你的手机上。
GM 管理
【GM命令使用指南】
客户端
获取客户端去这里看 【ZirconLegend-Client】
服务器 代码编译
开发环境依赖:
-
Microsoft Visual Studio Community 2022
-
.Net 8.0
安装这些后拉取全库代码。
项目包含了子模块,拉取的时候要选中Recursive。
这样才能把子模块一并拉取下来。
如果还是拉不下子模块,
可以把【ZirconLegend-Library】拉下来,
然后移动到Library目录下。
项目的编译依赖都已预设好,直接编译即可







