Files
netease-modsdk-wiki/docs/mcguide/27-网络游戏/课程7:模板教学/第2节:小游戏服模板简介.md
2025-03-17 13:24:39 +08:00

235 lines
6.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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服的房间。