java游戏服务器框架之GM金手指的设计
玩过单机游戏的朋友,应该对金山游侠这个软件很熟悉把。小时候嫌刷怪升级非常辛苦,很多时候都是直接用金山游侠来修改游戏的经验或者等级内存,直接把角色调得很牛逼。
游戏开发也非常需要这些可以修改玩家数据的“金手指”。在游戏设计里,它有个更加专业的名称,叫GM(GameMaster)命令。
有了GM命令,我们就看好很方便让角色快速升级或者直接获取极品道具。当然,只要是数据,都可以有对应的GM命令,只要项目有需要。
下面,我们就来看一下GM系统的一种实现方式。
假设我们需要有一种指令,比如输入playerLv加一个数字表示要达到的等级,只要服务端受到这条指令,就直接将当前角色升到目标等级。不同的GM命令,指令的前缀和参数都是不同的,也就是说,每个指令都有自己固定的格式。在Java里,我们可以用正则表达式来定义这样的格式。
1.首先来看一些我们的gm命令抽象类,该类有几个作用,例如,定制具体的gm命令参数的格式,解析参数的方法,以及执行逻辑的方法。
/*** 抽象gm命令* */
public abstract class AbstractGmCommand {/*** 正则表达式模式* @return*/public abstract String getPattern();/*** 帮助文档* @return*/public abstract String
java游戏服务器框架之GM金手指的设计相关推荐
- ioGame 网络游戏服务器框架 (java)、java游戏服务器、netty 集群分步式的网络游戏服务器
ioGame 国内首个基于蚂蚁金服 SOFABolt 的 java 网络游戏服务器框架:无锁异步化.事件驱动的架构设计 通过 ioGame 可以很容易的搭建出一个集群无中心节点.有状态多进程的分步式游 ...
- java 分布式游戏服务器框架,集群游戏服务器框架,游戏服务器网关框架 ioGame 网络游戏服务器框架
网络游戏框架简介 ioGame 是一个由 java 语言编写的网络游戏服务器框架.支持 websocket.tcp ,适用于全球同服.回合制游戏.策略游戏.即时战斗等游戏服务器的开发.具有高性能.稳定 ...
- java游戏服务器开发之四--通讯框架netty
前言, 说明 引入netty的pom <!-- netty --><dependency><groupId>io.netty</groupId>< ...
- Java游戏服务器开发之概念扫盲
入行缘由 在2017年我正式的从web转Java游戏服务器开发.那个时候机缘巧合的投了一家使用Java语言开发游戏服务器的企业,当时的老板还问我为什么从web转游戏开发.当时我的回答还是历历在目:我喜 ...
- 游戏服务器框架概括分析
游戏服务器框架概括分析 关注公众号 风色年代(itfantasycc) 500G游戏开发资料随便拿! 这篇blog题目涉及的范围真大!以至于在这里需要先写一篇前言把范围缩小.选择写这样一个系列的文章, ...
- Java游戏服务器系列之Netty详解
今天带大家来学习Java游戏服务器的相关知识,文中对Netty作了非常详细的介绍,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下 一.简介 Java的底层API逐渐复杂,而开发者面对的 ...
- 高性能分布式游戏服务器框架
欢迎大家Fork mqant开源框架 为什么决定要重新造一个轮子? 目前网上优秀的开源游戏服务器框架也不少(当然与web框架比起来就少太多了),但总结起来都各有各的优缺点,下面列出我在选型过程中的一些 ...
- 开源游戏服务器框架汇总
转自:https://gameinstitute.qq.com/community/detail/133153 有哪些开源游戏服务器框架,值得学习呢.基于node.js .java.C#.golang ...
- java游戏服务器必备
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 对于一个新手,想接触游戏服务器,一定会有个疑问--使用Java开发服务器需要学习什么? Java语言,由于学习成本低,开发速度快,稳定 ...
最新文章
- GDAL2.1.1库在Ubuntu14.04下编译时遇到的问题处理方法
- .net后台获取html控件值的2种方法
- mysql 魔乐_MLDN 李兴华 魔乐科技网上最全笔记
- html写三角形,css3怎么写三角形?
- java语言编程基础_Java编程基础02——Java语言基础
- android 中空饼图控件,android饼状图内是空心的怎么做
- apple mach-o linker (id) error
- leetcode217. 存在重复元素(vip题)超简单
- 如何在Eclipse 3.3上安装jadclipse[java的反编译工具] 收藏
- java单链表基本操作 一,Java_实现单链表-基本操作
- highcharts.js两种数据绑定方式和异步加载数据的使用
- Lenovo E47A Ubuntu闪屏解决办法
- 【汇编语言】进制转换
- 大厂用的分库分表方案和demo源码,都在这里了!
- 让网站支持RSS订阅
- python 字段_python字典查询
- h5php大转盘抽奖,微信公众号H5抽奖幸运大转盘,PHP带后端,微信抽奖大转盘源码可以独立使用...
- 小米air2se耳机只有一边有声音怎么办_几款两百元以内的耳机使用体验
- OpenGauss一主一从搭建(全网最详细,最简单)
- 源码解析-深刻理解Hash HashTable HashMap原理及数据hash碰撞问题
热门文章
- Python基础之day03-字符串,列表,元组,字典
- mklink 参数使用
- cesium加载离线tms切片
- RHEL9.0 安全启动提示Verification failed: (0x1A) Secureity Violation解决方法
- Bilinear Filter
- Unity之OpenXR+XR Interaction Toolkit 安装和配置
- springSecurity实现登录验证
- list, vector, map, set 区别与用法比较
- mac java verbose_如何检查Mac上是否安装了Java JDK?
- 对表空间USERS无权限