The old GoPostal download label did not identify its archive or substantiate the claim that it had been tested on multiple servers. This guide now covers DreamScripts’ identifiable dream-postal repository. It does not authenticate the old ad-gated archive as that package. Source inspected at commit 39201c8dd21b0e64481cf5760a20ac2ffae84661 declares version 1.0.0.
Choose the framework and target integration
Place dream-postal in resources with fxmanifest.lua directly inside and start its dependencies before ensure dream-postal. The manifest loads oxmysql. Config.FRAMEWORK supports qb, esx and esx-old; Config.TARGET selects ox or qb-target. The shipped Config.GET_CORE assignment calls qb-core unconditionally, so changing only Config.FRAMEWORK does not make the shared configuration ready for an ESX-only server. Adapt the core lookup and selected notification or progress integrations as needed.
Validate delivery payments on the server
The server checks an active job, a 30-second interval and proximity to a delivery point. However, it computes pay from route coordinates supplied by the client, and its validation only checks that the fields exist. Those checks do not establish the server-assigned route or bound the payment. Calculate rewards from a server-owned route and validate completion, types and limits before paying. Enforce the optional job whitelist on the server as well as in the client interface.
Configure the job and recovery commands
Config.IS_WHITELISTED_TO_JOB and Config.WHITELISTED_JOB_TITLE control the optional postal-job requirement. The README provides QBCore job and city-hall entries. /removebox clears a stuck carried box; /pbox, /pbox_record and /gpfit are coordinate and clothing setup helpers. Test shift start and end, target interaction, reconnects, job changes, legitimate payouts and rejected invalid deliveries. Keep the Discord webhook private in server.lua. No gameplay benchmark or complete security audit is claimed.