feat:上传mcguide-开发指南部份

This commit is contained in:
Othniel su
2024-12-23 10:57:59 +08:00
parent 7292166c88
commit 0dc59fa4f0
3297 changed files with 63375 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

View File

@@ -0,0 +1,503 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/RPG4.5d1795e2.png
hard: 进阶
time: 60分钟
---
# 生存+RPG服模板简介
## 概述
这是常见的带生存元素的RPG网络游戏模板包含常见的功能供开发者参考学习。
玩家进入游戏后来到大厅通过npc可跳转到领地、副本、资源世界、珍稀资源世界四个场景。领地可实现地皮认领、传送、权限赋予等功能副本可挑战不同难度的npc资源世界相当于原版游戏的主世界珍稀世界相当于原版游戏的下界。上述场景有可以回到大厅的npc。
主菜单中包含属性、宝石、PVP、称号、摆摊、公会、排行榜、签到、聊天、好友等功能。
## 如何运行模板
- 步骤1MCStudio——新建——基岩版网络服——生存+RPG模板。
![](./images/RPG1.png)
- 步骤2在基岩版服务器找到新建的模板打开Mod目录找到neteaseRPGRawer中的mod.sql在远程开发机上执行mod.sql。
![](./images/RPG2.png)
- 步骤3部署网络服部署完成后点开发测试运行生存+RPG服。
![](./images/RPG3.png)
## 游戏功能说明
### 1、npc
| 名字 | 位置 | 数量 | 功能 |
| ------------- | ------------ | -------- | ---------------- |
| 管家 | 大厅 | 1 | 前往领地 |
| 旅行者 | 大厅 | 1 | 前往资源世界 |
| 灵魂引导者 | 大厅 | 1 | 前往珍稀资源世界 |
| 镜像冒险家 | 大厅 | 1 | 前往副本 |
| 管家·返 | 领地 | 1 | 返回大厅 |
| 旅行者·返 | 副本 | 1 | 返回大厅 |
| 灵魂引导者·返 | 资源世界 | 1 | 返回大厅 |
| 镜像冒险家·返 | 珍稀资源世界 | 1 | 返回大厅 |
| 武器商人 | 大厅 | 1 | 购买武器升级道具 |
| 宝石商人 | 大厅 | 1 | 购买宝石升级材料 |
| 道具商人 | 大厅 | 1 | 购买回血道具 |
| 呆子村长 | 大厅 | 1 | 无 |
| 领地管家 | 每块地皮中间 | 地皮数量 | 认领地皮 |
### 2、主菜单
- 其中PVP功能只能在珍稀资源世界中打开摆摊功能只能在大厅、领地中打开。
![](./images/RPG4.png)
### 3、自定义内容
- 游戏中有三种货币:银币、探险值、公会勋章。银币暂无投放途径,可用于玩家之间摆摊交易以及购买药水。探险值来源于每日副本,可用于购买装备。公会勋章来源于每日排行榜结算奖励,可用于购买宝石。
![](./images/RPG5.png)
![](./images/RPG6.png)
![](./images/RPG7.png)
### 4、领地
- 与地皮中的npc对话可完成地皮认领。
![](./images/RPG8.png)
- 点击主菜单“领地”按钮,完成权限操作、领地传送。
![](./images/RPG9.png)
![](./images/RPG10.png)
### 5、战斗属性
- 点击主菜单“属性”按钮,可查看总属性。
![](./images/RPG11.png)
- 等级提升、装备、宝石以及称号都会带来属性提升。
- 无源伤害需要开启在资源世界跌落、窒息和岩浆伤害是原版的3倍。在珍稀资源世界跌落和岩浆伤害是原版的5倍。
### 6、PVP
- 在珍稀资源世界强制开启PVP功能其余场景无法开启PVP功能。
![](./images/RPG12.png)
- 在珍稀资源世界死亡后,背包中的以下物品将掉落:灵魂沙、萤石、恶魂之泪、烈焰棒、岩浆膏。
### 7、副本
- 需在组队状态下且队伍人数1~3可进入副本。
- 副本有5个难度不同难度的副本具有进入等级要求。
- 不同难度的副本,怪物属性、击杀数量要求、副本时间、结算奖励不同。
![](./images/RPG13.png)
### 8、组队
- 包括创建队伍、队伍操作、搜索队伍等功能。
![](./images/RPG14.png)
### 9、称号
- 可用于展示所有称号并管理已获得的称号。
![](./images/RPG15.png)
### 10、摆摊
- 可在大厅、领地召唤npc进行摆摊上架物品。
![](./images/RPG16.png)
![](./images/RPG17.png)
- 每小时会收取一定的摆摊费用。
- 可以点击其他玩家召唤的摆摊npc购买商品。
### 11、签到活动
- 以一周为周期,每天登陆后可在活动界面领取当天的签到奖励。
![](./images/RPG18.png)
### 12、公会
- 包括公会的创建、邀请、退出、搜索等基本操作。
![](./images/RPG19.png)
![](./images/RPG20.png)
### 13、聊天
- 通过主菜单的“聊天”按钮进入。
![](./images/RPG21.png)
- 与原版聊天相比,增加本地、世界两个频道的聊天内容。本地表示当前服务器,世界代表所有服务器。
![](./images/RPG22.png)
- 支持物品超链接,可把物品栏中的物品描述发送到聊天栏中。
![](./images/RPG24.png)
- 可在聊天栏中选中玩家并加为好友或私聊。
![](./images/RPG23.png)
### 14、排行榜
- 全服排行榜,榜中有两列,分别记录公会名称、公会人数,排行榜按公会人数排序。
- 前20名的公会将上榜。
- 每天21:00排行榜结算。奖励将通过邮件发送到获奖公会的全体成员。
![](./images/RPG25.png)
### 15、好友
- 包括好友添加、删除、聊天功能。
![](./images/RPG26.png)
![](./images/RPG27.png)
### 16、运营日志
- 实际运营中,运营日志必不可少,本模板选取了一部分进行记录,我们建议开发者尽可能详细地记录网络游戏运营日志,以便发现问题。
- 领地进入与认领情况1进入领地时记录角色ID。2认领领地时记录角色ID。
- 副本参与、完成情况1进入副本时记录副本难度、组队人数、角色ID。2完成副本时记录副本难度、组队人数、角色ID。
- 商店购买情况1在武器、宝石、道具商店购买商品时记录购买的物品类型、数量、角色ID。
- 公会参与情况1加入公会时记录角色ID、公会ID。2离开公会时记录角色ID、公会ID。3每日排行榜结算时记录排行榜前20的数据。
- 摆摊情况1开始摆摊时记录角色ID。2打开别人摊位时记录浏览者ID、摊主ID。3购买物品时记录购买者ID、摊主ID、出售物品、数量、单价、总价。
- 死亡记录1死亡时记录角色ID、所在维度。
- 升级记录1升级的时候记录角色ID、升到的等级。
- 属性记录1角色离开游戏时记录角色ID各项战斗属性及其数值。
## 配置说明
可通过修改、增加配置,丰富模板的游戏体验,说明如下:
### 1、官方Mod配置
- 在每个developer_mods中的mod.json文件对官方插件的内容进行修改、增加。
- 在neteaseBattle\behavior_packs\neteaseBattleBehavior\neteaseBattleScript\fmt.py文件对自定义装备、物品的描述进行修改、增加。
### 2、模板内容配置
- 自定义物品、生物放在neteaseRawer\behavior_packs目录下。
- 升级消耗经验及属性放在neteaseRawer\behavior_packs\neteaseRawerBeh\neteaseRawerScript\commonConfig\rawerAttrConfig.py。
- 副本常规设置放在neteaseRawer\behavior_packs\neteaseRawerBeh\neteaseRawerScript\commonConfig\rawerBattleConfig.py。
- 副本怪物属性放在neteaseRawer\behavior_packs\neteaseRawerBeh\neteaseRawerScript\commonConfig\rawerMonsterConfig.py。
- 货币、药水、宝石、装备属性等内容放在neteaseRawer\behavior_packs\neteaseRawerBeh\neteaseRawerScript\commonConfig\rawerItemConfig.py。
- 排行榜奖励放在neteaseRawer\behavior_packs\neteaseRawerBeh\neteaseRawerScript\commonConfig\rawerRankConfig.py。
## 插件代码说明
为了实现本模板,我们添加了一些核心代码统筹各个官方插件,另外还对官方插件做了一些调整。如果开发者愿意通过代码对本模板进一步了解,可仔细阅读以下部分。
### 1、公告
- 修改setlayer逻辑让界面堆叠更合理
### 2、面板描述
- 无修改
### 3、战斗系统
- fmt.py配置了新增装备
- 修改setlayer逻辑
- mod.json不配置物品
- battlePlayer中def GetAllAttribute(self):将称号属性包含
- battleDamageMgrServer中加了设置无源伤害倍率的功能添加了杀死一个怪物的函数接口
- battleGameObjMgrServer将离线时将属性记录在运营日志中
- battleServerSystem设置怪物属性、装备属性提供了除了在mod.json中配置之外的另外一种方案
### 4、聊天
- 修改setlayer逻辑让界面堆叠更合理
### 5、云端玩家信息
- 无修改
### 6、每日登陆
- 修改setlayer逻辑让界面堆叠更合理
- dailyServerSystem增加每日功能尚未领取判断
### 7、副本
- 修改setlayer逻辑让界面堆叠更合理
### 8、好友
- 修改setlayer逻辑让界面堆叠更合理
### 9、公会
- 取消原有入口,入口改到主菜单
- 修改setlayer逻辑让界面堆叠更合理
- 增加获取所有公会成员接口,用于排行榜发奖
- 运营数据记录加入公会时记录角色ID、公会ID离开公会时记录角色ID、公会ID每日排行榜结算时记录排行榜前20的数据
### 10、宝石
- 修改setlayer逻辑让界面堆叠更合理
### 11、称号
- 无修改
### 12、主菜单
- menu初始化界面完成之后给主逻辑一个事件然后主逻辑才能设置按钮的是否可按状态否则会失败
- 原生menu控件的点击按钮响应是直接发送给了按钮控件的服务端mod处理改写后直接把事件发送给了主逻辑然后在主逻辑里面处理是直接显示界面
### 13、功能NPC
- 无修改
### 14、pvp
- 增加了锁定pvp功能
### 15、排行榜
- 修改setlayer逻辑让界面堆叠更合理
- 增加结算逻辑
### 16、领地
- 认领、进入领地时记录玩家ID运营日志
- ResidenceMyUI中隐藏新建、改建领地入口
- 修改setlayer逻辑让界面堆叠更合理
- residenceGasMgr中增加地皮构建逻辑InitRawerResidence增加了初始地皮无属主的逻辑增加了认领地皮的逻辑增加了不允许新建、改建领地的提示
### 17、队伍
- 调整队伍插件UI位置使其和聊天插件界面不冲突
- OnPosDataToAllMembersReq队长主导开始进入副本服后向所有队员发送事件队员也会一起开始转服进对应的副本
### 18、摆摊
- 在npc商店购买时记录相关运营日志
- 开始摆摊时、打开别人摊位时、在别人摊位购买时记录运营日志
- tradeMgr中维护已连接的服务器ID在摊位过期的时候能广播给server然后server能够去掉对应的摊位NPC
## 核心代码说明
### 1、neteaseRawer——game服通用
- behavior_packs
1副本中怪物的行为、属性配置
2角色属性配置
3各等级副本的通关要求、开放等级配置
4各种物品的属性、tips配置
5排行榜奖励配置
6副本选择、积分、进入、结算界面
7主菜单按钮状态、提示
8各类自定义物品、合成配方
9领地、资源世界、珍稀资源传送平台结构
- develop_mods
1游戏各种主要逻辑包含但不限于角色、怪物属性设置升级加经验复活玩家登录、离开服务器使用物品 死亡,货币变化。
- resource_packs
1各种自定义物品、NPC的外观、贴图资源
- worlds
1不包含具体地图
### 2、neteaseRawerOverload——领地game服
- behavior_packs
1购买领地
- develop_mods
1购买领地
2设置出生点、游戏模式、难度
- worlds
1领地地图
### 3、neteaseRawerMine——资源世界game服
- behavior_packs
1通用代码
- develop_mods
1设置不同资源世界的伤害系数
2设置出生点、游戏模式、难度
- worlds
1原版资源世界地图的主世界和下界无需新增地图
### 4、neteaseRawerGame——副本game服
- behavior_packs
1通用代码
- develop_mods
1副本各种主要逻辑玩家进入副本、怪物死亡结算、玩家死亡计算、玩家复活、离开副本
2设置出生点、游戏模式、难度
- worlds
1副本地图
### 5、neteaseRawerLoby——大厅服
- behavior_packs
1通用代码
- develop_mods
1大厅各种主要逻辑开启主城保护禁止主城刷怪加载NPCNPC打开功能界面以及具体跳转功能召集队员进副本
2设置出生点、游戏模式、难度
- worlds
1大厅地图
### 6、neteaseRankService——功能服
- behavior_packs
1排行榜计算、结算、发奖。

