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’s reward should be given automatically upon completion.
auto_claim_totalboolWhether the achievement’s total reward should be given automatically upon completion of this and all sub-achievements.
auto_resetboolWhether the achievement should reset after completion.
categorystringThe category that this achievement belongs to.
countint64The initial progress towards completion.
descriptionstringThe description text for this achievement.
reset_cronexprstringThe reset schedule expressed in CRON format.
duration_secint64How long (in seconds) this achievement is available to progress 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 for this achievement.
precondition_ids[]stringAchievement IDs the user must have completed to be able to start this achievement.
rewardRewardThe rewards that a user should be able to claim once they complete this achievement.
total_rewardRewardThe rewards that a user should be able to claim once they have completed this achievement and all sub achievements.
sub_achievementsstring:SubAchievementA map of nested achievements. This can be used to create multiple steps that must be completed as part of the parent achievement.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Sub Achievement #

PropertyTypeDescription
auto_claimboolWhether the achievement’s reward should be given automatically upon completion.
auto_resetboolWhether the achievement should reset after completion.
categorystringThe category that this achievement belongs to.
countint64The initial progress towards completion.
descriptionstringThe description text for this achievement.
reset_cronexprstringThe reset schedule expressed 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 for this achievement.
precondition_ids[]stringAchievement IDs the user must have completed to be able to start this achievement.
rewardRewardThe rewards that a user should be able to claim once they complete this achievement.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.

Auctions #

PropertyTypeDescription
auctionsstring:AuctionA map of all auctions.

Auction #

PropertyTypeDescription
items[]stringThe list of items that are allowed to be sold in this type of auction.
item_sets[]stringThe list of item sets that are allowed to be sold in this type of auction.
conditionsstring:AuctionConditionA set of configuration variants for the auction.

Auction Condition #

PropertyTypeDescription
duration_secint64The duration of the auction.
listing_costAuctionConditionCostThe cost to creating a listing.
bid_startAuctionConditionBidThe minimum amount of currency that is required to bid on a listing.
bid_incrementAuctionConditionBidIncrementThe 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_secint64If a bid is placed within this number of seconds from the listing ending, the listing is extended.
extension_secint64The 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_secint64The maximum number of seconds that the original listing end time can be extended by.
feeAuctionConditionFeeA 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 #

PropertyTypeDescription
currenciesstring:int64A map of currency IDs and quantities to be paid.
energiesstring:int64A map of energy IDs and quantities to be paid.
itemsstring:int64A map of item IDs and quantities to be paid.

Auction Condition Bid #

PropertyTypeDescription
currenciesstring:int64A map of currency IDs and quantities to be paid.

Auction Condition Bid Increment #

PropertyTypeDescription
percentagefloat64The 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%
fixedAuctionConditionBidThe minimum amount of currency required above the previous bid amount for a new bid to be allowed.

Auction Condition Fee #

PropertyTypeDescription
percentagefloat64The percentage of the winning bid required to claim the winning bid.
fixedAuctionConditionBidThe flat amount of currency required to claim the winning bid.

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 when their account is created.
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 account should be created with.
itemsstring:int64A map of item IDs and quantities that a user account should be created with.

Donation #

PropertyTypeDescription
costDonationCostWhat will be spent to make a donation.
countint64The initial progress towards completion.
descriptionstringThe description text for this donation.
duration_secint64How long (in seconds) this donation is available to progress after creation.
max_countint64The number of times this donation must be progressed to be fulfilled.
namestringThe display-friendly name for this donation.
recipient_rewardRewardThe rewards that a user should receive once their requested donation is fulfilled.
contributor_rewardRewardThe rewards that the sender should receive once the donation they contributed to 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 that 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 that this store item belongs to.
costStoreItemCostThe item’s purchase cost.
descriptionstringThe description text for this store item.
namestringThe display-friendly name for this store item.
rewardRewardThe rewards that a user should receive once they purchase this store 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 store item.
skustringThe SKU code of the in-app purchase the user must complete to obtain this store item.

Energy #

PropertyTypeDescription
energiesstring:EnergyA map of all energies.

Energy #

