DirkScripts
Anti-cheats
Every dirk script talks to its server half through dirk_lib callbacks. An anti-cheat that filters events can silently drop those, and when it does the script looks broken in ways that have nothing to do with the script.
Read this if: shops, zones or shop hours look right to you but wrong to players, players see English while you see your language, or F8 shows a line like:
Callback dirk_fishing:getScriptConfig timed out
or, on dirk_lib 1.3.6 and later:
scriptConfig [dirk_fishing]: the server never answered the config request ...
#What is happening
When a player joins, each dirk script asks the server for its settings. That request is a network event named __dirk_cb_<resource>:getScriptConfig. If an anti-cheat blocks that event before it reaches the script, the server never sees the request, so it never answers, and the player is left on the shipped defaults for the whole session.
You, as an admin, usually don't notice β most anti-cheats whitelist staff, so your own requests get through. That is why it "works for you and not for players", and why reinstalling the script changes nothing.
A server that is slow, or a script that is still starting, is not this. Those reply with NotReady within seconds and the client keeps retrying. Total silence is the signature of a dropped event.
#What to whitelist
Whitelist every event beginning with __dirk_cb_. That prefix is used by every dirk script's callbacks, so one rule covers all of them. If your anti-cheat whitelists by resource rather than by event, whitelist dirk_lib and each dirk_* resource you run.
dirk_lib prints a warning in the server console on start when it sees a known anti-cheat running, and a player's F8 prints one if their settings request goes unanswered β both point here.
#Known anti-cheats
| Anti-cheat | Where the setting is |
|---|---|
| ElectronAC | Its config has a resource / event whitelist. Electron's own guide on configuring it for third-party scripts: https://docs.electron-services.com/advanced/tips-best-configuration β |
| FiveGuard | Event whitelist in config. |
| WaveShield | Event whitelist in the dashboard / config. |
| Reaper | Event whitelist in config. |
| SecureServe | Event whitelist in config. |
If yours isn't listed, look for anything called event protection, event whitelist or trigger protection and add the __dirk_cb_ prefix to it. Then tell us in a ticket which anti-cheat it was and where the setting lives, and it goes in this table.
#The quick test
If you're not sure whether the anti-cheat is the cause: stop it for one restart, join, and see if the script works. If it does, it's the whitelist. Turn the anti-cheat back on and add the rule.
Last updated on 15 September 2026
