config/config.server.lua holds these settings. Every option is explained in the comments below.
Runs on: server. This file stays editable when the resource is escrow-protected. Restart the resource after a change.
Config = Config or {}
-- ─────────────────────────────────────────────
-- Database table names
-- ─────────────────────────────────────────────
Config.DB = {
accounts = 'aps_bank_accounts',
members = 'aps_bank_members',
transactions = 'aps_bank_transactions',
cards = 'aps_bank_cards',
loans = 'aps_bank_loans',
loanPayments = 'aps_bank_loan_payments',
credit = 'aps_bank_credit',
creditLog = 'aps_bank_credit_log',
receipts = 'aps_bank_receipts',
scheduler = 'aps_bank_scheduler',
migrated = 'aps_bank_migrated',
}
-- ─────────────────────────────────────────────
-- Security
-- callbackLimit / callbackWindow requests per player per window (seconds)
-- maxAmount highest amount of a single money action
-- maxDistance a player further than this from where the session was
-- opened can't move money any more (metres)
-- moneyCooldownMs minimum time between two money actions of one player
-- allowClientOpen the client export openBank() also works away from a branch.
-- A cheat can call that too, so leave it off unless a phone
-- or tablet script needs it (the server export needs no flag).
-- ─────────────────────────────────────────────
Config.Security = {
callbackLimit = 40,
callbackWindow = 5,
maxAmount = 100000000,
maxDistance = 15.0,
moneyCooldownMs = 250,
allowClientOpen = false,
}
-- ─────────────────────────────────────────────
-- Scheduler — how often due work is checked (minutes).
-- Interest and loans are stored per row, so a restart or a long downtime
-- never pays twice and never skips a period.
-- ─────────────────────────────────────────────
Config.Scheduler = { interval = 5 }
-- ─────────────────────────────────────────────
-- Bank admin panel
-- jobs job → lowest grade with access
-- ace players with this ace also get access ('' turns it off)
-- ─────────────────────────────────────────────
Config.Admin = {
jobs = {
banker = 0,
},
ace = 'aps_banking.admin',
}
-- ─────────────────────────────────────────────
-- Discord webhooks, one per category ('' = off)
-- ─────────────────────────────────────────────
Config.Webhooks = {
username = 'APS Bank',
color = 10074317,
urls = {
money = '',
cards = '',
loans = '',
shared = '',
admin = '',
},
-- only money movements of at least this amount are posted
minAmount = 0,
}
