Sync Time and Weather setup
A standalone FiveM resource that owns the in-game clock and the weather. This guide covers install, the licence convar, what the online check does and does not do, the config options, the admin commands and the exports.
Step 1
Requirements
- An FXServer with
ox_libinstalled. That is the only dependency; no framework is required or bundled. - Outbound HTTPS from the server to
appleluis.ltd, for the licence check. - The licence key from your purchase e-mail, or from licence lookup.
Step 2
Install
- Unzip and copy
al_world/into your server'sresources/directory. - Add the licence key to
server.cfg, above theensurelines:
set al_world_license_key "APLU-XXXX-XXXX-XXXX-XXXX" - Add
ensure ox_liband thenensure al_world. ox_lib must start first. - Restart and read the console. A healthy start prints
licence OK for al-world. Activations 1/1.and thenclock + weather online.
Use set, never setr. setr replicates a convar to every connected player, which would hand your licence key to anyone who joins. The resource itself never sends the key to a client and never prints it.
Step 3
How the licence check behaves
/api/license/validate. That single call validates the key and binds one activation slot.web_baseUrl convar. It is not your Cfx licence key. Override it with set al_world_license_fingerprint "..." if web_baseUrl stays empty./api/license/deactivate to free the slot. That request is best effort; rebinding the same fingerprint later reuses the same slot, so nothing leaks.To move the licence to a different server on purpose, free the old slot yourself:
curl -X POST https://appleluis.ltd/api/license/deactivate -H 'Content-Type: application/json' -d '{"key":"APLU-...","fingerprint":"<old server>"}'
Run alworld_license in the server console at any time to print the current state, the activation count and the fingerprint. It never prints the key.
Step 4
Configuration
Everything lives in al_world/config/config.lua.
dayLengthSec: real seconds for a full 24 hour in-game cycle. The default 2880 is a 48 minute day.startMinute: in-game minute the clock starts at on boot. 540 is 09:00.resyncEveryMin: how often the anchor is re-broadcast, to bound client drift.weatherIntervalSecandtransitionSec: how often the weather may change, and how gently.weather.graph: the weighted transition graph. Keeps changes believable rather than random.
Reference
Commands and exports
Commands are restricted to ACE command.allow or alworld.admin: /settime <0-23> [0-59], /freezetime, /setweather <TYPE> [lock], /weatherunlock, /blackout.
Exports, for your other resources: exports['al_world']:GetTime(), SetTime(h, m), IsNight(), GetWeather(), SetWeather(w, lock), FreezeTime(bool), SetBlackout(bool). They exist only after the licence check passes.
Honest status
What has not been tested
This release has not been started on a representative game client by the seller. The clock and weather code ran on the author's own FiveM servers before the licence layer was added, and the licence layer is proved end to end against the live licence API on this site, but the two have not been run together on an FXServer here. That is stated on the product page as well, and it is why the rest of the FiveM catalog is still held.
If it does not start cleanly, mail support@appleluis.ltd. A product that does not work as described is covered by the withdrawal and refund route.