使用 Gamerzilla 分享你的游戏成就
Gamerzilla
![](/data/attachment/album/202310/08/191724uj7mmjw9ccd7pcl9.jpg)


Gamerzilla 是一个开源游戏成就系统，用于存储和共享你的游戏成就。游戏使用 libgamerzilla 轻松添加成就。Gamerzilla 库是用 C 编写的，但也有其他语言的绑定。


两年前，我描述了如何设置 [Gamerzilla 服务器](/article-15389-1.html)。除了 .net 实现之外，还可以使用 php 和 python 实现。但你可能不想运行自己的服务器。这里介绍一个公共服务器和 Gnome 界面。


### 公共服务器


我的网络服务器现在托管了一个启用了公共注册的 [Gamerzilla](https://identicalsoftware.com/trophy/) 实例。要创建帐户，请单击右上角的 “<ruby> 签到 <rt>  Sign In </rt></ruby>” 链接。然后单击 “<ruby> 登录 <rt>  Login </rt></ruby>” 按钮旁边的 “<ruby> 注册 <rt>  Register </rt></ruby>” 链接。


用户帐户收集的信息非常少。只需输入用户名和密码。你不需要输入你的真实姓名或电子邮件地址。因此，忘记密码没有实现。


账户一开始是不可见的。如果你希望公众在登录后看到你的成就，请单击页面右上角你的用户名，然后选择 “<ruby> 设为可见 <rt>  Make Visible </rt></ruby>”。新用户必须经过批准才能上传成就。目前没有显示你是否获得批准的指示。


### 获得成就


在获得第一个成就之前，你需要使用以下命令安装 Gamerzilla GNOME Shell 扩展：



```
sudo dnf install gnome-shell-extension

```

安装后，你需要注销并重新登录。需要使用以下命令启用扩展：



```
gnome-extensions enable gamerzilla@gamerzilla.identicalsoftware.com

```

游戏控制器图标出现在 GNOME Shell 的顶部栏中。


单击控制器图标并选择 “<ruby> 首选项 <rt>  preferences </rt></ruby>”。在出现的屏幕上输入你的 Gamerzilla 网址，包括尾部斜杠，但不包含 UI 的“奖杯”地址。如果使用我的服务器，该值将为 `https://identicalsoftware.com/`。填写你的用户名和密码。单击保存。默认情况下启用自动连接。如果你不想始终连接，请禁用此功能。


![Gamerzilla Controller menu](/data/attachment/album/202310/08/191751k2gyzpmph5p5q5lt.png)


不幸的是，一个错误阻止了该 Shell 扩展立即工作。你需要注销并重新登录。解决这个问题是当务之急。


### 目前支持的游戏


Fedora 仓库中的多个游戏支持 Gamerzilla 成就。如果你想买一个来尝试一下，我建议试试 Shippy 1984、Seahorse Adventures 或 Anagramarama。一旦你完成一个级别，Seahorse Adventures 就会存储一些进度。如果你玩 Super Tux Kart，你可能已经取得了成就。只需启动游戏即可同步之前完成的任何成就。当成就完成时，Gamerzilla 不会显示任何通知，但游戏可能会自行实现。


### 更进一步


除了修复第一次连接的错误之外，我还想要一个本地浏览器来查看成就。这样你就可以查看所有游戏成就，而无需强制上传它们。


成就确实有消极的一面。有些人觉得有必要完成它们。如果成就非常困难，这可能会导致负面的游戏体验。我理解这种担忧，但有些人也喜欢这些方面。更重要的是，为了吸引和留住玩家，我觉得开源游戏需要一个游戏成就系统。


我们需要更多游戏来实现 Gamerzilla 成就。我们需要玩家表现出对这个系统的支持。我继续为我的游戏和我尝试的其他开源游戏添加成就。


*（题图：MJ/32ae3f54-b319-4db7-b874-eeacd1dcc4d2）*




---


via: <https://fedoramagazine.org/share-your-game-achievements-with-gamerzilla/>


作者：[Dennis Payne](https://fedoramagazine.org/author/dulsi/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
Gamerzilla is an open source game achievement system that stores and shares your game achievements. Games use libgamerzilla to easily add achievements. The Gamerzilla library is written in C but bindings exist for other languages.

Two years ago I described how to setup a [Gamerzilla server](https://fedoramagazine.org/open-source-game-achievements/). In addition to the .net implementation, php and python implementations are available. But you probably don’t want to run your own server. Here is an introduction to a public server and the Gnome interface.

## Public server

My web server now hosts an instance of [Gamerzilla](https://identicalsoftware.com/trophy/) with public registration enabled. To create an account click on the *Sign In* link on the top right corner. From there click the *Register* link next to the *Login* button.

The user accounts collect very little information. Simply enter a username and password. You do not need to enter your real name or email address. As a result, forgotten password is not implemented.

Accounts start as invisible. If you want the public to see your achievements after login, click on your username on the top right of the page and select *Make Visible*. New users must be approved before they can upload achievements. Currently no indication appears whether you are approved or not.

## Getting an achievement

Before you get your first achievement, you need to install the Gamerzilla gnome shell extension with:

sudo dnf install gnome-shell-extension

After installation you will need to logout and log back in. The extension needs to be enabled with the the following:

gnome-extensions enable gamerzilla@gamerzilla.identicalsoftware.com

The game controller icon appears in the top bar of the gnome shell.

Click on the controller icon and select *preferences*. On the resulting screen enter your gamerzilla url including the trailing slash but without the ‘trophy’ destination for the UI. If using my server, the value will be ‘*https://identicalsoftware.com/* ‘. Fill in your username and password. Click on save. By default Automatic Connect is enabled. If you don’t want to always connect disable this.

![](https://fedoramagazine.org/wp-content/uploads/2023/09/gamerzilla_preferences.png)


![](https://fedoramagazine.org/wp-content/uploads/2023/09/gamerzilla_preferences.png)

Unfortunately a bug prevents the shell extension from working right away. You need to logout and log back in again. Fixing this is high priority.

## Currently Supported Games

Several games in the Fedora repository support Gamerzilla achievements. If you want to get one to try it out, I suggest Shippy 1984, Seahorse Adventures, or Anagramarama. Seahorse Adventures will store some progress as soon as you complete a single level. If you play Super Tux Kart, you may already have achievements. Simply starting the game will synch any previous completed achievements. Gamerzilla does not display any notification when achievements complete but games may implement it on their own.

## Going Forward

Besides fixing the bug with connecting the first time, I want a local browser for achievements. That way you can view all your game achievements without forcing you to upload them.

Achievements do have negative aspects. Some people feel compelled to complete them. This can lead to negative play experience, if the achievements are very difficult. I understand this concern but some people enjoy these aspects as well. More importantly, to attract and retain players, I feel open source games need a game achievement system.

We need more games to implement Gamerzilla achievements. We need players to show their support for the system. I continue to add achievements to my games and other open source games I try out.

## Darvond

So this is worthless to anyone who doesn’t have or refuses to use Gnome?

Or did the writer conveniently forget that other options exist? Because as someone currently in an OpenBox session, I’m feeling rather disregarded.

## Dennis Payne

It’s not that I conveniently forgot that other options exist. The original plan was not to add the functionality to a game launcher but I couldn’t get Lutris or Gnome Games interested. I did code it up for GameHub but the author has a bigger vision and didn’t want to merge my change. The gnome shell extension became a solution to get it into people’s hands.

I only have so much time to devote to this project. Gamerzilla has a hubzilla addon, a react web interface with 3 different backends, the new gnome shell extension and a bunch of games updated to use the system. Gnome happens to be what I use so that is what I decided to implement.

## Jonas

well, i guess anyone is free to port it to KDE or anyother plataform with equivalent extension like system like gnome, you should never expect a dev to support everything since it’s a lot of work to do, either DIY or wait.

## IceGuye

Ya, I am currently in a server with no X11, no Wayland, no discrete graphic card, no 3D acceleration. I’m feeling rather disregarded because the writer just simply ignores anyone who doesn’t play games.

## Augustus

Any plans to port it to KDE? Would you want some help from a system-architecture / Module Developer for C/C++ and Assembly as my main works, but I also know Java, C# and now mostly using Python unless developing modules, etc,.

I have over 15 years experience and there’s not one single language i don’t know to the fullest extent. Gnome development I am mediocre in, as only had a few years working experience.

All the best,

A F.

## Dennis Payne

I’d love to have it ported to KDE. I don’t know a lot about KDE. Is there an equivalent extension capability?

## Augustus

Edit: Sorry, forgot to mention that KDE development i have over ten years experience with though.

## slope

So this is worthless to anyone who doesn’t have or refuses to use Gnome?

## Dennis Payne

No. You can still create an account and use the command line gamerzillaserver command to relay achievements. It’s not as nice as the new shell extension but unfortunately I only have so much time. If anyone develops extensions for other desktops I’ll gladly add information on the gamerzilla web site.

## Kyle Gospodnetich

Hey there, thanks for making this! I added it to the GNOME builds of Bazzite (https://bazzite.gg) for anyone that would like to use it.

PS: I’m getting a 500 error when registering for your instance, would love to do so 🙂

## Dennis Payne

Looks like you get a 500 error if you register a name twice. It doesn’t display anything on success so I suspect you successfully created an account but then tried to create it again. I’ll see if I can improve that experience when I have a chance.

## FeRDNYC (Frank Dana)

Missed opportunity to call the extension “GNOMErzilla”, tho.