Cocos Creator python游戏分布式强连接Ku框架

该框架基于CocosCreator和Python,前端集成TCP、HTTP、WebSocket和RPC通信,采用分布式开发模式,支持单线程和多进程。后端使用ecs设计模式,服务器分为Realm、Hall和Map模块,实现游戏大厅和场景的强连接管理。配置包括PyCharm、Nginx、Redis,并提供了美术资源。
摘要由CSDN通过智能技术生成

游戏录像

Cocos Creator python游戏分布式强连接框架

介绍

cocos creator前端 python后端
后端集成了tcp、http、websocket、rpc等请求方式。(rpc、http和websocket是基于tcp自行封装的)
使用了分布式开发模式,封装了快速的跨服务调用方式。
使用单线程、多进程的开发模式,可以避免多线程导致的逻辑混乱。

架构

1.前端采用ecs、监听者(prop)、事件、mvc等的设计模式,同时有一键生成界面代码功能。

2.服务端采用类似前端的ecs设计模式(为了方便舍弃了实体,也就是说component可以直接添加到component上)。

3.服务器采用分布式架构,服务模块设计分三部分:
Relam(校验)、Hall(游戏大厅)、Map(游戏场景)
a.玩家登录使用http请求校验层的login接口,登录成功后,可以获得用户的uid还有游戏大厅的websocket url。
b.通过获得的url,玩家可以与Hall游戏大厅建立强连接,同时每隔一定时间发送心跳包。玩家可以通过与Hall的强连接发送聊天信息。
c.玩家可以进入Map游戏场景(Map服务器可以部署多个)与其他玩家对战,点击进入场景按钮后,玩家获得Map返回的websocket url,玩家就可以与Map进行强连接,一旦连接成功,就可以断开与Hall层的连接。
d.玩家退出游戏场景回到游戏大厅时,玩家通过http请求获得Hall的websocket url,然后玩家就可以退出Map游戏场景,进入Hall游戏大厅。

配置

1.后端 pycharm需要配置启动项

 

2.前端 使用cocos creator打开项目选择main场景启动即可

3.配置nginx

#user  nobody;

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;



events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    #tcp_nopush     on;



    #keepalive_timeout  0;

    keepalive_timeout  65;

    server {

       listen       6888;

       server_name  127.0.0.1;

       location / {

             proxy_pass http://127.0.0.1:7456/;

       }

       location /res/ {

             proxy_pass http://127.0.0.1:8885/;

       }

       location /api/relam0/ {

             proxy_pass http://127.0.0.1:15100/;

       }

       location /ws/relam0/ {

             proxy_pass http://127.0.0.1:15300/;

       }

       location /api/hall0/ {

             proxy_pass http://127.0.0.1:16100/;

       }

       location /ws/hall0/ {

             proxy_pass http://127.0.0.1:16300/;

       }

       location /api/map0/ {

             proxy_pass http://127.0.0.1:17100/;

       }

       location /ws/map0/ {

             proxy_pass http://127.0.0.1:17300/;

       }

       location /api/map1/ {

             proxy_pass http://127.0.0.1:17101/;

       }

       location /ws/map1/ {

             proxy_pass http://127.0.0.1:17301/;

       }

    }

}

4.配置redis 设置host为127.0.0.1 端口为6379

5.运行游戏(注意要把游戏打开的ip改为127.0.0.1:6888,主要是为了解决cocos creator跨域访问问题)

开发工具

Cocos Creator 3.6

Python3.9.7

Pycharm

其他说明

项目基本没有其他特别的框架,也没有特别的依赖库,基本解压后就能运行。

美术资源来自网络

下载地址

Cocos Creator python游戏分布式强连接Ku框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序资源库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值