Coder Social home page Coder Social logo

jzyong / game-server Goto Github PK

View Code? Open in Web Editor NEW
1.1K 82.0 484.0 28.31 MB

Distributed Java game server, including cluster management server, gateway server, hall server, game logic server, background monitoring server and a running web version of fishing. State machine, behavior tree, A* pathfinding, navigation mesh and other AI tools

Home Page: https://jzyong.github.io/game-server/

License: MIT License

Java 59.01% Lua 0.01% Batchfile 0.02% HTML 2.21% JavaScript 37.57% CSS 0.90% Python 0.03% FreeMarker 0.03% C# 0.21% Shell 0.01%
java game server distributed chess gate fish mina netty behavior-tree

game-server's Introduction

GitHub license GitHub stars GitHub forks

简介

一个基于棋牌、MMORPG游戏的分布式java游戏服务器,理论上可以无限水平扩展网关服,大厅服、游戏服达到人数承载。实现了集群注册中心,网关、登陆、后台服务器监控等通用服务器;封装了redis集群、mongodb等数据库处理;封装了消息队列、线程模型、及导表等常用工具类。网关服务器使用mina封装了TCP、UDP、WebSocket、HTTP通信,使该框架能同时支持多种协议的客户端进行游戏。每个以scripts名字结尾的目录都为相应项目的脚本文件。

项目架构图

文档

详细请查看wiki
项目已停止维护:

交流

  • QQ群:144709243(已满) 143469012

感谢

contributors

game-server's People

Contributors

dependabot[bot] avatar johnlbergqvist avatar jzyong avatar xm-tech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

game-server's Issues

登录流程

客户端先请求game cluster 获取gate server list ,然后选择一个进入游戏吗?
有没有消息路线图呢?game server需要向cluster注册吗?

关于redis与mongodb的身份验证配置

在配置文件中没有找到关于redis与mongodb的身份验证相关数据,另外JedisManagerMongoManager也没有找到,可否告知一下是在哪里呢?谢谢。

mina-http

这个依赖包都下载不了,感觉工程的依赖有点乱。

这里bug太多啦

这里的bug太多啦,根本起不来,一大堆问题,建议别下载啦,没啥用

RoomExecutor 类中的removeRoom都没有地方用到,有点小疑问。

在玩家退出的时候,不用去判断房间位置是否已经都没人,把房间移除掉嘛?还有就是不用去判断线程里面如果都没有玩家的时候,把roomThread线程移除掉嘛?不然如果过了游戏的一个高峰期,不是会开着很多roomThread线程在那?

License ?

Hello, under what license is this project released under ? Thank-you.

多进程设计-数据同步一致性问题

@jzyong 大神你好,简单的看了一下代码,发现 大厅进程 与 游戏逻辑进程 都会同时持有玩家同一个字段的数据 比如 金币 在内存中 那么 这样区分 如何做到 2个同步一致性呢,比如 在大厅获取了金币 处理充值 等等其他的事情,而 游戏逻辑是不知道的。

zookeeper

这里的zookeeper 主要用作什么啦

怎么导入eclipse

项目下载下来怎么导入 eclipse?是按个文件夹导入成单独的项目么?

客户端重连问题

Gate2ClusterClient类似的客户端在网关层,除了游戏服务端定时检测连接状态,客户端如何保障重连的?例如游戏服务端重启,新增/下线某些服务器。

protobuf

protobuf.load("../assets/proto/HallLoginMessage.proto", function (err, root){} 这个方法返回undefined 没有走进去,怎么回事

同学,您这个项目引入了89个开源组件,存在86个漏洞,辛苦升级一下

检测到 jzyong/game-server 一共引入了89个开源组件,存在86个漏洞

漏洞标题:netty 安全漏洞
缺陷组件:io.netty:[email protected]
漏洞编号:CVE-2021-37137
漏洞描述:Netty是Netty社区的一款非阻塞I/O客户端-服务器框架,它主要用于开发Java网络应用程序,如协议服务器和客户端等。
netty存在安全漏洞,该漏洞源于Snappy frame decoder函数不限制块长度,这可能会导致过度内存使用。
影响范围:(∞, 4.1.68.Final)
最小修复版本:4.1.68.Final
缺陷组件引入路径:com.jzy.game:game-engine@releases->org.redisson:[email protected]>io.netty:[email protected]

另外还有86个漏洞,详细报告:https://mofeisec.com/jr?p=i9be29

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.