Configuration

Every Hookr option in shared/config.lua and its default — the app icon and id, profiles, discovery and distances, daily limits, request pacing, reports and notifications.

Everything is in shared/config.lua. Restart oxide-hookr after a change. The text players see is in locales/en.json.

App

OptionDefaultMeaning
Config.DebugfalseHas no effect in this version; leave it false
Config.App.id'hookr'The app's id on the phone, and the id to use in the phone's preinstalled apps. Leave it as 'hookr': the phone only serves the id declared in fxmanifest.lua
Config.App.color'#D6286B'The icon's colour where the phone cannot show the icon picture
Config.App.iconBackground3 colours1 to 3 hex colours of the gradient behind the icon picture
Config.App.order62Where the app sorts in the Store and on a new home screen; lower comes first

Profile

OptionDefaultMeaning
Config.Profile.minAge18Youngest age allowed. The server never accepts an age under 18, whatever this says
Config.Profile.maxAge80Oldest age allowed
Config.Profile.nameMax24Longest name, in characters
Config.Profile.bioMax300Longest bio
Config.Profile.maxPhotos6Photos per profile
Config.Profile.maxInterests5Interests a player can pick
Config.Profile.maxPrompts3Prompts a player can answer
Config.Profile.promptAnswerMax120Longest prompt answer
Config.Profile.interests24 idsThe interests on offer. Each id needs an interest.<id> line in the locale file
Config.Profile.prompts8 idsThe prompts on offer. Each id needs a prompt.<id> line in the locale file

Discovery

OptionDefaultMeaning
Config.Discovery.deckSize20Cards sent to the phone at a time
Config.Discovery.candidatePool250Profiles read per deck before distance and ranking. Raise it on very large servers
Config.Discovery.unit'km''km' or 'mi' for distances
Config.Discovery.maxDistance15The top of the distance slider. Its last step means anywhere
Config.Discovery.zoneSize400Metres. Locations are stored and compared by area of this size, never exactly
Config.Discovery.locationDays7A location older than this is treated as unknown

Everyone with a profile is in the deck, online or not, so small servers are never empty. A player without a location is never filtered out by distance.

Limits

OptionDefaultMeaning
Config.Limits.likesPerDay100Likes per day; 0 for no limit
Config.Limits.superLikesPerDay1Super Likes per day; 0 for no limit
Config.Limits.rewindsPerDay3Rewinds per day; 0 for no limit
Config.Limits.messageMax500Longest chat message
Config.Limits.reportNoteMax300Longest note on a report
Config.Limits.pageSize40Chat messages loaded at a time

The day resets at midnight, server time.

Request pacing

Config.RateLimits sets how many requests a player may make: { burst, per milliseconds } for reading (read, 40 per 10 s), building the deck (deck, 10 per 30 s), swiping (swipe, 15 per 10 s), messaging (message, 10 per 15 s), profile edits (profile, 12 per 60 s), safety actions such as unmatch, block and report (safety, 6 per 60 s), moderation (admin, 40 per 10 s) and taking a phone out, when Hookr checks which account that phone is on (opened, 3 per 10 s). The defaults suit normal play; raise them only if players hit "Slow down".

Reports and notifications

OptionDefaultMeaning
Config.Report.reasons6 idsReport reasons. Each needs a reason.<id> line in the locale file
Config.Notifications.matchestruePhone notifications for new matches and Super Likes
Config.Notifications.messagestruePhone notifications for new messages