mmorpg:Java 编写的轻量级高性能手游服务端框架

标签: dev | 发表时间:2018-05-13 00:00 | 作者:
出处:http://itindex.net/relian

项目介绍  

mmorpg,是一个用java编写的轻量级高性能手游服务端框架。项目提供各种支持快速二次开发的组件,以及对生产环境的服务进行管理的工具。同时,为了使用户能够快速上手,项目提供了若干常用业务功能作为演示。

项目特点

  • 支持socket/websocket接入,兼容手游/页游服务端架构
  • 有独立http后台网站,为游戏运维/运营提供支持
  • 框架提供多种组件,可以直接二次开发业务逻辑
  • 提供热更机制以及jmx接口,方便对生产项目进行监控与维护

第三方技术栈

名称 用途 官网
Netty nio socket 框架 http://netty.io/
groovy 基于类替换的热更新 http://www.groovy-lang.org/  
hibernate 强大的orm框架 http://hibernate.org/orm/
slf4j+log4j 日志系统 https://www.slf4j.org/
Gradle 依赖管理及项目构建 https://gradle.org/

ToDoList

  • 玩家数据及配置数据管理
  • 场景寻路及分屏算法
  • 主动技能/被动技能实现
  • buff系统
  • 登录服工程
  • 更多基础设施与业务演示

与jforgame项目的主要不同之处

  • 网络io选用了Netty, 依赖管理选用了gradle
  • 使用了spring管理对象注入
  • 重点用于演示场景及技能系统

快速开始

  1. 使用git下载代码 git clone https://github.com/kingston-csj/mmorpg;
  2. 将代码导入带有gradle插件的IDE;
  3. 启动服务端,入口为ServerStartup类;
  4. 启动客户端,入口为ClientStartup类;

欢迎star/fork,欢迎学习/使用,期待一起贡献代码!!

一起交流

如果您发现bug,或者有任何疑问,请提交issue !!

相关 [mmorpg java 轻量级] 推荐:

Java 开发 2.0: 使用 Gretty 的超轻量级 Java Web 服务

- 圣斌 - IBM developerWorks 中国 : 文档库
Gretty 是构建 Web 服务超轻量级框架的新学派之一. 构建于极快的 Java NIO API 之上,Gretty 将 Groovy 用作 Web 端点和 Grape 的 Maven 式依赖关系管理的一种域特定语言. 本文介绍如何开始使用 Gretty 来构建和部署 Java Web 服务应用程序.

MMORPG 中场景服务的抽象

- 2sin18 - 云风的 BLOG
MMORPG 中,场景信息同步是很基础而必不可少的服务. 这部分很值得抽象出来,专门做成一个通用的服务程序. 此服务无非提供的是,向有需求的对象,同步场景中每个实体的状态信息. 那么,我们分解需求,可以看到两点,一是提交状态,二是同步状态. 每条状态信息其实是由三部分构成,状态对象名(key)、状态值(value)、时间.

jcseg-1.9.2 发布 - Java开源轻量级中文分词器+里程碑版本

- - 开源中国社区最新新闻
jcseg是使用java开发的一款轻量级的开源中文分词器, 并且提供了最新版本的lucene和solr分词接口.. jcseg-1.9.2更新内容:. 配置文件中词库多目录加载, 多个目录使用';'隔开..     例如:在jcseg.properties中设置lexicon.path=/java/jcseg/lex1;/java/jcseg/lex2.

传统 MMORPG 通讯模式实现的一点想法

- Rabbit, run - 云风的 BLOG
既然 MMORPG 都有千篇一律同质化的趋势,好歹我们技术人员也应该总结出点东西来,新项目开发可以用现成的模式. 一般来说,MMORPG 服务器要解决的问题无非是,同步玩家的位置,状态,把这些信息广播出去(细分的话,有非战斗环境和战斗环境);需要建立一个聊天服务,供玩家文字交流;有一个信息发布渠道;有任务 NPC 和玩家一对一交流;玩家调整自己的装备(也可以看成是和一特定 NPC 交流).

用 toto 快速建轻量级博客

- zhai - 博客园-首页原创精华区
对于程序员或创业团队来说,还是有必要拥有一个属于自己的博客. Wordpress 曾经让个人或企业搭建博客变得非常容易. 但是我们觉得 Wordpress 还是有些重量级,所以选择了一个非常轻便的工具 toto,一段只有200多行代码的Ruby应用程序. toto之所以简单,是因为它利用一些很好的工具和服务.

CintaNotes:轻量级笔记软件

- - 软件志
一、CintaNotes简介: 这是一款非常轻巧实用的笔记软件,体积仅1MB,可以很方便用快捷键从任意程序收集文本,或手工添加内容;收集的内容会保留来源url. 所有文本线性排列,并可添加标签(tag);搜索框中键入内容即可实时显示命中结果,非常方便——重要的是它支持UniCode,因此不存在中文搜索问题.

优秀的轻量级Web服务器

- - Solidot
Alison Neville 写道 "Web服务器是一种使用超文本传输协议(HTTP)响应客户端请求提供网页的计算机软件,以HTML文件、图像、样式表和脚本的形式构成网页内容. Apache是​​最流行的Web服务器软件,提供了最新的协议实现,优秀的特性集,具有高可配置和可扩展性. Apache被一半以上的活跃网站所使用.

轻量级jQuery网格插件——ParamQuery

- - InfoQ cn
ParamQuery是一种轻量级的jQuery网格插件,基于用于用户界面控制、具有一致API的优秀设计模式 jQueryUI Widget factory创建,能够在网页上展示各种类似于Excel和Google Spreadsheet效果的网格. 使用 ParamQuery,开发者可以轻松地实现以下特性:.

gollum:轻量级的wiki系统

- - 刘思喆@贝吉塔行星
gollum的readme上有句最简单的描述很直白:A git-based Wiki. 个人认为github,jekyll, gollum可以并称为码农的三大神器,github用来敲代码,jekyll用来写技术博客,gollum用来搭建自己的知识管理wiki系统. 很巧合的是部门用gollum也有两年时间了,不过以前都是直接用,没有仔细看过手册,趁十一期间有时间简单搭了一套玩玩.

Java中的锁(Locks in Java)

- - 并发编程网 - ifeve.com
原文链接 作者:Jakob Jenkov 译者:申章 校对:丁一. 锁像synchronized同步块一样,是一种线程同步机制,但比Java中的synchronized同步块更复杂. 因为锁(以及其它更高级的线程同步机制)是由synchronized同步块的方式实现的,所以我们还不能完全摆脱synchronized关键字( 译者注:这说的是Java 5之前的情况).