赞
踩
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
项目基本没有其他特别的框架,也没有特别的依赖库,基本解压后就能运行。
美术资源来自网络。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。