PropertyTypeDescription
start_countint32The initial amount of this energy a user account should be created with.
max_countint32The maximum amount of this energy a user can refill up to.
max_overfillint32The excess amount of this energy a user can gain over max_count when granted directly from rewards.
refill_countint32The amount of this energy that is 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 directly.
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 display-friendly name for this event leaderboard.
descriptionstringThe description text for this event leaderboard.
categorystringThe category that this event leaderboard belongs to.
ascendingboolWhether the records are sorted in ascending order or not.
operatorstringThe leaderboard operation (e.g. set, best, incr, or decr).
reset_schedulestringThe reset schedule expressed in CRON format.
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 that 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 that an idle user can be demoted.
start_time_secint64The start time, expressed as a UNIX timestamp.
end_time_secint64The end time, expressed as a UNIX timestamp.
durationint64The duration in seconds for the active period.

Reward Tier #

PropertyTypeDescription
namestringThe display-friendly name for this reward tier.
rank_maxintThe maximum rank number (inclusive) that is eligible for this reward.
rank_minintThe minimum rank number (inclusive) that is 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 (expressed as a number between 0 and 1) of users at the top of the cohort who will be promoted.
demotionfloat64The percentage (expressed 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 display-friendly name for this incentive.
descriptionstringThe description text for this 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.
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 receive.
sender_rewardRewardThe rewards that the incentive sender should receive.
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 and maximum quantities of items a user can hold from the specified category.
item_setsstring:int64A map of item sets and maximum quantities of items a user can hold from the specified item set.

Item #

PropertyTypeDescription
namestringThe display-friendly name for this item.
descriptionstringThe description text for this item.
categorystringThe category that this item belongs to.
item_sets[]stringThe item sets that this item belongs to.
max_countint64The maximum number of this item a user can own at a given time.
stackableboolWhether this item can stack.
consumableboolWhether this item can be consumed.
consume_rewardRewardThe rewards that a user receives when they consume this item.
string_propertiesstring:stringA map of string values that define item specific metadata.
numeric_propertiesstring:float64A map of numeric 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 acquired, 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 expressed in CRON format.
authoritativeboolWhether scores must be submitted to this leaderboard authoritatively.
regions[]stringThe available regions for this leaderboard.

Progression #

PropertyTypeDescription
progressionsstring:ProgressionA map of all progressions.

Progression #

PropertyTypeDescription
namestringThe display-friendly name for this progression.
descriptionstringThe description text for this progression.
categorystringThe category that this progression belongs to.
additional_propertiesstring:stringA map of key value pairs that can contain additional context.
preconditionsPreconditionsBlockThe requirements that must be met to start this progression.
reset_schedulestringThe reset schedule expressed in CRON format.

Preconditions Block #

PropertyTypeDescription
directPreconditionsThe requirements that must be met to start this progression.
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 that will be spent to unlock this progression.
currenciesstring:int64A map of currency IDs and quantities that will be spent to unlock this progression.

Stats #

PropertyTypeDescription
whitelist[]stringAn array of whitelisted stat names.

Streaks #

PropertyTypeDescription
streaksstring:StreakA map of all streaks.

Streak #

PropertyTypeDescription
namestringThe display-friendly name for this streak.
descriptionstringThe description text for this streak.
countint64The initial progress for this streak.
max_countint64The maximum progress that this streak can achieve.
max_count_current_resetint64The maximum count that can be submitted within the same reset interval.
idle_count_decay_resetint64The amount of count that will be decreased if no count is submitted within 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 schedule expressed in CRON format.
rewardsStreakRewardThe rewards that a user should receive once they complete certain streak checkpoints.
start_time_secint64The start time (expressed as a UNIX timestamp) for this streak.
end_time_secint64The end time (expressed as a UNIX timestamp) for this streak.
disabledboolUsed to disable this streak without removing it from the data definition.

Streak Reward #

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

Teams #

PropertyTypeDescription
max_team_sizeintThe maximum number of members that a team can have.

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 when their account is created.
max_active_slotsintThe maximum number of slots that a user can have.
slotsintThe total number of slots, active and inactive, that a player can have.
slot_costSlotCostThe cost to purchase an additional active slot.
unlockablesstring:UnlockableA map of all unlockables.

Slot Cost #

PropertyTypeDescription
itemsstring:int64A map of item IDs and quantities that will be spent to purchase an additional active slot.
currenciesstring:int64A map of currency IDs and quantities that will be spent to purchase an additional active slot.

Unlockable #

PropertyTypeDescription
probabilityintIndicates the likelihood that this unlockable item is the one received by the user.
categorystringThe category that this unlockable belongs to.
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 text for this unlockable.
namestringThe display-friendly name for this unlockable.
start_costUnlockableStartCostThe cost to begin unlocking this unlockable.
rewardRewardThe rewards that the player will 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.