1 Star 2 Fork 2

Cauchy / chat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

项目部署复杂,待重构~ —— 2024年3月2日10点21分

多人在线聊天服务

skynet:

服务端开发

介绍:基于Skynet通用的登录服务器模版,实现玩家登录认证。玩法是玩家能切换进入不同房间,房间内的玩家能够涨经验值,并且能在房间中进行发言。每个房间经验值最高的即为管理,管理可以踢出玩家。房间内的玩家之间可以转让经验值等。

特性

  • 基于 skynet 的登录服务器模板,有网关、看门狗、登录服务
  • 客户端和服务端通信,采用 sproto 协议
  • 消息封包解包协议,采用二字节头部指定长度的字符串
  • 采用 openresty 进行用户登录鉴权,模拟第三方 sdk 根据用户信息及 token 值等返回 uid
  • 看门狗维护 agent 池,定时检测用户状态,定时补充代理,并会回收代理。
  • mysql 用于用户登录时加载数据,以及对用户定期存档,离线自动保存数据
  • redis 用于存储服务运行时的相关日志消息(待做持久化处理)

构建

Build

  1. git clone https://github.com/cloudwu/skynet.git
  2. cd skynet && make linux
  3. mkdir project && cd project(skynet目录下:skynet/project)
  4. git clone https://gitee.com/Cauchy_AQ/chat.git
  5. sudo apt-get update && sudo apt install mysql-server(没有mysql的执行安装)
  6. sudo service mysql start && sudo mysql -uroot -proot(启动mysql)
  7. mysql 创建用户参考:https://blog.csdn.net/qq_52678569/article/details/132340187
  8. 执行 skynet/project/chat/etc/mysql.sql 中的 sql 语句
  9. openresty安装
  10. resty.http 模块安装参考:https://blog.csdn.net/qq_52678569/article/details/132381407 (安装 http 客户端)
  11. cd openresty && ./start.sh(启动 openresty)
  12. sudo apt install redis-server && sudo redis-server /etc/redis/redis.conf --daemonize yes(安装 Redis 并后台启动)
  13. cd chat && ./main.sh

test

  1. ./main.sh
  2. cd client && ./test.sh

服务 & 功能

目前支持通信指令:

  1. enter_room roomid:进入房间
  2. leave_room:退出房间
  3. list_members:列出当前房间内所有玩家
  4. list_rooms:查看当前所有房间
  5. say_public:房间内公开聊天
  6. say_private uid:房间内私人聊天
  7. kick uid:管理员踢人
  8. send_exp:转移经验值
  9. logout:退出游戏
  10. afk:挂机

unity:

客户端开发

Unity中使用Sproto协议与Skynet通信

空文件

简介

多人在线聊天室demo 架构:客户端Unity,服务端Skynet。 展开 收起
Lua 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Lua
1
https://gitee.com/Cauchy_AQ/chat.git
git@gitee.com:Cauchy_AQ/chat.git
Cauchy_AQ
chat
chat
skynet

搜索帮助