Configurations #

Hiro provides a number of configuration parameters that you can use to customize the default user experience for its systems.

Achievements #

PropertyTypeDescription
achievementsstring:AchievementA map of all achievements.

Achievement #

PropertyTypeDescription
auto_claimboolWhether the achievement reward should be given automatically upon completion.
auto_claim_totalboolWhether the achievement total reward should be given automatically upon completing this and all sub-achievements.
auto_resetboolWhether the achievement should reset after completion.
categorystringThe category name for this achievement.
countint64The initial count towards progress for this achievement.
descriptionstringThe description for this achievement.
reset_cronexprstringThe reset interval in CRON format.
duration_secint64How long (in seconds) this achievement is available for progression after creation. Used for limited time achievements.
max_countint64The 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.
namestringThe display friendly name of this achievement.
precondition_ids[]stringAchievement IDs the user must have completed to qualify for starting this achievement.
rewardRewardThe rewards a user should receive once they complete this achievement.
total_rewardRewardThe rewards a user should receive once they have completed this achievement and all sub achievements.
sub_achievementsstring:SubAchievementA map of nested achievements.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Sub Achievement #

PropertyTypeDescription
auto_claimboolWhether the achievement reward should be given automatically upon completion.
auto_resetboolWhether the achievement should reset after completion.
categorystringThe category name for this achievement.
countint64The initial count towards progress for this achievement.
descriptionstringThe description for this achievement.
reset_cronexprstringThe reset interval in CRON format.
duration_secint64How long (in seconds) this achievement is available for progression after creation. Used for limited time achievements.
max_countint64The number of times this achievement can be progressed before it can be claimed.
namestringThe display friendly name of this achievement.
precondition_ids[]stringAchievement IDs the user must have completed to qualify for starting this achievement.
rewardRewardThe rewards a user should receive once they complete this achievement.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Base #

PropertyTypeDescription
rate_app_smtp_addrstringRate app SMTP address.
rate_app_smtp_usernamestringRate app SMTP username.
rate_app_smtp_passwordstringRate app SMTP password.
rate_app_smtp_email_fromstringRate app SMTP email from.
rate_app_smtp_email_from_namestringRate app SMTP email from name.
rate_app_smtp_email_subjectstringRate app SMTP email subject.
rate_app_smtp_email_tostringRate app SMTP email to.
rate_app_smtp_portintRate app SMTP port.
rate_app_templatestringRate app email template.

Economy #

PropertyTypeDescription
initialize_userInitializeUserThe currencies and items a user should start with.
donationsstring:DonationA map of all donations.
store_itemsstring:StoreItemA map of all store items.
placementsstring:PlacementA map of all placements.
allow_fake_receiptsboolShould fake receipts be allowed? A receipt is fake if it contains the string: ‘fake receipt’.

Initialize User #

PropertyTypeDescription
currenciesstring:int64A map of currency IDs and quantities that a user should start with.
itemsstring:int64A map of item IDs and quantities that a user should start with.

Donation #

PropertyTypeDescription
costDonationCostWhat will be spent to donate.
countint64The initial count to start this donation with.
descriptionstringThe description for this donation.
duration_secint64How long (in seconds) this donation is active.
max_countint64The maximum amount of donations required for this to be completed.
namestringThe name for this donation.
recipient_rewardRewardThe rewards a user should receive once the donation is fulfilled.
contributor_rewardRewardThe rewards the sender should receive once the donation is fulfilled.
user_contribution_max_countint64The maximum amount of times each user can donate towards this donation.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Donation Cost #

PropertyTypeDescription
currenciesstring:int64A map of currency IDs and quantities to be donated.
itemsstring:int64A map of item IDs and quantities to be donated.

Placement #

PropertyTypeDescription
rewardRewardThe rewards a user should receive once they complete a placement.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Reward #

PropertyTypeDescription
guaranteedRewardContentsThe rewards that a user is guaranteed to receive.
weighted[]RewardContentsThe rewards that a user may or may not receive depending on the outcome of a random roll.
max_rollsint64The number of weighted RewardContents to select from among the possibilities.
max_repeat_rollsint64The maximum number of repeats for any given weighted reward.
total_weightint64The 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 #

