Installation
1
Download
Get the latest release from our Tebex store and download it from your Keymaster
2
Extract
Extract the
dd_fogofwar folder to your server’s resources directory3
Ensure
Add
ensure dd_fogofwar to your server.cfg, after oxmysql and your framework core4
Grant the admin permission
Add
add_ace group.admin dd_fogofwar.admin allow to your server.cfg5
Configure
Adjust
config/config.lua to your liking. The database tables are created automatically on first start.The only hard dependency is
oxmysql. The framework bridge detects VORP or RSG on its own, so no framework-specific setup is needed.Configuration
Everything lives inconfig/config.lua.
Core options
Resolution and reveal
CellSize is the world size of one exploration cell. Smaller cells give a finer map but store more data. RevealScale is the size of the engine’s own live reveal around the moving player.
Sampling and flushing
MaxChunksPerFlush and MinFlushGap are the server’s rate limit against forged payloads. Raise them only if you also raised SampleRingRadius or lowered FlushInterval far enough that legitimate flushes start getting rejected.
Guarma and blips
HideBlipsInFog needs the free companion resource dd_blipmanager to be running. Without it the switch is simply ignored, no error. When both are running, this switch wins over the blip manager’s own setting, so fog of war stays the single place you configure it.
Pre-revealed zones
Areas that are always visible and never written to the database. Useful for the spawn town or a starting region.Map bounds
Discoveries
A discovery fires once per character on first visit. It shows a notification, optionally pays a reward, and fires the server event other resources can listen to.Discovery modes
Discovery modes
zones: fully dynamic, driven by the game’s own districts and towns, the same zones the game shows when you cross a region border. No coordinates needed.custom: only the circle regions you configure yourself.both: zones and custom regions together.
notify = false to keep the discoveries and rewards but drop the on-screen notification.
Permission and command
Admin commands
peek is the one to reach for while building or testing. It reveals everything for the current session only and changes nothing in the database, so calling it a second time puts the player’s real progress back.Localization
All player-facing strings live inconfig/language.lua:
Database
Three tables are created automatically on first start:
Wiping a player is
/fow reset; wiping everyone is a TRUNCATE on all three tables while the resource is stopped.
Troubleshooting
The whole map is revealed on login
The whole map is revealed on login
Some frameworks reveal the map by default. The resource reverts this on character load, so this normally resolves itself. If it persists, check whether another resource calls a full map reveal after character selection.
Explored areas look washed out instead of fully uncovered
Explored areas look washed out instead of fully uncovered
RevealHoldMs is too low. Fog opacity builds up only while a reveal volume is alive, so a short hold leaves a veil behind. Put it back to 8000.The pause map does not update
The pause map does not update
The pause menu map texture refreshes lazily. Close the map and open it again before judging the fog state.
Blips are still visible in undiscovered areas
Blips are still visible in undiscovered areas
Check that
dd_blipmanager is running (ensure dd_blipmanager in server.cfg) and that Config.HideBlipsInFog is true. Blips attached to an entity are exempt by design, because parking them would fight the attachment.Flushes are being rejected
Flushes are being rejected
Enable
Config.Debug and watch the server output. If you lowered FlushInterval or raised SampleRingRadius, raise MaxChunksPerFlush and lower MinFlushGap to match.