java游戏服务器开发
huaye
爱好学习
展开
-
java游戏服务器之数据层
先说下缓存数据层,通常在游戏服务器中经常会使用到数据缓存。如果是进程内的缓存,直接点就是HashMap ,List,一般会选择guava,Ehcache这些缓存框架。因为有很多数据都只需要暂时性缓存,不然会浪费太多的内存,而且容易造成内存泄漏选择guava的应该会多些 毕竟很多功能可以方便操作缓存,具体可以看下这个链接学习下google cache。进程外的缓存一般使用redis了,还可以利用原创 2017-05-14 21:01:35 · 916 阅读 · 0 评论 -
游戏上线了,聊聊遇到的坑
游戏上线前,就先要做下压力测试。所以需要写一套自己的客户端程序模拟真实玩家的操作。一般由于项目时间的限制 基本上都只会模拟主要的功能,比如做任务,按照主线任务一直做下去即可。由于做的游戏基本都是RPG,所以模拟玩家一直做主线任务即可。玩家走路的速度 释放技能的间隔 做任务的速度 尽量模拟真实的玩家,这样就能真实模拟出玩家对服务器的压力,这样的测试才最有意义和针对的方案优化。RPG游戏核心的AOI没有原创 2017-06-16 01:35:23 · 524 阅读 · 0 评论 -
游戏服务器压力测试
游戏项目上线之前,一般需要对项目做个压力测试,从中可以评估项目的性能瓶颈,做出针对性的优化,这样就需要设计一个压力测试工具了。这里主要针对RPG游戏单线程还是多线程。游戏业务逻辑还是要单线程,这样上层业务逻辑不用考虑并发问题,降低编码复杂 度。如果整体只用一个线程支撑2000机器人跑压力测试,如果没有寻路,没有其他一些耗时的操作,还是可 以支撑的。如果整体只用一个线程跑多个机器人,那么可以原创 2017-09-06 11:52:05 · 11051 阅读 · 1 评论 -
游戏服务器广播消息的优化
游戏服务器里经常有大量的消息需要广播 特别是同屏战斗的时候 释放技能 伤害输出 位置移动 hp变化。想起了之前做第一款游戏的优化,那时候还不知道做地图分线 ,这样可以显著降低同屏用户数,但是缺点也很大,玩家感觉不够热闹。只能硬着头皮做着千人同屏的优化,没想到那时候就是人生的巅峰,因为那个时候确实导量很厉害,很容易几千人在线,现在基本只有爆款游戏才能遇到这种情况了。一开始测试的时候,发现...原创 2019-09-03 01:31:06 · 1028 阅读 · 0 评论