PropertyTypeDescription
itemsstring:RewardItemA map of item IDs and quantities to reward the player with.
item_sets[]RewardItemSetThe item sets that are part of the reward.
currenciesstring:RewardRangeInt64A map of currency IDs and quantities to reward the player with.
energiesstring:RewardRangeInt32A map of energy IDs and quantities to reward the player with.
energy_modifiers[]RewardEnergyModifierThe energy modifiers that are part of the reward.
reward_modifiers[]RewardRewardModifierThe reward modifiers that are part of the reward.
weightint64The weight of this reward as it relates to the rest of the weighted rewards.

Reward Energy Modifier #

PropertyTypeDescription
idstringThe ID of the energy that should be modified.
operatorstringThe operation that should be performed on the energy when rewarded (e.g. multiplier, addition).
valueRewardRangeInt64The modifier value range.
duration_secRewardRangeUInt64The duration range for the modifier (in seconds).

Reward Item #

PropertyTypeDescription
minint64The minimum amount to reward.
maxint64The maximum amount to reward.
multipleint64The multiple the amount will be rounded to.
string_propertiesstring:RewardStringPropertyAdditional string properties that will be added to the item instance.
numeric_propertiesstring:RewardRangeFloat64Additional numeric properties that will be added to the item instance.

Reward Item Set #

PropertyTypeDescription
minint64The minimum amount to reward.
maxint64The maximum amount to reward.
multipleint64The multiple the amount will be rounded to.
max_repeatsint64The maximum amount of repeats that can be rewarded from this set.
set[]stringWhich intersection of item sets to reward from.

Reward Range Int32 #

PropertyTypeDescription
minint32The minimum amount to reward.
maxint32The maximum amount to reward.
multipleint32The multiple the amount will be rounded to.

Reward Range Int64 #

PropertyTypeDescription
minint64The minimum amount to reward.
maxint64The maximum amount to reward.
multipleint64The multiple the amount will be rounded to.

Reward Range UInt64 #

PropertyTypeDescription
minuint64The minimum amount to reward.
maxuint64The maximum amount to reward.
multipleuint64The multiple the amount will be rounded to.

Reward Range Float64 #

PropertyTypeDescription
minfloat64The minimum amount to reward.
maxfloat64The maximum amount to reward.
multiplefloat64The multiple the amount will be rounded to.

Reward Reward Modifier #

PropertyTypeDescription
idstringThe ID of the reward element that should be modified (e.g. coins or potion).
typestringThe type of the reward that is to be modified (e.g. item or currency).
operatorstringThe operation that should be performed on the reward when rewarded (e.g. multiplier, addition).
valueRewardRangeInt64The modifier value range.
duration_secRewardRangeUInt64The duration range for the modifier (in seconds).

Reward String Property #

PropertyTypeDescription
total_weightint64The 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.
optionsstring:RewardStringPropertyOptionA map of the possible properties and their weightings.

Reward String Property Option #

PropertyTypeDescription
weightint64The weight of this property option as it relates to the rest of the weighted property options.

Store Item #

PropertyTypeDescription
categorystringThe category for this store item.
costStoreItemCostThe item’s cost.
descriptionstringThe description for this store item.
namestringThe name for this store item.
rewardRewardThe rewards that a user should receive once they purchase this item.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.
disabledboolUsed to make this item non-purchaseable and not return in queries.
unavailableboolUsed to make this item non-purchaseable but still return in queries.

Store Item Cost #

PropertyTypeDescription
currenciesstring:int64A map of currency IDs and quantities the user must pay to purchase this item.
skustringThe SKU code of the in-app purchase the user must complete to obtain this item.

Energy #

PropertyTypeDescription
energiesstring:EnergyA map of all energies.

Energy #

PropertyTypeDescription
start_countint32The initial amount of this energy a user should start with.
max_countint32The maximum amount of this energy a user can refill up to.
max_overfillint32The amount of this energy a user can gain over max_count when granted directly from rewards.
refill_countint32The amount of this energy refilled after each interval (defined in refill_time_sec).
refill_time_secint64The time in seconds it takes for this energy to refill by refill_count amount.
implicitboolIf true the user starts with this energy, if false they must be granted this energy.
rewardRewardThe rewards that a user should receive when spending this energy.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Event Leaderboards #

PropertyTypeDescription
event_leaderboardsstring:EventLeaderboardA map of all event leaderboards.

Event Leaderboard #