View File

@@ -0,0 +1,234 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/WAR5.f387a305.png
hard: 进阶
time: 60分钟
---
# 小游戏服模板简介
## 概述
这是常见的小游戏网络游戏模板,供开发者参考学习。
玩家进入游戏后来到大厅大厅有5个npc。分别用于报名起床战争、购买飞行特权、购买外观商品、查看排行榜单、展示榜首玩家外观。
![](./images/WAR1.png)
通过npc“报名专员”报名起床战争游戏报名后进行匹配匹配成功后进入起床战争结算后将返回大厅。
起床战争结算时胜场数以及总参与场数将更新到胜场排行榜通过npc“榜单专员”可查看排行榜信息。每天000排行榜将结算榜单前50的玩家将获得一定数量的积分券。每月1日000重置排行榜。
榜首玩家的形象将出现在大厅。
积分券可用于在“飞行专员”处购买30天飞行体验券或永久飞行券也可用于在“外观专员”处购买部分外观。
游戏经过**商业化审**核后,可在左上角进入商城,通过钻石购买游戏币,游戏币可用于在“外观专员”处购买部分外观。
## 如何运行模板
- 步骤1MCStudio——新建——基岩版网络服——小游戏模板。
![](./images/WAR2.png)
- 步骤2在基岩版服务器找到新建的模板打开Mod目录找到neteaseWars中的mod.sql在远程开发机上执行mod.sql。
![](./images/WAR3.png)
- 步骤3部署网络服部署完成后点开发测试运行小游戏模板。
![](./images/WAR4.png)
## 游戏功能说明
### 1、npc
| 名字 | 位置 | 数量 | 功能 |
| -------- | ---- | ---- | ---------------------------------------------------- |
| 报名专员 | 大厅 | 1 | 报名起床战争 |
| 榜单专员 | 大厅 | 1 | 查看胜场榜单 |
| 飞行专员 | 大厅 | 1 | 购买飞行券 |
| 外观专员 | 大厅 | 1 | 购买时装、翅膀、坐骑、光环等外观资源 |
| 榜首形象 | 大厅 | 1 | 排行榜结算时,显示榜首玩家形象(初始无数据时不显示) |
### 2、报名
- 报名后弹出等待信息栏。人数满4人后进入起床战争。
![](./images/WAR5.png)
### 3、起床战争
- 起床战争复用基岩版组件——起床战争模板每队人数改成2。
![](./images/WAR6.png)
### 4、排行榜
- 按胜场数进行排序最多显示50人。
- 每日000排行榜进行结算前50的玩家可获得积分券。
- 每月1日000重置排行榜。
![](./images/WAR7.png)
### 5、榜首形象
- 排行榜每日结算时,榜首玩家的形象将出现在大厅服。
![](./images/WAR8.png)
### 6、飞行商店
- 飞行商店购买飞行体验券之后,就可以在大厅使用飞行功能。
![](./images/WAR9.png)
![](./images/WAR10.png)
### 7、外观衣柜
- 可在外观专员处打开衣柜,购买或更换时装、翅膀、坐骑、光环等资源。
![](./images/WAR11.png)
## 配置说明
可通过修改、增加配置,丰富模板的游戏体验,说明如下:
- 在每个developer_mods中的mod.json文件对官方插件的内容进行修改、增加。例如外观商店、飞行功能、飞行商店、排行榜等内容
- 自定义物品、货币放在neteaseWars\behavior_packs\netease_items_beh之下。
## 插件代码说明
为了实现本模板,我们添加了一些核心代码统筹各个官方插件,另外还对官方插件做了一些调整。如果开发者愿意通过代码对本模板进一步了解,可仔细阅读以下部分。
### 1、飞行插件
- neteaseFly\developer_mods\neteaseFlyDev\neteaseFlyScript\flyServerSystem.py中OnFlyStateChange增加是否可飞行的判断。
### 2、匹配插件
- neteaseMatch\developer_mods\neteaseMatchDev\neteaseMatchScript\matchServerSystem.py中OnMatchResult增加申请游戏房间操作。
### 3、排行榜
- neteaseRankService\developer_mods\neteaseRankDev\neteaseRankScript\rankDataManager.py中realRankAward增加发奖、每月重置功能。
### 4、起床战争
- 新建起床战争模板再将其转化成网络服mod。
![](./images/WAR13.png)
![](./images/WAR12.png)
- neteaseBedwar\developer_mods\neteaseBedwar\script_World\worldServerSystem.py以及neteaseBedwar\behavior_packs\neteaseBedwarBehavior\script_World\worldServerSystem.py中设置游戏规则的接口改成服务器APISetGameRulesInfoServer。
- neteaseBedwar\developer_mods\neteaseBedwar\script_Team\editorConfig.py以及neteaseBedwar\behavior_packs\neteaseBedwarBehavior\script_Team\editorConfig.py中设置队伍人数。
- neteaseBedwar\developer_mods\neteaseBedwar\script_EndLogic\editorConfig.py以及neteaseBedwar\behavior_packs\neteaseBedwarBehavior\script_EndLogic\editorConfig.py中将每局结束清空背包设为True。
- neteaseBedwar\script_Team\modServer\serverSystem\teamServerSystem.py 中,根据匹配的结果来分队,而不是按照进入游戏的先后顺序分队。
- neteaseBedwar\developer_mods\neteaseBedwar\script_StartLogic\startLogicServerSystem.py中增加开局逻辑开局逻辑将在核心代码说明中介绍。
- neteaseBedwar\developer_mods\neteaseBedwar\script_EndLogic\endLogicServerSystem.py中增加游戏中途退出的处理逻辑增加结算、发奖逻辑结算逻辑将在核心代码说明中介绍。
- neteaseBedwar\script_Currency\modServer\serverSystem\currencyServerSystem.py中增加一个集合用于记录当前服务器参与起床战争的玩家若加入游戏则进入该集合若退出游戏则从该集合中移除。集合中的玩家定期将背包中的货币更新到界面中。
## 核心代码说明
### 1、neteaseWars
- game服、lobby服通用
- behavior_packs
1两种飞行体验券、两种货币配置。
2起床战争中增加离开逻辑增加结算显示逻辑。
3从大厅进入起床战争之前增加二次确认功能。若玩家选择确认则向服务器发起申请游戏房间请求。
4对于新增的两种飞行体验券以及两种货币双击物品栏将使用该位置全部堆叠物品。
5榜首形象设置。
- develop_mods
1控制大厅服npc创建。
2进入、离开起床战争的服务器跳转。
- resource_packs
1各种自定义物品、界面资源
- worlds
1不包含具体地图
### 2、neteaseWarsLobby
- lobby服通用
- worlds
1大厅服地图
### 3、neteaseWarsLobbyService
- 功能服通用
- develop_mods
1统筹管理各个game服的房间。