自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)

原创 登录系统——分布式系统实现游戏不分区思路
原力计划

目录前言服务器方面共用帐号服务器游戏服务器分流其它频道玩家交互安卓IOS用户同区数据库分流登录系统UserController用户接口UserFacadeImpl实现类QQ_GAME渠道解析类充值系统充值接口支付回调接口支付校验前言这些天在看项目的登录功能,思考游戏如何实现所有玩家同区,服务器满人不能和朋友一起玩,开新区会减少老区玩家会流失,还有一区情节等,也有人喜欢去新服新生态重新开始,但总体来说我认为弊大于利。服务器方面共用帐号服务器有些每个服务器上都有web服,游戏服,每个区玩家绑定很难实现

2020-07-05 13:24:02 262

原创 提升服务器性能,内存大幅度优化!!

目录前言数据结构优化内存数据优先读内存减少数据库交互缓存队列自动入库提高内存使用效率用户登出数据清理尽量只操作在线用户用户登录更新客户端本地处理前言功能大家都能实现,服务器性能优化可以提供用户体验,公司上个游戏是用C++写的pc端游,玩家多时服务器可能出现内存溢出的情况,现在做手游吸取经验做了不少优化数据结构玩家数据基本在player用户表,其余帮派、宠物、物品、活动管理,服务器配置等表优化内存数据服务器优化主要是内存优化,提高内存使用效率,不仅只是游戏,web项目优化没做好,有时页面交互卡个几

2020-07-04 14:48:32 136

原创 事件系统的设计方法

