PHPackages                             jxy918/swoole-game-framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. jxy918/swoole-game-framework

ActiveFramework[Framework](/categories/framework)

jxy918/swoole-game-framework
============================

基于swoole的H5游戏服务器开发框架

v1.0.0(6y ago)915PHPPHP &gt;=5.6

Since Oct 24Pushed 6y ago1 watchersCompare

[ Source](https://github.com/jxy918/swoole-game-framework)[ Packagist](https://packagist.org/packages/jxy918/swoole-game-framework)[ Docs](https://github.com/jxy918/swoole-game-framework)[ RSS](/packages/jxy918-swoole-game-framework/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

swoole-game-framework
=====================

[](#swoole-game-framework)

[![Latest Stable Version](https://camo.githubusercontent.com/28c6b6bb08241bee45a150b70caee41768acb5643cbaf2c247e3b5b6b8f4ddd2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a78793931382f73776f6f6c652d67616d652d6672616d65776f726b2e737667)](https://packagist.org/packages/jxy918/swoole-game-framework)[![Php Version](https://camo.githubusercontent.com/c197ef1e57a32c886b2a54d02ead7dbc035f18b3f39a642703b9372eef7819f9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d2533453d372e312d627269676874677265656e2e7376673f6d61784167653d32353932303030)](https://secure.php.net/)[![Swoft Doc](https://camo.githubusercontent.com/ea1431167b522b88916c717b0bfe6348328a8662a684bb128f0b0bd6d22a20d5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63732d70617373696e672d677265656e2e7376673f6d61784167653d32353932303030)](https://www.swoft.org/docs)

- 基于Swoole扩展开游戏服务器框架
- 基于 **[swoole-game](https://github.com/jxy918/swoole-game)** 框架怎么安装使用
- 基于swoft框架实现的另一版本：**[swoft-game](https://github.com/jxy918/swoft-game)**
- 想关注更多游戏开发可以关注swoft-ddz斗地主：**[swoft-ddz](https://github.com/jxy918/swoft-ddz)**

### 一，概述

[](#一概述)

- 该框架主要用于开发游戏服务器，简化游戏前后端开发，框架主要实现了前后端，封包解包，协议解析，压缩，粘包，路由等功能，代码示例为h5游戏。
- 框架比较简单, 几乎不依赖外部源码库, 方便阅读和使用。
- 基本实现框架功能, 框架组件还不完善, 自己用到什么组件可以方便集成进来。

### 二，环境依赖

[](#二环境依赖)

> 需要支持高版本swoole, 环境可以自行编译, 为了方便大家使用, 可以使用根目录提供的Dockerfile文件构建环境

- php 7.1及以上
- swoole 1.9以上版本
- msgpack
- protobuf 选择使用

### 三,安装和使用

[](#三安装和使用)

```
composer install

```

### 四，特性

[](#四特性)

- 对websocket,http,tcp协议进行封装，异步处理任务
- 实现前后端二进制封包解包，采用的是msgpack扩展，msgpack对数据进行了压缩，并实现粘包处理, 服务器加入了protobuf支付，tcp有测试例子
- 数据采用固定包头，包头4个字节存包体长度，包体前2个字节分别为cmd(主命令字)，scmd(子命令字)，后面为包体内容
- 采用策略模式解耦游戏中的每个协议逻辑
- 实现定义游戏开发cmd(主命令字)和scmd(子命令字)定义，cmd和scmd主要用来路由到游戏协议逻辑处理
- 代码里有个JokerPoker类是一个款小游戏算法类，是一个示例，如示例图1,2,3,4
- 代码主要是用框架实现小游戏JokerPoker例子，服务端代码开源，客户端代码暂不开源，但是提供客户端交互测试工具，见示例图5。
- 可以方便的把JokerPoker范例去除，只使用框架功能定制开发开发自己的游戏功能

> 备注：注意此范例数字都是默认值， 未用到存储， 运行不需要数据库，数据库配置只是测试操作数据库用

### 五，开始使用

[](#五开始使用)

- 2，目录说明：

```
src/bin 服务启动目录
src/app 游戏协议逻辑处理代码
src/conf 相关配置目录
./log  日志目录
./client 客户端交互测试工具

```

- 3，进入bin目录，启动服务器 ：

```
./game  start   启动服务
./game  stop    关闭服务
./game  reload   服务重载， 优雅载入， 不需要启动服务， 可以载入所修改的逻辑

```

> 也可以直接用php命令行启动, 但是请确认启动之前， 杀死所有相关进程

```
php run.php

```

- 4，如果开启http服务器，其实websocket和http是同时开启的， 如果不想混在一起可以单独开启监听端口，http测试例子代码如下浏览器访问：

```
http://[ip]:[port]/HttpTest?aaa=bbb&ccc=ddd

```

- 5，如果开启了tcp服务器，测试例子在client目录下， 注意例子采用了protobuf，请安装，也可以改成msgpack，请自行修改 php执行一下就可以看到结果：

```
php tcp_client.php

```

- 6 ，H5游戏客户端代码由于公司限制，暂不开放， 但是提供了一个客户端交互测试工具，直接把client目录放入web服务器， 修改客服端配置文件配置websocket链接就能运行。

### 六，示例图

[](#六示例图)

[![游戏demo1](images/demo1.jpg)](images/demo1.jpg)[![游戏demo2](images/demo2.jpg)](images/demo2.jpg)[![游戏demo3](images/demo3.png)](images/demo3.png)[![游戏demo4](images/demo4.jpg)](images/demo4.jpg)[![客户端交互测试工具](images/demo5.png)](images/demo5.png)

### 七，联系方式

[](#七联系方式)

- qq：251413215, 加qq请输入验证消息：swoole-game

### 八，备注

[](#八备注)

- 根目录增加docker运行环境(Dockerfile)， 可以直接执行下面的命令，创建镜像php\_swoole, 环境增加php-protobuf支持

```
docker build -t php_swoole .

```

###  Health Score

25

—

LowBetter than 36% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2441d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1694561?v=4)[jxy918](/maintainers/jxy918)[@jxy918](https://github.com/jxy918)

---

Top Contributors

[![jxy918](https://avatars.githubusercontent.com/u/1694561?v=4)](https://github.com/jxy918 "jxy918 (7 commits)")

---

Tags

h5gamephpswoftswooleswoole-gameHTML5swoolegameswoole-game

### Embed Badge

![Health badge](/badges/jxy918-swoole-game-framework/health.svg)

```
[![Health](https://phpackages.com/badges/jxy918-swoole-game-framework/health.svg)](https://phpackages.com/packages/jxy918-swoole-game-framework)
```

###  Alternatives

[laravel/octane

Supercharge your Laravel application's performance.

4.0k24.7M205](/packages/laravel-octane)[hprose/hprose

It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.

2.0k219.1k37](/packages/hprose-hprose)[hprose/hprose-swoole

Hprose asynchronous client &amp; standalone server based on swoole

17929.0k10](/packages/hprose-hprose-swoole)[blink/blink

A high performance web framework and application server in PHP

83442.8k3](/packages/blink-blink)[hyperf/hyperf-skeleton

A coroutine framework that focuses on hyperspeed and flexible, specifically use for build microservices and middlewares.

303189.9k](/packages/hyperf-hyperf-skeleton)[swoft/framework

swoft framework component

64183.3k85](/packages/swoft-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
