发布游戏服务器框架 / 组件包 -KISS(日常用作游戏服务器开发,但不限于游戏服务器开发)

本贴最后更新于 381 天前,其中的信息可能已经渤澥桑田

KISS - Keep It Simple & Stupid

MIT licensed
Go Report Card

安装

KISS 可以用来做什么?

  1. 单进程服务器示例
  1. kissgate 网关,支持 kiss 格式的 tcp/websocket 连接反向代理到 tcp 服务,支持线路检测、负载均衡、realip 等,常用来做游戏集群的网关,kiss 协议格式详见 net 包
  1. 集群是不同功能服务的拆分和实现,每个游戏的需求都可能不一样,请根据实际需求自行设计和实现

KISS 组件包简介

一、net,网络包

  1. Tcp
    可以用做游戏服务器,支持自定义协议格式、压缩、加密等

  2. WebSocket
    可以用做游戏服务器,支持自定义协议格式、压缩、加密等

  3. Rpc
    可以灵活使用任意序列化、反序列化,给用户更多自由,如 Protobuf、JSON、msgpack、gob 等
    支持服务端异步处理,服务端不必须在方法中处理完调用结果,可以异步处理结束后再发送结果
    不像 GRPC 等需要生成协议、按格式写那么多额外的代码,用法上像写 net/http 包的路由一样简单

  4. Http
    支持优雅退出、pprof 等

二、log,日志包

  1. 日志位置信息,包括文件、行数
  2. 支持文件日志,支持 bufio
  3. 文件日志按时间拆分目录
  4. 文件日志按时间格式切分
  5. 文件日志按 size 切分
  6. 支持钩子对日志做结构化或其他自定义处理

三、sync 包

四、timer,定时器

五、event,事件包

六、util,杂货铺

  • KISS
    1 引用 • 4 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    317 引用 • 3167 回帖 • 710 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • nothollyhigh

    这里用 golang 的人多吗?

    1 回复
  • 88250

    还算行吧,我是其中一个 😄

    1 回复
  • nothollyhigh

    golang 用着蛮爽的 😄

    1 回复
  • 88250

    同意 🤝 golang 没有花哨的语法(try 也刚刚被否),让开发者把精力更专注在整体结构上(而不是设计不好时靠语法糖简化),虽然表面上看上去很复古,但实际上这才是编程的精髓。