目录前言事件实体GameEvent消息派发类型线程池事件派发管理创建角色方法触发事件方法线程调度DispatchHelper事件派发环境事件监听器ASM字节码方法事件执行线程前言事件触发用了阵子,有时间看看源码一起学习,内容比较多,简单代码只贴部分,选了创建角色事件走遍流程,下面是JAVA代码事件实体GameEventpublic abstract class GameEvent { /** 派发类型 */ private int dispatchType; /** 事件的key {@code

2020-07-04 04:20:22 85

原创 数据结构和算法浅读

目录哈希HashingHash Map哈希碰撞哈希HashingHash MapHash Map 是一种能够建立起键与值之间关系的数据结构,Hash Map 能够使用哈希函数将键转化为桶或者槽中的下标,从而优化对于目标值的搜索速度。哈希碰撞哈希能够将任意长度的数据映射到固定长度的数据。哈希函数返回的即是哈希值,如果两个不同的键得到相同的哈希值,即将这种现象称为碰撞。...

2020-06-28 16:05:07 52

原创 实现类似王者荣耀的战令功能

目录前言需求文档活动时间管理战令商店玩家战令管理数据结构功能接口领取奖励购买战令道具完成战令任务战令经验积分战令重置前言第二次遇到类似的需求,记录下来供以后参考。需求文档任务可拆分为玩家战令管理类,战令积分兑换的商店类,以及活动时间管理类活动时间管理活动时间是服务器字段,新建管理类详情请看:链接: 定时器管理活动战令商店战令积分做成货币形式,详情请看:链接: 游戏商店系统玩家战令管理数据结构{ "token" ,"mediumblob" ,{ rewardlist

2020-06-22 16:55:50 151

原创 跨服夺矿战——java游戏服务器功能

开头以前开发的游戏活动,在普通的游戏活动上添加了跨服玩法,需要用到世界服务器中转,提供思路给大家参考功能简单介绍就是以帮会为组织的攻城类玩法,首先对服务器进行分组,每组的服务器玩家共同开采矿产,互相争夺矿产主权1、主要数据结构public class MineGamer { /** * 跨服国战分组id */ private int groupId; /** * 区服标志 */ private int serverType; /** * 服务器ID *

2020-06-19 01:38:58 68

原创 成就系统

目录简介及需求数据结构数据库数据数据内容成就设计成就配置成就管理成就事件成就触发成就验证及统计成就达成及领奖累计重置总结简介及需求成就系统是游戏常见的功能模块,主要就是在用户达成某种条件时进行判定记录成就,难点在于嵌入各种各样的其它功能。数据结构数据库数据--保存数据字段{ "achievement" ,"mediumblob" ,{ achievements = {}, point = 0, pointReward = {}, countdata =

2020-09-03 10:28:00 27

原创 简单的每周限时活动管理

目录前言每周活动限时管理时间数据设置活动开始和结束时间定时器管理活动状态羹火活动示例前言当接到一个需求当时候,首先会想到有没有类似功能,或者当以后再接到这类功能时如何处理,这次接到一个每周限时活动的任务,把具有共通点的活动时间统一管理,以后写活动只需专注自己的功能即可每周活动限时管理需求:活动日程为每周x日x点到y点时间数据时间放在全局配置表,对应活动id--全局变量SettingConfig.SettingType = { LuckyShop = 1, --幸运商店 Toke

2020-07-17 10:16:03 21

原创 如何在工作中提升自己

目录前言记录技术笔记努力完成工作任务提高工作效率劳逸结合遇到难题时调整心态学习使人进步记录工作笔记程序员学习方法优化项目学习优秀技术遇到bug时调整心态读他人优秀的代码前言工作几年之后和刚入职感受差距还是蛮大的,去年月薪涨7k,应该是涨幅最大的一次,分享下自己的工作感受记录技术笔记这个真的很重要放前面,工作中常用的功能,工具,解决方法要记录。很多人写完功能代码,过段时间自己忘记看不懂。有时新功能没提交被误删,重写没啥印象实现的时间差不多。学习也是如此,当时懂了就要记录下来。现在你还记得自己上个月学

2020-07-05 00:17:23 35

原创 任务系统解析
原力计划

目录前言TaskParser任务解析类AbstractTaskParser实现类具体任务实现添加好友任务TaskFacade任务接口TaskFacadeImpl任务实现类前言任务有主线,日常,也有和活动相连的活动任务,很多项目用得到,例如饿了吗接单,消费等任务TaskParser任务解析类这里和活动有区别,任务实现类统一管理任务,各任务解析器触发任务事件public interface TaskParser { /** * 初始化 * @param task * @param tas

2020-07-04 22:10:39 33

原创 活动系统解析

目录前言ActivityParser活动解析接口AbstractActivityParser活动解析抽象类具体活动实现ScheduleCronJob活动调度器前言活动分为限时活动和永久活动,活动开放时间读取活动配置表,我们来看下通过活动解析器管理活动类ActivityParser活动解析接口/** * 活动解析接口 * @author CharonWang */public interface ActivityParser extends OnEventListener { /** *

2020-07-04 19:42:31 65

原创 骚操作!使用二进制模型,仅靠0和1保存数据

目录前言测试效果项目使用需求功能接口服务器测试结果嵌入功能前言需要在属性表配置用户环境变量的字段,为了节省内存空间,主管让我用一个字段记录多个数据状态,开始用表结构,但客户端不支持,就想到二进制数值保存数据测试效果先简单测试了下使用效果,数据很直观,代码如下图:活动奖励储存:以前的用法是rewardlist表储存已领取奖励列表也很方便,用数值的话更省空间示例:奖励列表有7个id。表结构{1,2,4,6},对应二进制数字0101011(43)打印方法--10进制转二进制。n需要转的数,m几位

2020-06-30 20:08:47 112

原创 SVN常用操作

1、安装SVNsvn下载地址没勾选idea上集成svn的时候会找不到 svn.exe 而报错2、IDEA集成SVN连接svn资源库路径即可3、项目常用操作create repository:创建资源仓库路径svn checkout:检出资源库项目文件svn update:更新文件svn commit:提交文件add:增加文件delete:删除文件show log:文件修改日志diff:比较差异Branch/Tag:创建分支项目Merge

2020-06-29 23:18:22 47

原创 组队和公会系统的功能实现

前言组队数据结构玩家队伍数据组队功能组队事件创建队伍申请加入队伍邀请加入队伍响应邀请踢出队伍离开队伍获取组队目标下的队伍列表更改组队设置帮派数据结构公会类基本结构公会管理类玩家公会类帮派活动示例放一起讲是觉得这两个功能比较类似,区别是公会数据保存在数据库里组队数据结构服务器队伍类,组队数据仅在内存中使用,如果做成支付宝种树,叠猫猫那类持久组队,可以新建张数据表function TeamMgr:Init() self.teamlist = {} self.singlePersion = {}en

2020-06-28 12:01:44 70

原创 Spring TaskScheduler实现定时任务分析

目录实现类使用方法ThreadPoolTaskScheduler实现ScheduledExecutorServiceScheduledThreadPoolExecutor实现ScheduledFutureTask重复任务delayedExecute执行任务定时器任务使用有一阵子,抽空看源码学习下实现类实际上还是ThreadPoolTaskScheduler的方法,只是封装了一层更适合项目使用@Componentpublic class Schedule { @Autowired private

2020-06-28 02:31:35 62

原创 配置文件的几种读取方式(Java和Lua)

配置文件的几种读取方式前言Java读取json配置文件配置文件数据配置文件的读取读取接口功能实现配置文件的解析文件解析热更配置文件实现方法Java读取properties配置文件配置文件数据读取文件方式解析方式配置文件的几种读取方式前言Java读取json配置文件配置文件数据配置文件的读取读取接口功能实现配置文件的解析文件解析热更配置文件实现方法Java读取properties配置文件配置文件数据读取文件方式解析方式前言在工作中为了方便项目管理,通常会用到配置文件,以前用的都是配置excel表格转成j

2020-06-21 16:55:01 143

原创 游戏活动的自动循环——定时器管理

功能简介:活动管理是后面写的我也就拆分开来说了。这是现在的活动表,以前配置每期的开启到结束时间,不过那样每期的时间都得手动控制,现在是做成自动循环的形式。1、数据结构需要记录开始时间和结束时间,为了后续方便,我加了战令活动期数data={startTime=startTime,endTime=endTime,season=season}服务器启动初始加载全局配置表的数据--战令活动时间管理local TokenTimeMgr = {}function Toke...

2020-06-19 19:04:27 120

原创 游戏商店系统

开头根据原来项目的商店和需求整合了商城系统,记述下开发的思路需求普通的商店功能,但为了后续更有效的添加商店,做了优化处理

2020-03-20 16:11:25 168

原创 好友及聊天功能

开头用户交流是很多软件必备的功能,最近接到策划的新需求开发好友系统,下面分享我实现好友功能的具体方式好友数据 数据库结构{ "friend_data" ,"mediumblob" ,{ myfriend = {}, blacklist = {}, applylist = {}, delfriendlist = {}, isRefuseApply = false,} ...

2020-01-17 16:31:24 292

原创 对接常用的工具方法,request转map,转签名字符串等

对接渠道经常会用到,将request转成map集合以前网上找了个很长,这次渠道自带的方法很舒服,就更新了@RequestMapping(value = "/deliver", method = { RequestMethod.POST, RequestMethod.GET }) public void deliver(HttpServletRequest request, HttpSe...

2019-08-27 16:31:21 59

原创 bat脚本简化操作

一些常用的操作可以封装成脚本,将excel文件转json文件,策划更新配置文件后,需要给客户端导表,hhh感觉我又在干运维的活。全渠道更新同理服务器端配置分为热刷脚本和大版本更新,热刷只更json配置文件版本更新需要打jar包,并进行停服更新更新文件提交给运维,当然我们也可以自己部署hhh开发新功能需要更新jar包,建立版本分支,这里是发布版本给测试服提测 可以...

2019-05-31 02:17:00 86

原创 对接微信支付通道接口

微信的支付通道调起来比支付宝麻烦多了首先引入工具包再把证书放到项目文件夹下再把证书放到项目resources目录下的cert文件夹下设置微信的配置参数appid,appsecret,MchID,key这几个参数要注意,很容易出错,签名错误问题卡了好久补一个获取秘钥的工具类public class OurWxPayConfig implements WXPayCon...

2019-01-10 21:51:01 867 2

原创 对接支付宝支付通道接口

最近公司接的项目到了后期,我负责结算这块对接了支付宝和微信的支付通道,支付宝接口比微信调起来舒服的多首先商户在蚂蚁金服开发平台申请开发权限,配好密钥下载支付宝工具jar包,然后对接相应的接口这几个都是固定的 //请求地址 private static String URL = "https://openapi.alipay.com/gateway.do"; //支付宝分...

2019-01-10 11:04:55 3606 2

原创 linux常用命令

一丶部署一般情况下进入tomcat/bin路径下shutdown.sh关闭,再放入项目文件启动即可./shutdown.sh但有时候关闭失败需要杀死进程,首先输入下面命名获取进程号ps -ef|grep tomcatkill -9 18405这个时候再传输项目文件到tomcat/webapps文件下,最后启动即可./startup.sh热刷 j...

2018-11-06 15:53:59 416

原创 bootstrapTable分页查询未返回第一页的解决方法

问题在于查询时还保留了以前的信息,导致当前页获取数据条数为0,参考一些方法后解决了这个问题,在点击查询按钮时销毁原表格,重新加载就行$('#search').on('click', function() {    $("#table").bootstrapTable('destroy');  // 销毁原表格    //初始化表格    $table.bootstrapTable({ ...

2018-11-06 15:20:17 1536

laydate.js日期控件

请千万勿移动laydate中的目录结构,它们具有完整的依赖体系。使用时,只需引入laydate/laydate.js即可

2019-01-14

支付宝sdk工具jar包

这次对接支付宝通道,除了官网的alipay-sdk-java-3.3.1,还需要commons-logging-1.1.1,为了方便这次一起打包整合

2018-12-15

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除