给回合制游戏加联机功能,通常卡在基础设施而不是玩法上。一旦决定让两个玩家在不同设备上下棋或打牌,话题就转向 WebSocket、常驻进程、托管主机和需要设计的房间系统——这些跟游戏本身毫无关系。
回合制游戏其实不需要实时 socket,它需要的是统一的出招顺序。把这个思路转换过来,问题就简化为几个普通的 HTTPS 请求。这个免费服务器正是基于此设计,整个项目只有一个 PHP 文件。
核心同步模型是有序操作日志:玩家发送操作,服务器分配递增 ID,每个客户端拉取自己未见过的更新。所有玩家按相同顺序收到每个操作,断线重连也无需单独处理——客户端从零重放日志即可重建棋盘。操作类型完全由你定义,认输、和棋、表情都可以是操作,服务器不内置任何游戏规则,同一安装可同时跑棋牌、卡牌和文字游戏。
运行要求是 PHP 8.1 以上加 pdo_sqlite,支持共享主机、VPS、容器或开发用笔记本。演示页面开两个浏览器标签即可在约十秒内完成匹配,跑完一局井字棋。API 是纯 HTTPS + JSON,浏览器、Unity、Godot、移动应用和 Discord 机器人用同一套五个端点。项目 MIT 协议开源。
#GitHub #开源 #PHP #回合制游戏 #游戏开发 #WebSocket #联机服务器
@GitHubTrendingHub
