Configurations #
Hiro provides a number of configuration parameters that you can use to customize the default user experience for its systems.
Achievements #
Property | Type | Description |
---|---|---|
achievements | string:Achievement | A map of all achievements. |
Achievement #
Property | Type | Description |
---|---|---|
auto_claim | bool | Whether the achievement’s reward should be given automatically upon completion. |
auto_claim_total | bool | Whether the achievement’s total reward should be given automatically upon completion of this and all sub-achievements. |
auto_reset | bool | Whether the achievement should reset after completion. |
category | string | The category that this achievement belongs to. |
count | int64 | The initial progress towards completion. |
description | string | The description text for this achievement. |
reset_cronexpr | string | The reset schedule expressed in CRON format. |
duration_sec | int64 | How long (in seconds) this achievement is available to progress after creation. Used for limited time achievements. |
max_count | int64 | The number of times this achievement must be progressed before it can be claimed. Set this to 0 (zero) to allow for immediate claiming, so long as all preconditions are met. |
name | string | The display-friendly name for this achievement. |
precondition_ids | []string | Achievement IDs the user must have completed to be able to start this achievement. |
reward | Reward | The rewards that a user should be able to claim once they complete this achievement. |
total_reward | Reward | The rewards that a user should be able to claim once they have completed this achievement and all sub achievements. |
sub_achievements | string:SubAchievement | A map of nested achievements. This can be used to create multiple steps that must be completed as part of the parent achievement. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Sub Achievement #
Property | Type | Description |
---|---|---|
auto_claim | bool | Whether the achievement’s reward should be given automatically upon completion. |
auto_reset | bool | Whether the achievement should reset after completion. |
category | string | The category that this achievement belongs to. |
count | int64 | The initial progress towards completion. |
description | string | The description text for this achievement. |
reset_cronexpr | string | The reset schedule expressed in CRON format. |
duration_sec | int64 | How long (in seconds) this achievement is available for progression after creation. Used for limited time achievements. |
max_count | int64 | The number of times this achievement must be progressed before it can be claimed. Set this to 0 (zero) to allow for immediate claiming, so long as all preconditions are met. |
name | string | The display friendly name for this achievement. |
precondition_ids | []string | Achievement IDs the user must have completed to be able to start this achievement. |
reward | Reward | The rewards that a user should be able to claim once they complete this achievement. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Auctions #
Property | Type | Description |
---|---|---|
auctions | string:Auction | A map of all auctions. |
Auction #
Property | Type | Description |
---|---|---|
items | []string | The list of items that are allowed to be sold in this type of auction. |
item_sets | []string | The list of item sets that are allowed to be sold in this type of auction. |
conditions | string:AuctionCondition | A set of configuration variants for the auction. |
Auction Condition #
Property | Type | Description |
---|---|---|
duration_sec | int64 | The duration of the auction. |
listing_cost | AuctionConditionCost | The cost to creating a listing. |
bid_start | AuctionConditionBid | The minimum amount of currency that is required to bid on a listing. |
bid_increment | AuctionConditionBidIncrement | The minimum difference between the current bid and the next bid amount, expressed as either a flat amount or a percentage based on current bid. If both a flat value and percentage are specified, both must be satisfied by any new bid for it to be allowed. |
extension_threshold_sec | int64 | If a bid is placed within this number of seconds from the listing ending, the listing is extended. |
extension_sec | int64 | The number of seconds to extend the listing by. This time is added to the original listing end time, not based on the time the bid was placed. |
extension_max_sec | int64 | The maximum number of seconds that the original listing end time can be extended by. |
fee | AuctionConditionFee | A flat and/or percentage-based fee paid by the seller when collecting the winning bid amount. If both a flat fee as well as a percentage are specified, the fee will be the minimum amount that satisfies both conditions. The successful bidder does not pay an additional fee when claiming their item at the end of the listing. |
Auction Condition Cost #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities to be paid. |
energies | string:int64 | A map of energy IDs and quantities to be paid. |
items | string:int64 | A map of item IDs and quantities to be paid. |
Auction Condition Bid #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities to be paid. |
Auction Condition Bid Increment #
Property | Type | Description |
---|---|---|
percentage | float64 | The minimum percentage increase of currencies required above the previous bid amount for a new bid to be allowed. Expressed as a fraction, e.g. 0.1 = 10%, 0.5 = 50%, 1.25 = 125% |
fixed | AuctionConditionBid | The minimum amount of currency required above the previous bid amount for a new bid to be allowed. |
Auction Condition Fee #
Property | Type | Description |
---|---|---|
percentage | float64 | The percentage of the winning bid required to claim the winning bid. |
fixed | AuctionConditionBid | The flat amount of currency required to claim the winning bid. |
Base #
Property | Type | Description |
---|---|---|
rate_app_smtp_addr | string | Rate app SMTP address. |
rate_app_smtp_username | string | Rate app SMTP username. |
rate_app_smtp_password | string | Rate app SMTP password. |
rate_app_smtp_email_from | string | Rate app SMTP email from. |
rate_app_smtp_email_from_name | string | Rate app SMTP email from name. |
rate_app_smtp_email_subject | string | Rate app SMTP email subject. |
rate_app_smtp_email_to | string | Rate app SMTP email to. |
rate_app_smtp_port | int | Rate app SMTP port. |
rate_app_template | string | Rate app email template. |
Economy #
Property | Type | Description |
---|---|---|
initialize_user | InitializeUser | The currencies and items a user should start with when their account is created. |
donations | string:Donation | A map of all donations. |
store_items | string:StoreItem | A map of all store items. |
placements | string:Placement | A map of all placements. |
allow_fake_receipts | bool | Should fake receipts be allowed? A receipt is fake if it contains the string: fake receipt . |
Initialize User #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities that a user account should be created with. |
items | string:int64 | A map of item IDs and quantities that a user account should be created with. |
Donation #
Property | Type | Description |
---|---|---|
cost | DonationCost | What will be spent to make a donation. |
count | int64 | The initial progress towards completion. |
description | string | The description text for this donation. |
duration_sec | int64 | How long (in seconds) this donation is available to progress after creation. |
max_count | int64 | The number of times this donation must be progressed to be fulfilled. |
name | string | The display-friendly name for this donation. |
recipient_reward | Reward | The rewards that a user should receive once their requested donation is fulfilled. |
contributor_reward | Reward | The rewards that the sender should receive once the donation they contributed to is fulfilled. |
user_contribution_max_count | int64 | The maximum amount of times each user can donate towards this donation. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Donation Cost #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities to be donated. |
items | string:int64 | A map of item IDs and quantities to be donated. |
Placement #
Property | Type | Description |
---|---|---|
reward | Reward | The rewards that a user should receive once they complete a placement. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Reward #
Property | Type | Description |
---|---|---|
guaranteed | RewardContents | The rewards that a user is guaranteed to receive. |
weighted | []RewardContents | The rewards that a user may or may not receive depending on the outcome of a random roll. |
max_rolls | int64 | The number of weighted RewardContents to select from among the possibilities. |
max_repeat_rolls | int64 | The maximum number of repeats for any given weighted reward. |
total_weight | int64 | The total weight of all weighted reward contents, this can be omitted if you would prefer it to be automatically calculated. If you want a chance for the player to receive no reward, you can manually set this to be higher than the sum of individual weights. |
Reward Contents #
Property | Type | Description |
---|---|---|
items | string:RewardItem | A map of item IDs and quantities to reward the player with. |
item_sets | []RewardItemSet | The item sets that are part of the reward. |
currencies | string:RewardRangeInt64 | A map of currency IDs and quantities to reward the player with. |
energies | string:RewardRangeInt32 | A map of energy IDs and quantities to reward the player with. |
energy_modifiers | []RewardEnergyModifier | The energy modifiers that are part of the reward. |
reward_modifiers | []RewardRewardModifier | The reward modifiers that are part of the reward. |
weight | int64 | The weight of this reward as it relates to the rest of the weighted rewards. |
Reward Energy Modifier #
Property | Type | Description |
---|---|---|
id | string | The ID of the energy that should be modified. |
operator | string | The operation that should be performed on the energy when rewarded (e.g. multiplier , addition ). |
value | RewardRangeInt64 | The modifier value range. |
duration_sec | RewardRangeUInt64 | The duration range for the modifier (in seconds). |
Reward Item #
Property | Type | Description |
---|---|---|
min | int64 | The minimum amount to reward. |
max | int64 | The maximum amount to reward. |
multiple | int64 | The multiple the amount will be rounded to. |
string_properties | string:RewardStringProperty | Additional string properties that will be added to the item instance. |
numeric_properties | string:RewardRangeFloat64 | Additional numeric properties that will be added to the item instance. |
Reward Item Set #
Property | Type | Description |
---|---|---|
min | int64 | The minimum amount to reward. |
max | int64 | The maximum amount to reward. |
multiple | int64 | The multiple the amount will be rounded to. |
max_repeats | int64 | The maximum amount of repeats that can be rewarded from this set. |
set | []string | Which intersection of item sets to reward from. |
Reward Range Int32 #
Property | Type | Description |
---|---|---|
min | int32 | The minimum amount to reward. |
max | int32 | The maximum amount to reward. |
multiple | int32 | The multiple the amount will be rounded to. |
Reward Range Int64 #
Property | Type | Description |
---|---|---|
min | int64 | The minimum amount to reward. |
max | int64 | The maximum amount to reward. |
multiple | int64 | The multiple the amount will be rounded to. |
Reward Range UInt64 #
Property | Type | Description |
---|---|---|
min | uint64 | The minimum amount to reward. |
max | uint64 | The maximum amount to reward. |
multiple | uint64 | The multiple the amount will be rounded to. |
Reward Range Float64 #
Property | Type | Description |
---|---|---|
min | float64 | The minimum amount to reward. |
max | float64 | The maximum amount to reward. |
multiple | float64 | The multiple the amount will be rounded to. |
Reward Reward Modifier #
Property | Type | Description |
---|---|---|
id | string | The ID of the reward element that should be modified (e.g. coins or potion ). |
type | string | The type of the reward that is to be modified (e.g. item or currency ). |
operator | string | The operation that should be performed on the reward when rewarded (e.g. multiplier , addition ). |
value | RewardRangeInt64 | The modifier value range. |
duration_sec | RewardRangeUInt64 | The duration range for the modifier (in seconds). |
Reward String Property #
Property | Type | Description |
---|---|---|
total_weight | int64 | The total weight of all weighted property options, this can be omitted if you would prefer it to be automatically calculated. If you want a chance for a property not to be added to the item instance, you can manually set this to be higher than the sum of individual weights. |
options | string:RewardStringPropertyOption | A map of the possible properties and their weightings. |
Reward String Property Option #
Property | Type | Description |
---|---|---|
weight | int64 | The weight of this property option as it relates to the rest of the weighted property options. |
Store Item #
Property | Type | Description |
---|---|---|
category | string | The category that this store item belongs to. |
cost | StoreItemCost | The item’s purchase cost. |
description | string | The description text for this store item. |
name | string | The display-friendly name for this store item. |
reward | Reward | The rewards that a user should receive once they purchase this store item. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
disabled | bool | Used to make this item non-purchaseable and not return in queries. |
unavailable | bool | Used to make this item non-purchaseable but still return in queries. |
Store Item Cost #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities the user must pay to purchase this store item. |
sku | string | The SKU code of the in-app purchase the user must complete to obtain this store item. |
Energy #
Property | Type | Description |
---|---|---|
energies | string:Energy | A map of all energies. |
Energy #
Property | Type | Description |
---|---|---|
start_count | int32 | The initial amount of this energy a user account should be created with. |
max_count | int32 | The maximum amount of this energy a user can refill up to. |
max_overfill | int32 | The excess amount of this energy a user can gain over max_count when granted directly from rewards. |
refill_count | int32 | The amount of this energy that is refilled after each interval, defined in refill_time_sec . |
refill_time_sec | int64 | The time in seconds it takes for this energy to refill by refill_count amount. |
implicit | bool | If true , the user starts with this energy, if false , they must be granted this energy directly. |
reward | Reward | The rewards that a user should receive when spending this energy. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Event Leaderboards #
Property | Type | Description |
---|---|---|
event_leaderboards | string:EventLeaderboard | A map of all event leaderboards. |
Event Leaderboard #
Property | Type | Description |
---|---|---|
name | string | The display-friendly name for this event leaderboard. |
description | string | The description text for this event leaderboard. |
category | string | The category that this event leaderboard belongs to. |
ascending | bool | Whether the records are sorted in ascending order or not. |
operator | string | The leaderboard operation (e.g. set , best , incr , or decr ). |
reset_schedule | string | The reset schedule expressed in CRON format. |
cohort_size | int | The size of the cohort that participants will be grouped into. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
max_num_score | int | The maximum amount of scores that a user can submit per reset. |
reward_tiers | string:[]RewardTier | The various rewards (as an array) per tier, keyed by tier as a string. |
change_zones | string:ChangeZone | The promotion and demotion zones per tier, keyed by tier as a string. |
tiers | int | The number of tiers that users can progress through. |
max_idle_tier_drop | int | The maximum number of tiers that an idle user can be demoted. |
start_time_sec | int64 | The start time, expressed as a UNIX timestamp. |
end_time_sec | int64 | The end time, expressed as a UNIX timestamp. |
duration | int64 | The duration in seconds for the active period. |
Reward Tier #
Property | Type | Description |
---|---|---|
name | string | The display-friendly name for this reward tier. |
rank_max | int | The maximum rank number (inclusive) that is eligible for this reward. |
rank_min | int | The minimum rank number (inclusive) that is eligible for this reward. |
reward | Reward | The rewards that a user should receive when within the eligible range. |
tier_change | int | Optionally defines a change in tier the user should receive for getting this reward. |
Change Zone #
Property | Type | Description |
---|---|---|
promotion | float64 | The percentage (expressed as a number between 0 and 1) of users at the top of the cohort who will be promoted. |
demotion | float64 | The percentage (expressed as a number between 0 and 1) of user at the bottom of the cohort who will be demoted. |
demotion_idle | bool | Whether or not idle users in the cohort should be automatically demoted. |
Incentives #
Property | Type | Description |
---|---|---|
incentives | string:Incentive | A map of all incentives. |
Incentive #
Property | Type | Description |
---|---|---|
type | enum | The type of incentive (0 = unspecified, 1 = invite). |
name | string | The display-friendly name for this incentive. |
description | string | The description text for this incentive. |
max_claims | int | The maximum number of times this incentive can be claimed. |
max_global_claims | int | The maximum number of times an individual user can claim this incentive. |
max_recipient_age_sec | int64 | The maximum account age that is eligible for this incentive. Useful for restricting invites to new users only. |
recipient_reward | Reward | The rewards that the incentive recipient should receive. |
sender_reward | Reward | The rewards that the incentive sender should receive. |
max_concurrent | int | The maximum number of times this incentive can be created by an individual user. |
expiry_duration_sec | int64 | The duration, in seconds, before the incentive expires. |
Inventory #
Property | Type | Description |
---|---|---|
items | string:Item | A map of all items. |
limits | ConfigLimits | Any limits to the quantity of items a user can hold from specific Categories or Item Sets. |
Config Limits #
Property | Type | Description |
---|---|---|
categories | string:int64 | A map of categories and maximum quantities of items a user can hold from the specified category. |
item_sets | string:int64 | A map of item sets and maximum quantities of items a user can hold from the specified item set. |
Item #
Property | Type | Description |
---|---|---|
name | string | The display-friendly name for this item. |
description | string | The description text for this item. |
category | string | The category that this item belongs to. |
item_sets | []string | The item sets that this item belongs to. |
max_count | int64 | The maximum number of this item a user can own at a given time. |
stackable | bool | Whether this item can stack. |
consumable | bool | Whether this item can be consumed. |
consume_reward | Reward | The rewards that a user receives when they consume this item. |
string_properties | string:string | A map of string values that define item specific metadata. |
numeric_properties | string:float64 | A map of numeric values that define item specific metadata. |
disabled | bool | Used to disable this item without removing it from the data definition. |
keep_zero | bool | Used to make this item stay in a user’s inventory, even when there are none left. Useful for displaying certain items that have been acquired, regardless of whether the user still has any. |
Leaderboards #
Property | Type | Description |
---|---|---|
leaderboards | []Leaderboard | An array of all leaderboards. |
Leaderboard #
Property | Type | Description |
---|---|---|
id | string | The ID of this leaderboard. |
sort_order | string | The leaderboard sort type (e.g. asc or desc ). |
operator | string | The leaderboard operation (e.g. set , best , incr , or decr ). |
reset_schedule | string | The reset schedule expressed in CRON format. |
authoritative | bool | Whether scores must be submitted to this leaderboard authoritatively. |
regions | []string | The available regions for this leaderboard. |
Progression #
Property | Type | Description |
---|---|---|
progressions | string:Progression | A map of all progressions. |
Progression #
Property | Type | Description |
---|---|---|
name | string | The display-friendly name for this progression. |
description | string | The description text for this progression. |
category | string | The category that this progression belongs to. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
preconditions | PreconditionsBlock | The requirements that must be met to start this progression. |
reset_schedule | string | The reset schedule expressed in CRON format. |
Preconditions Block #
Property | Type | Description |
---|---|---|
direct | Preconditions | The requirements that must be met to start this progression. |
operator | enum | The operator (AND = 1, OR = 2, XOR = 3, NOT = 4) that determines how the Direct and Nested blocks should be evaluated. |
nested | PreconditionsBlock | A nested preconditions block, evaluated against the specified operator . |
Preconditions #
Property | Type | Description |
---|---|---|
counts | string:int64 | A map of progression IDs and counts that must be met. |
cost | ProgressionCost | What must be spent to unlock this progression. |
progressions | []string | Progression IDs that must be met. |
achievements | []string | Achievement IDs that must be met. |
items_min | string:int64 | A map of item IDs and minimum counts that must be met. |
items_max | string:int64 | A map of item IDs and maximum counts that must be met. |
stats_min | string:int64 | A map of stat IDs and minimum counts that must be met. |
stats_max | string:int64 | A map of stat IDs and maximum counts that must be met. |
energy_min | string:int64 | A map of energy IDs and minimum counts that must be met. |
energy_max | string:int64 | A map of energy IDs and maximum counts that must be met. |
currency_min | string:int64 | A map of currency IDs and minimum counts that must be met. |
currency_max | string:int64 | A map of currency IDs and maximum counts that must be met. |
Progression Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities that will be spent to unlock this progression. |
currencies | string:int64 | A map of currency IDs and quantities that will be spent to unlock this progression. |
Stats #
Property | Type | Description |
---|---|---|
whitelist | []string | An array of whitelisted stat names. |
Streaks #
Property | Type | Description |
---|---|---|
streaks | string:Streak | A map of all streaks. |
Streak #
Property | Type | Description |
---|---|---|
name | string | The display-friendly name for this streak. |
description | string | The description text for this streak. |
count | int64 | The initial progress for this streak. |
max_count | int64 | The maximum progress that this streak can achieve. |
max_count_current_reset | int64 | The maximum count that can be submitted within the same reset interval. |
idle_count_decay_reset | int64 | The amount of count that will be decreased if no count is submitted within the reset interval. |
max_idle_count_decay | int64 | The maximum amount of count that can be decreased if no count is submitted over consecutive reset intervals. |
reset_cronexpr | string | The reset schedule expressed in CRON format. |
rewards | StreakReward | The rewards that a user should receive once they complete certain streak checkpoints. |
start_time_sec | int64 | The start time (expressed as a UNIX timestamp) for this streak. |
end_time_sec | int64 | The end time (expressed as a UNIX timestamp) for this streak. |
disabled | bool | Used to disable this streak without removing it from the data definition. |
Streak Reward #
Property | Type | Description |
---|---|---|
count_min | int64 | The minimum count required to receive this reward. |
count_max | int64 | The maximum count required to receive this reward. |
reward | Reward | The rewards that a user should receive at each count between count_min and count_max . |
Teams #
Property | Type | Description |
---|---|---|
max_team_size | int | The maximum number of members that a team can have. |
Tutorials #
Property | Type | Description |
---|---|---|
tutorials | string:Tutorial | A map of all tutorials. |
Tutorial #
Property | Type | Description |
---|---|---|
start_step | int | The initial step for this tutorial. |
max_step | int | The maximum step for this tutorial. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Unlockables #
Property | Type | Description |
---|---|---|
active_slots | int | The number of active slots, if any, that each user starts with when their account is created. |
max_active_slots | int | The maximum number of slots that a user can have. |
slots | int | The total number of slots, active and inactive, that a player can have. |
slot_cost | SlotCost | The cost to purchase an additional active slot. |
unlockables | string:Unlockable | A map of all unlockables. |
Slot Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities that will be spent to purchase an additional active slot. |
currencies | string:int64 | A map of currency IDs and quantities that will be spent to purchase an additional active slot. |
Unlockable #
Property | Type | Description |
---|---|---|
probability | int | Indicates the likelihood that this unlockable item is the one received by the user. |
category | string | The category that this unlockable belongs to. |
cost | UnlockableCost | The cost to advance the wait time by one unit of time, defined in cost_unit_time_sec . |
cost_unit_time_sec | int | The amount of time to be advanced on wait_time_sec for each cost purchase. |
description | string | The description text for this unlockable. |
name | string | The display-friendly name for this unlockable. |
start_cost | UnlockableStartCost | The cost to begin unlocking this unlockable. |
reward | Reward | The rewards that the player will receive after unlocking this unlockable. |
wait_time_sec | int | The total time (in seconds) a player must wait before this item in unlocked. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Unlockable Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities to advance this unlockable’s wait time by one unit of time. |
currencies | string:int64 | A map of currency IDs and quantities to advance this unlockable’s wait time by one unit of time. |
Unlockable Start Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities to begin unlocking this unlockable. |
currencies | string:int64 | A map of currency IDs and quantities to begin unlocking this unlockable. |