PHPackages                             fof/gamification - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. fof/gamification

ActiveFlarum-extension[Utility &amp; Helpers](/categories/utility)

fof/gamification
================

Upvotes and downvotes for your Flarum community

1.6.12(3mo ago)4066.1k↓50.4%15[9 issues](https://github.com/FriendsOfFlarum/gamification/issues)[1 PRs](https://github.com/FriendsOfFlarum/gamification/pulls)7MITPHPCI passing

Since Jul 9Pushed 3w ago3 watchersCompare

[ Source](https://github.com/FriendsOfFlarum/gamification)[ Packagist](https://packagist.org/packages/fof/gamification)[ Docs](https://friendsofflarum.org)[ Fund](https://opencollective.com/fof/donate)[ RSS](/packages/fof-gamification/feed)WikiDiscussions 2.x Synced 2d ago

READMEChangelog (10)Dependencies (10)Versions (85)Used By (7)

Gamification by FriendsOfFlarum
===============================

[](#gamification-by-friendsofflarum)

[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667) [![Latest Stable Version](https://camo.githubusercontent.com/76c3184331767bb33c4c2a31874408e09c434ca2650ba7923ef9fcfe7a7d6b43/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f666f662f67616d696669636174696f6e2e737667)](https://packagist.org/packages/fof/gamification) [![OpenCollective](https://camo.githubusercontent.com/1903c197bb0307e60d6328653532b8a6b9890b898fbc92e314ab39d699491e74/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6f70656e636f6c6c6563746976652d666f662d626c75652e737667)](https://opencollective.com/fof/donate)

[![Extiverse](https://camo.githubusercontent.com/02b9806a9603efcab8252376117893db52d81affb9f72e6bd7ef6021a34dbf95/68747470733a2f2f6578746976657273652e636f6d2f657874656e73696f6e2f666f662f67616d696669636174696f6e2f6f70656e2d67726170682d696d616765)](https://extiverse.com/extension/fof/gamification)

A [Flarum](http://flarum.org) extension. Add upvotes, downvotes, and ranks to your Flarum Community!

Upvote and downvote posts anonymously, and reward active users with ranks, and sort posts by hotness/popularity.

- Q: How is hotness sorted ?
- A: The total amount of hotness is got between the amount of votes on the discussion and the posts inside of it. Also, newer posts with the same amount of upvotes as another post will have more hotness, so time is also an influent factor.

### Installation

[](#installation)

Install manually with composer:

```
composer require fof/gamification
```

You can optionally convert your likes into upvotes, as well as calculate the hotness of all previously existing discussions.

### Updating

[](#updating)

```
composer update fof/gamification
php flarum migrate
php flarum cache:clear
```

### Commands

[](#commands)

Gamification doesn't need any CRON job, every calculated value will update itself automatically as needed.

However, if the calculated values become out of date as a result of a database migration, due to the extension being temporarily disabled or to import existing data when first using the extension, you can use the following commands to fix the values.

The following commands can be run in the Flarum folder:

#### `php flarum fof:gamification:assign-groups`

[](#php-flarum-fofgamificationassign-groups)

Updates all users in the database to match the current "Automatically assigned groups" rules.

Even if a user was manually assigned to a group, the group will still be removed if it doesn't match the rules.

#### `php flarum fof:gamification:resync`

[](#php-flarum-fofgamificationresync)

Updates all discussions with their total first post votes.

#### `php flarum fof:gamification:resyncUsers`

[](#php-flarum-fofgamificationresyncusers)

Updates all users with a forced recalculation of points.

### Links

[](#links)

[![](https://camo.githubusercontent.com/0902ec237d4d38955be6c93a043a27694eb59f49ab91e47022b86cee1892afce/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f666f662f646f6e6174652f627574746f6e4032782e706e673f636f6c6f723d626c7565)](https://opencollective.com/fof/donate)

- [Packagist](https://packagist.org/packages/fof/gamification)
- [GitHub](https://github.com/FriendsOfFlarum/gamification)

An extension by [FriendsOfFlarum](https://github.com/FriendsOfFlarum).

###  Health Score

62

—

FairBetter than 99% of packages

Maintenance84

Actively maintained with recent releases

Popularity44

Moderate usage in the ecosystem

Community36

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

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

Every ~32 days

Total

79

Last Release

26d ago

Major Versions

0.5.0 → 1.0.02021-05-29

1.6.8 → 2.0.0-beta.12025-12-16

1.6.11 → 2.0.0-beta.32026-02-11

1.x-dev → 2.0.0-beta.42026-06-07

### Community

Maintainers

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

![](https://avatars.githubusercontent.com/u/1630413?v=4)[Gregor Hammerschmidt](/maintainers/GreXXL)[@GreXXL](https://github.com/GreXXL)

![](https://www.gravatar.com/avatar/0538135c1debcef5602dce7ece027909cc832b7a6284ab9189a19aa8de98d60d?d=identicon)[clarkwinkelmann](/maintainers/clarkwinkelmann)

![](https://www.gravatar.com/avatar/1298cdc0b2402a1aa34fb75a254947d655e090d62bd0531311331d369cac934e?d=identicon)[datitisev](/maintainers/datitisev)

---

Top Contributors

[![imorland](https://avatars.githubusercontent.com/u/16573496?v=4)](https://github.com/imorland "imorland (73 commits)")[![flarum-bot](https://avatars.githubusercontent.com/u/39334649?v=4)](https://github.com/flarum-bot "flarum-bot (56 commits)")[![KyrneDev](https://avatars.githubusercontent.com/u/13856015?v=4)](https://github.com/KyrneDev "KyrneDev (48 commits)")[![dsevillamartin](https://avatars.githubusercontent.com/u/6401250?v=4)](https://github.com/dsevillamartin "dsevillamartin (29 commits)")[![davwheat](https://avatars.githubusercontent.com/u/7406822?v=4)](https://github.com/davwheat "davwheat (25 commits)")[![Ralkage](https://avatars.githubusercontent.com/u/2059356?v=4)](https://github.com/Ralkage "Ralkage (13 commits)")[![karaok491](https://avatars.githubusercontent.com/u/72854852?v=4)](https://github.com/karaok491 "karaok491 (11 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (10 commits)")[![AngellitoX](https://avatars.githubusercontent.com/u/1666907?v=4)](https://github.com/AngellitoX "AngellitoX (9 commits)")[![clarkwinkelmann](https://avatars.githubusercontent.com/u/5264300?v=4)](https://github.com/clarkwinkelmann "clarkwinkelmann (7 commits)")[![rob006](https://avatars.githubusercontent.com/u/5972388?v=4)](https://github.com/rob006 "rob006 (6 commits)")[![DavideIadeluca](https://avatars.githubusercontent.com/u/146922689?v=4)](https://github.com/DavideIadeluca "DavideIadeluca (5 commits)")[![datlechin](https://avatars.githubusercontent.com/u/56961917?v=4)](https://github.com/datlechin "datlechin (3 commits)")[![SychO9](https://avatars.githubusercontent.com/u/20267363?v=4)](https://github.com/SychO9 "SychO9 (3 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (3 commits)")[![iPurpl3x](https://avatars.githubusercontent.com/u/18526076?v=4)](https://github.com/iPurpl3x "iPurpl3x (2 commits)")[![luceos](https://avatars.githubusercontent.com/u/504687?v=4)](https://github.com/luceos "luceos (2 commits)")[![Bruno7kp](https://avatars.githubusercontent.com/u/6254886?v=4)](https://github.com/Bruno7kp "Bruno7kp (2 commits)")[![TinghuiWang](https://avatars.githubusercontent.com/u/2686848?v=4)](https://github.com/TinghuiWang "TinghuiWang (1 commits)")[![askvortsov1](https://avatars.githubusercontent.com/u/38059171?v=4)](https://github.com/askvortsov1 "askvortsov1 (1 commits)")

---

Tags

add-upvotesdiscussiondownvotesflarumflarum-communityfriendsofflarumgamificationhotnessranksSettingsflarumGamificationpointsmiscfriendsofflarum

### Embed Badge

![Health badge](/badges/fof-gamification/health.svg)

```
[![Health](https://phpackages.com/badges/fof-gamification/health.svg)](https://phpackages.com/packages/fof-gamification)
```

###  Alternatives

[flarum-lang/russian

Russian language pack for Flarum.

12128.3k](/packages/flarum-lang-russian)[fof/reactions

Reactions for Flarum

2176.4k6](/packages/fof-reactions)[fof/byobu

Well integrated, advanced private discussions.

59120.6k13](/packages/fof-byobu)[fof/discussion-language

Specify the language a discussion is written in &amp; sort by language

1034.8k4](/packages/fof-discussion-language)[flarum-lang/french

French language pack to localize the Flarum forum software plus its official and third-party extensions.

1938.7k](/packages/flarum-lang-french)[fof/masquerade

User profile builder extension for your Flarum forum.

2025.4k5](/packages/fof-masquerade)

PHPackages © 2026

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