游戏就绪的客户端-服务器架构和基于udp的网络协议-易于使用、轻量级、快速、可扩展和可靠

pygase的Python项目详细描述


Build StatusAzure DevOps tests (branch)Azure DevOps coverage (branch)Code style: blackPyPI

皮加斯

pythongamesese rver

python 3.6+的一个包,包含一个游戏就绪的客户机-服务器体系结构和基于udp的网络协议。

它处理的问题,如包丢失或网络拥塞,所以你不必。相反,它给了你 一个高级api,用于轻松连接共享同步游戏状态和交换事件的客户端和后端。 这个框架的异步框架是curio,我强烈建议使用这个框架。

PyGase的设计易于使用、重量轻、速度快、可扩展且可靠。 你可以用它建立一个快节奏的实时在线游戏。 如果你愿意的话,你也可以建立一个拥有数千个客户端的大型mmo。

我正在几个独立游戏项目的背景下积极开发pygase,我很高兴与大家分享。


中断更改:版本0.2.0基本上是一个新的api,从0.1.9或更低版本更新将中断代码。 {EM1}$,它也更加稳定、灵活和强大,所以请确保使用0.2.0或更高。


安装

pip install pygase

或者更好的是poetry add pygase。说真的,用poetry,这是一个启示。

用法

API参考和教程

对于api文档和入门部分,请转到here

示例

This example game实现了一个标记的在线游戏, 玩家可以四处移动,而其中一个是追赶者,必须抓住另一个玩家。 一个被抓住的玩家将成为下一个追逐者,并且在5秒保护倒数后可以抓住其他玩家。

先运行server.py,然后在其他终端会话中运行client.py以添加播放机。 只使用相同的玩家名称一次。

调试和记录

您可以使用标准的logging模块。在级别INFO上,您将获得以下事件的日志输出 启动、关闭、新连接或断开。在DEBUG级别上,您可以直接获得详细的输出 发送、接收和处理单个网络包。

调试日志也是理解pygase内部工作的好方法。


更改

0.3.1

  • 改进的文档
  • 小日志修复

0.3.0

  • 从今往后一直坚持下去
  • 使用标准logging模块添加日志记录
  • 改进事件处理程序参数
  • Backend添加类以减少服务器端样板文件
  • 各种错误修复程序

0.2.0

  • 彻底检修Pygase 0.1.x,打破API变化

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java中获取匹配正则表达式的正则表达式   安卓 studio中与xamm服务器的java连接失败   java如何在将文档提交给客户端后删除它   java如何在第一个实体是具有指定主键的实体之后的下一个实体时使用JPA获取列表   java通过向扫描器传递文件来填充命令行   Spring中的java Hibernate对象   java更改JXL单元格的maxFractionDigit   java如何使用Firebase数据库和不同的视图持有者根据类型(视频、文本、图像)恢复数据?   java获取FTP服务器上的文件   java Spring Boot MVC RestTemplate:在何处为MVC应用程序初始化RestTemplate以使用远程RESTful服务   当springcloudstarterkubernetesconfig作为依赖项添加时,会引发java Kubernetes客户端(证书)异常   Java嵌套类的可见性是如何工作的?   java试图要求用户提供行、列、深度,以使三维板无法工作?   Tomcat9中的java,可以通过编程关闭AutoDeploy   安卓将ListView项从Java布局迁移到LayoutInflater   java中是否真的有一个无止境的循环?   java如何使用JTextArea向JTabbedPane添加新选项卡   将链表添加到双链表(java)中?   java随机数生成总是返回相同的值   带有组合框的java动态JQuery下拉列表