Skip to content

Configuration

Toute la configuration de DarkMarket se trouve dans shared/config.lua. Ce fichier reste éditable même sur les builds protégés par escrow (il est listé dans escrow_ignore, tout comme locales/*.json).

Options principales

OptionDéfautDescription
Config.AppIdentifier'darkmarket'Identifiant interne dans lb-phone. Ne pas changer après déploiement.
Config.Locale'en'Langue active de l'UI. Doit correspondre à un fichier de locales/.
Config.AppIcon'nui://lo_darkmarket/assets/darkmarket.jpg'Icône de l'app. Laissez '' pour l'icône par défaut de lb-phone.
Config.AppImages{}Captures d'écran affichées sur la page de l'App Store.
Config.DevModefalseCharge localhost:3000 au lieu de ui/dist (développement).
Config.DevURL'http://localhost:3000'URL du serveur Vite en mode dev.
Config.Storage'oxmysql'Mode de persistance : 'oxmysql' ou 'memory'.

Canaux (chats privés)

Bloc Config.Groups — paramètres des canaux chiffrés.

OptionDéfautDescription
nameMin / nameMax2 / 32Longueur du nom de canal.
aliasMin / aliasMax2 / 24Longueur de l'alias par membre.
codeLength8Longueur du code d'accès.
maxPerPlayer15Nombre maximal de canaux simultanés par joueur.
historyLimit100Messages chargés à l'ouverture d'un canal.
msgMaxLength1000Longueur maximale d'un message.
codeAlphabet'ABCDEFGHJKLMNPQRSTUVWXYZ23456789'Caractères utilisés pour générer les codes.

NOTE

L'alphabet par défaut exclut volontairement I, O, 0 et 1 pour éviter toute confusion visuelle lors de la lecture ou de la saisie d'un code d'accès.

Marché parallèle

Bloc Config.Market — paramètres des annonces.

OptionDéfautDescription
titleMin / titleMax3 / 80Longueur du titre.
descMin / descMax5 / 500Longueur de la description.
priceMin / priceMax1 / 9999999Bornes de prix autorisées.
listingsLimit100Nombre d'annonces chargées.
maxImages5Nombre maximal de photos par annonce.
expireAfterDays0Suppression auto après X jours (0 = jamais).

Catégories

Config.Categories définit les catégories du marché. L'id est stocké en base et ne doit pas changer ; le libellé affiché est traduit dans les fichiers de langue (clés cat_<id>), le label du config servant de repli. Gardez all en premier.

lua
Config.Categories = {
    { id = 'all',         label = 'All',         icon = 'grid'    },
    { id = 'weapons',     label = 'Weapons',     icon = 'gun'     },
    { id = 'drugs',       label = 'Substances',  icon = 'pill'    },
    { id = 'electronics', label = 'Electronics', icon = 'chip'    },
    { id = 'vehicles',    label = 'Vehicles',    icon = 'car'     },
    { id = 'services',    label = 'Services',    icon = 'wrench'  },
    { id = 'misc',        label = 'Misc',        icon = 'box'     },
}

Stockage

lua
Config.Storage = 'oxmysql'  -- 'oxmysql' (recommandé) ou 'memory' (RAM, perdu au redémarrage)

WARNING

Le mode 'memory' ne conserve aucune donnée après un redémarrage de la ressource. Réservez-le aux tests ; utilisez 'oxmysql' en production.

Notifications

Bloc Config.Notifications.

OptionDéfautDescription
onNewMessagetrueNotification du téléphone à chaque nouveau message.
broadcastNewListingstrueDiffusion à tous les joueurs en ligne lors de la publication d'une annonce.

Langues

La langue active est définie par Config.Locale (valeurs disponibles : en, fr, es, de, it, pt). Les traductions vivent dans locales/*.json et sont intégrées à l'UI.

Pour modifier des textes de l'interface, éditez le fichier correspondant dans ui/src/locales/ puis relancez npm run build. Les fichiers du dossier racine locales/ sont listés dans escrow_ignore, ils restent donc éditables sur les builds protégés par escrow.

Conseils

TIP

  • Ne modifiez jamais Config.AppIdentifier ni les id de catégories après déploiement : ils sont stockés en base.
  • Pour un fork, changez Config.AppIdentifier avant la mise en production.
  • Une icône personnalisée se place dans assets/ (voir assets/README.md) ou via une URL hébergée.
  • Ajustez maxPerPlayer et priceMax selon l'équilibrage RP souhaité.