PropertyTypeDescription
namestringThe name of this event leaderboard.
descriptionstringThe description for this event leaderboard.
categorystringThe category for this event leaderboard.
ascendingboolWhether the records are sorted in Ascending order or not.
operatorstringThe leaderboard operation (e.g. set, best, incr, or decr).
reset_schedulestringThe reset schedule of this leaderboard expressed as a CRON expression.
cohort_sizeintThe size of the cohort that participants will be grouped into.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.
max_num_scoreintThe maximum amount of scores a user can submit per reset.
reward_tiersstring:[]RewardTierThe various rewards (as an array) per tier, keyed by tier as a string.
change_zonesstring:ChangeZoneThe promotion and demotion zones per tier, keyed by tier as a string.
tiersintThe number of tiers that users can progress through.
max_idle_tier_dropintThe maximum number of tiers an idle user can be demoted.
start_time_secint64The start time (as a UNIX timestamp) of this event leaderboard.
end_time_secint64The end time (as a UNIX timestamp) of this event leaderboard.
durationint64The duration in seconds for the event leaderboard active period.

Reward Tier #

PropertyTypeDescription
namestringThe name of this reward tier.
rank_maxintThe maximum rank number (inclusive) eligible for this reward.
rank_minintThe minimum rank number (inclusive) eligible for this reward.
rewardRewardThe rewards that a user should receive when within the eligible range.
tier_changeintOptionally defines a change in tier the user should receive for getting this reward.

Change Zone #

PropertyTypeDescription
promotionfloat64The percentage (as a number between 0 and 1) of users at the top of the cohort who will be promoted.
demotionfloat64The percentage (as a number between 0 and 1) of user at the bottom of the cohort who will be demoted.
demotion_idleboolWhether or not idle users in the cohort should be automatically demoted.

Incentives #

PropertyTypeDescription
incentivesstring:IncentiveA map of all incentives.

Incentive #

PropertyTypeDescription
typeenumThe type of incentive (0 = unspecified, 1 = invite).
namestringThe name of the incentive.
descriptionstringA description of the incentive.
max_claimsintThe maximum number of times this incentive can be claimed.
max_global_claimsintThe maximum number of times an individual user can claim this incentive ID.
max_recipient_age_secint64The maximum account age that is eligible for this incentive. Useful for restricting invites to new users only.
recipient_rewardRewardThe rewards that the incentive recipient should get.
sender_rewardRewardThe rewards that the incentive sender should get.
max_concurrentintThe maximum number of times this incentive can be created by an individual user.
expiry_duration_secint64The duration, in seconds, before the incentive expires.

Inventory #

PropertyTypeDescription
itemsstring:ItemA map of all items.
limitsConfigLimitsAny limits to the quantity of items a user can hold from specific Categories or Item Sets.

Config Limits #

PropertyTypeDescription
categoriesstring:int64A map of Categories to the maximum quantity of items a user can hold from the specified Category.
item_setsstring:int64A map of Item Sets to the maximum quantity of items a user can hold from the specified Item Set.

Item #

PropertyTypeDescription
namestringThe name for this item.
descriptionstringThe description for this item.
categorystringThe category for this item.
item_sets[]stringAn array of values that indicate which item sets this item belongs to.
max_countint64The maximum number of this item a user can own.
stackableboolWhether this item can stack.
consumableboolWhether this item can be consumed.
consume_rewardRewardThe rewards that a user can or will receive for consuming the item.
string_propertiesstring:stringA map of string values that define item specific metadata.
numeric_propertiesstring:float64A map of numberic values that define item specific metadata.
disabledboolUsed to disable this item without removing it from the data definition.
keep_zeroboolUsed to make this item stay in a user’s inventory, even when there are none left. Useful for displaying certain items that have been aquired, regardless of whether the user still has any.

Leaderboards #

PropertyTypeDescription
leaderboards[]LeaderboardAn array of all leaderboards.

Leaderboard #

PropertyTypeDescription
idstringThe id of this leaderboard.
sort_orderstringThe leaderboard sort type (e.g. asc or desc).
operatorstringThe leaderboard operation (e.g. set, best, incr, or decr).
reset_schedulestringThe reset schedule in CRON format.
authoritativeboolWhether scores must be submit to this leaderboard authoritatively.
regions[]stringThe available regions for the leaderboard.

Progression #

PropertyTypeDescription
progressionsstring:ProgressionA map of all progressions.

Progression #

PropertyTypeDescription
namestringThe name of this progression.
descriptionstringThe description for this progression.
categorystringThe category for the progression.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.
preconditionsPreconditionsBlockThe requirements for this progression.
reset_schedulestringThe reset schedule in CRON format.

Preconditions Block #

PropertyTypeDescription
directPreconditionsAn object containing the direct progression preconditions.
operatorenumThe operator (AND = 1, OR = 2, XOR = 3, NOT = 4) that determines how the Direct and Nested blocks should be evaluated.
nestedPreconditionsBlockA nested preconditions block, evaluated against the specified operator.

