# Reward Requirements

Before a player can claim a reward, they must pass through a series of toggleable checkers.\
Here is a list of these checkers:

## Checkers for Rewards

* **Limit Accounts per IP**
  * Blocks claiming rewards if the number of accounts on one IP address exceeds a certain amount.
  * This is a global setting in config.yml using <mark style="color:blue;">`max-accounts-per-ip: <amount>`</mark>
  * A logging system is in place for better management - when a player logs in, all his registered accounts are displayed in the console, you can toggle this by <mark style="color:blue;">`log-accounts: true/false`</mark> in config.yml
  * Bypass permission: `ultimaterewards.iplimit.bypass` or for certain amount use `ultimaterewards.iplimit.bypass.<amount>`
* **Permission Checker**
  * Checks if the claimer has stated permission.
  * Multiple permission can be used, see [Reward Variants](https://ultimaterewards.athelion.eu/configuration/rewards/reward-features/reward-variants)
  * Permission can be set per reward in reward's .yml using <mark style="color:blue;">`permission: "<text>"`</mark> *(set to "" for no required permission)*
* **Enough Inventory Slots Checker**
  * Cancels the claiming if the player doesn't have enough free inventory slots.
  * Can be specified per reward in it's .yml file by <mark style="color:blue;">`required-slots: <number>`</mark> property.
* **Discord Account Synchronization Checker**
  * Verifies if the player has [synchronized](https://ultimaterewards.athelion.eu/configuration/rewards/reward-features/discord-support) their Discord account.
  * To specify that a reward requires synchronization, add <mark style="color:blue;">`require-discord-sync: true`</mark> to the reward’s .yml file.
  * Bypass permission: `ultimaterewards.discordSync.bypass`
* **Discord Account Is Boosting Checker**
  * This checker is used to check if the discord user boosts the discord server, if not, the player cannot claim the reward.
  * To specify that a reward requires user to boosting discord server, add \ <mark style="color:blue;">`require-boosting-discord: true`</mark> to the reward’s .yml file.
* **Claiming in Disabled World(s) Checker**
  * Prevents claiming of rewards if the player is located within a designated disabled world.
  * Worlds can be specified per-reward by listing them in the <mark style="color:blue;">`disabled-worlds`</mark> section of the reward's .yml file.
  * Bypass permission: `ultimaterewards.disabledWorld.bypass`
* **Enough Play-Time Checker**
  * Determines if the reward can be claimed based on the total time the player has spent on the server.
  * This can be configured in the config.yml file: \ <mark style="color:blue;">`first-time-join-required-play-time: <number>`</mark> *(set to 0 to disable this checker)*
  * Bypass permission: `ultimaterewards.firstTime.bypass`
* **Session Play-Time Checker**
  * Checks if the player has accrued the required amount of session time to claim a reward.
  * This can be configured in the config.yml file: \ <mark style="color:blue;">`session-required-play-time: <number>`</mark> *(set to 0 to disable this checker)*
  * Bypass permission: `ultimaterewards.session.bypass`

## **Checkers for Affiliates**

1. **Referral Creation Required Time Checker**
   * Enables players to create their own referral after they have accumulated sufficient play-time.
   * Configuration can be set in referrals.yml using\
     &#x20;<mark style="color:blue;">`referral-create-required-play-time: <number>`</mark> (set to 0 to disable this checker)
   * Bypass permission: `ultimaterewards.requiredPlayTime.bypass`
2. **Maximum Play-Time to Apply Referral Checker**
   * Disallows the activation of player referrals if the player has reached the maximum play-time.
   * This limit can be configured in referrals.yml using \ <mark style="color:blue;">`maximum-playtime-for-referred-player: <number>`</mark> (set to 0 to disable this checker)
   * Bypass permission: `ultimaterewards.maximumPlayTime.bypass`
3. **IP Checker**
   * Prevent referral activation if the applier and referrer have the same IP address.
   * This limit can be configured in referrals.yml using\
     &#x20;<mark style="color:blue;">`disable-activation-within-same-ip: <true/false>`</mark>
