# 小游戏服模板简介
# 概述
这是常见的小游戏网络游戏模板,供开发者参考学习。
玩家进入游戏后来到大厅,大厅有5个npc。分别用于报名起床战争、购买飞行特权、购买外观商品、查看排行榜单、展示榜首玩家外观。
通过npc“报名专员”报名起床战争游戏,报名后进行匹配,匹配成功后进入起床战争,结算后将返回大厅。
起床战争结算时,胜场数以及总参与场数将更新到胜场排行榜,通过npc“榜单专员”可查看排行榜信息。每天0:00排行榜将结算,榜单前50的玩家将获得一定数量的积分券。每月1日0:00重置排行榜。
榜首玩家的形象将出现在大厅。
积分券可用于在“飞行专员”处购买30天飞行体验券或永久飞行券,也可用于在“外观专员”处购买部分外观。
游戏经过商业化审核后,可在左上角进入商城,通过钻石购买游戏币,游戏币可用于在“外观专员”处购买部分外观。
# 如何运行模板
- 步骤1:MCStudio——新建——基岩版网络服——小游戏模板。
- 步骤2:在基岩版服务器找到新建的模板,打开Mod目录,找到neteaseWars中的mod.sql,在远程开发机上执行mod.sql。
- 步骤3:部署网络服,部署完成后点开发测试,运行小游戏模板。
# 游戏功能说明
# 1、npc
名字 | 位置 | 数量 | 功能 |
---|---|---|---|
报名专员 | 大厅 | 1 | 报名起床战争 |
榜单专员 | 大厅 | 1 | 查看胜场榜单 |
飞行专员 | 大厅 | 1 | 购买飞行券 |
外观专员 | 大厅 | 1 | 购买时装、翅膀、坐骑、光环等外观资源 |
榜首形象 | 大厅 | 1 | 排行榜结算时,显示榜首玩家形象(初始无数据时不显示) |
# 2、报名
- 报名后,弹出等待信息栏。人数满4人后进入起床战争。
# 3、起床战争
- 起床战争复用基岩版组件——起床战争模板,每队人数改成2。
# 4、排行榜
- 按胜场数进行排序,最多显示50人。
- 每日0:00排行榜进行结算,前50的玩家可获得积分券。
- 每月1日0:00重置排行榜。
# 5、榜首形象
- 排行榜每日结算时,榜首玩家的形象将出现在大厅服。
# 6、飞行商店
- 飞行商店购买飞行体验券之后,就可以在大厅使用飞行功能。
# 7、外观衣柜
- 可在外观专员处打开衣柜,购买或更换时装、翅膀、坐骑、光环等资源。
# 配置说明
可通过修改、增加配置,丰富模板的游戏体验,说明如下:
在每个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。
neteaseBedwar\developer_mods\neteaseBedwar\script_World\worldServerSystem.py以及neteaseBedwar\behavior_packs\neteaseBedwarBehavior\script_World\worldServerSystem.py中,设置游戏规则的接口改成服务器API:SetGameRulesInfoServer。
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服的房间。
https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/WAR5.f387a305.png
进阶
60分钟