Preconditions #

PropertyTypeDescription
countsstring:int64A map of progression IDs and counts that must be met.
costProgressionCostWhat must be spent to unlock this progression.
progressions[]stringProgression IDs that must be met.
achievements[]stringAchievement IDs that must be met.
items_minstring:int64A map of item IDs and minimum counts that must be met.
items_maxstring:int64A map of item IDs and maximum counts that must be met.
stats_minstring:int64A map of stat IDs and minimum counts that must be met.
stats_maxstring:int64A map of stat IDs and maximum counts that must be met.
energy_minstring:int64A map of energy IDs and minimum counts that must be met.
energy_maxstring:int64A map of energy IDs and maximum counts that must be met.
currency_minstring:int64A map of currency IDs and minimum counts that must be met.
currency_maxstring:int64A map of currency IDs and maximum counts that must be met.

Progression Cost #

PropertyTypeDescription
itemsstring:int64A map of item IDs and quantities to be donated.
currenciesstring:int64A map of currency IDs and quantities to be donated.

Stats #

PropertyTypeDescription
whitelist[]stringAn array of whitelisted stat names.

Streaks #

PropertyTypeDescription
streaksstring:StreakA map of all streaks.

Streak #

PropertyTypeDescription
namestringThe name of this streak.
descriptionstringThe description of this streak.
countint64The current/starting count of this streak.
max_countint64The maximum count this streak can achieve.
max_count_current_resetint64The maximum count this streak can be submitted in the same reset interval.
idle_count_decay_resetint64The amount of count that will be decreased if no count is submitted in the reset interval.
max_idle_count_decayint64The maximum amount of count that can be decreased if no count is submitted over consecutive reset intervals.
reset_cronexprstringThe reset interval in CRON format.
rewardsStreakRewardThe rewards a user should receive once they complete certain streak checkpoints.
start_time_secint64The start time (as a UNIX timestamp) of this streak.
end_time_secint64The end time (as a UNIX timestamp) of this streak.
disabledboolUsed to disable this streak without removing it from the data definition.

Streak Reward #

PropertyTypeDescription
count_minint64The minimum count to receive this reward.
count_maxint64The maximum count to receive this reward.
rewardRewardThe rewards a user should receive at each count between count_min and count_max.

Teams #

PropertyTypeDescription
max_team_sizeintThe maximum number of members for a team.

Tutorials #

PropertyTypeDescription
tutorialsstring:TutorialA map of all tutorials.

Tutorial #

PropertyTypeDescription
start_stepintThe initial step for this tutorial.
max_stepintThe maximum step for this tutorial.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Unlockables #

PropertyTypeDescription
active_slotsintThe number of active slots, if any, that each user starts with.
max_active_slotsintThe maximum number of slots a user can have active at any time.
slotsintThe total number of slots, active and inactive, a player can have.
slot_costSlotCostThe cost to purchase additional active slots.
unlockablesstring:UnlockableA map of all unlockables.

Slot Cost #

PropertyTypeDescription
itemsstring:int64A map of item IDs and quantities to be spent when purchasing additional active slots.
currenciesstring:int64A map of currency IDs and quantities to be spent when purchasing additional active slots.

Unlockable #

PropertyTypeDescription
probabilityintIndicates the likelihood that this unlockable item is the one received by the user.
categorystringThe category, if any, of this unlockable.
costUnlockableCostThe cost to advance the wait time by one unit of time, defined in cost_unit_time_sec.
cost_unit_time_secintThe amount of time to be advanced on wait_time_sec for each cost purchase.
descriptionstringThe description of this unlockable.
namestringThe name of this unlockable.
start_costUnlockableStartCostThe cost to begin unlocking this unlockable.
rewardRewardThe rewards that the player should receive after unlocking this unlockable.
wait_time_secintThe total time (in seconds) a player must wait before this item in unlocked.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Unlockable Cost #

PropertyTypeDescription
itemsstring:int64A map of item IDs and quantities to advance this unlockable’s wait time by one unit of time.
currenciesstring:int64A map of currency IDs and quantities to advance this unlockable’s wait time by one unit of time.

Unlockable Start Cost #

PropertyTypeDescription
itemsstring:int64A map of item IDs and quantities to begin unlocking this unlockable.
currenciesstring:int64A map of currency IDs and quantities to begin unlocking this unlockable.