Gamerzilla:一个开源游戏成就系统(2)
Gamerzilla
游戏启动器的开发和支持工作通常是滞后的。为了方便启动器增加对 Gamerzilla 的支持,我们开发了 libgamerzilla。这个库负责处理启动器、游戏和 Gamerzilla 服务器之间的交互。目前只有 GameHub 实现了一个支持 Gamerzilla 的版本,并将在近期整合到项目中。Fedora 上的 libgamerzilla-server 是一个临时解决方案。它不启动游戏,而是监听成就并把成就上传到服务器。
支持 Gamerzilla 的游戏在不断增长。与游戏启动器一样,开发者使用 libgamerzilla 来完成 Gamerzilla 的集成工作。这个库由 C 语言实现,已经被 Python 和 nim 等多种编程语言使用。对于那些已经有成就系统的游戏,只需要花几天时间就可以完成对 Gamerzilla 的支持。其他游戏想要支持 Gamerzilla,大部分时间都是花在收集信息和授予成就上。
架设服务器
架设服务器最容易的方式是使用 Hubzilla 插件。但是运行 Hubzilla 站点却不是一件轻松的事情。在 Fedora 上架设基于 .Net 和 React 的服务器相对来说要容易一些,尽管这仍然需要许多步骤。详细步骤请参考 readme文件。需要这么多步骤的一部分原因是目前没有预编译好的发布版本。这意味着你需要自己安装 .Net,动手构建 React 源码部分。构建完成之后,React 代码会直接运行在 Apache 中。.Net 后端则运行在单独的服务上。Apache 作为代理负责把所有 Gamerzilla API 请求转发给后端服务。
按上面的步骤操作,Gamerzilla 已经运行起来了,但是现在还没有用户。当然应该有一个简单的方式来创建管理员和注册新用户。但是该功能还没有完成。目前只能通过 sqlite3 命令行来录入用户信息。具体步骤请参考 readme文件。用户可以是公开可见的,也可以是隐藏的。批准标记可以让新用户不立刻使用该系统,但是网络注册是必须的。在设计时我们已经考虑了用户相关模块的可替换性。通过替换就可以与其他站点进行集成。游戏网站也可以通过这种方式来为用户提供 Gamerzilla 成就系统。
backend/Service/UserService.cs
目前 Gamerzilla 的后端使用的是 sqlite 数据库。我们还没有对它进行过性能测试。我们预计较大型的应用安装需要改进系统以使用更鲁棒的数据库。
测试
目前要找一个支持 Gamerzilla 的游戏启动器太难了。如果你安装了 libgamerzilla-server,就可以在命令行中运行gamerzillaserver命令。首次运行该命令时需要输入 URL 和登录信息。以后再运行时会直接从配置文件读取这些信息。目前更正错误的唯一方法是删除再重新运行
.local/share/gamerzillaserver/server.cfggamerzillaserver命令。
大多数游戏还没有支持 Gamerzilla 的版本。itch.io 上的 《Pinball Disc Room》,它的 Linux 版本支持 Gamerzilla,但是它的网页版是没有成就系统的。这款游戏只有两个成就:一个是存活 10 秒钟,另一个是解锁并使用隧道。只需要稍加练习,你就能获得一个成就。由于这款游戏没有可视化的成就提示消息,你需要查看 Gamerzila 服务器才能确认成就。
相关阅读
-
惠普笔记本装win11系统教程 惠普笔记本是否可以升级win11详情
本文为您带来的是惠普笔记本是否可以升级win11详情的话题,关于惠普笔记本装win11系统教程 惠普笔记本是否可以升级win11详情,一定能解决您的问题的,一起来了解吧! 惠普旗下的笔记本是非
-
win10电脑进不了系统 win10死机进不了系统解决教程
为大家介绍的是win10死机进不了系统解决教程的电脑方面的小经验,关于win10电脑进不了系统 win10死机进不了系统解决教程,接下来分享详细内容。 不少的IT袋网友可能都遇到过win10系统在死机
-
笔记本怎么安装万能钥匙 笔记本可以安装万能钥匙吗
IT电脑小知识篇,关于笔记本怎么安装万能钥匙的相关介绍,关于笔记本怎么安装万能钥匙 笔记本可以安装万能钥匙吗,一起跟随小编看看吧! 在有些情况我们的笔记本电脑需要使用wifi万能钥
-
荣耀x30怎样升级鸿蒙系统 更新鸿蒙系统步骤
文章导读:荣耀x30怎样升级鸿蒙系统和更新鸿蒙系统步骤的电脑小知识,接下来分享详细内容。 详细操作步骤: 1.备份手机数据。在升级系统前,首先需要进行手机数据的备份,以免数据丢失


