When astroinstall runs, every resource on your server gets one extra line in its manifest:
shared_script '@AstroShield/shared-obfuscated.lua'That file is the shared guard. It runs inside each of your resources, on the client and on the server, and it is what lets AstroShield see what the scripts of your server legitimately do.
What it does#
| Job | Details |
|---|---|
| Protects server events | Every net event that a resource registers is rate limited and its payload is inspected before the handler runs. See Event protection. |
| Blocks injected code | Calls made by code that does not belong to a resource, such as a cheat menu injecting into yours, are recognized and blocked. |
| Learns legitimate actions | When your own resource teleports a player, heals them, gives a weapon or spawns a vehicle, the guard tells AstroShield, so the detections do not flag it. This is why most servers need no allowance calls at all. |
| Keeps evidence | It keeps a short list of the most recent events a player triggered, which is added to a ban as proof. |
| Optional backdoor watch | When Anti Backdoor is switched on, HTTP requests of resources to known backdoor addresses are logged, and optionally blocked. |
All of its settings come from the dashboard. It has none of its own.
It is built to stay out of your way#
- It never raises an error into your resource and never waits while your resource loads.
- It does not change the name or the arguments of your events.
- If AstroShield is stopped, restarting or missing a connection, the guard simply does nothing. Your resource keeps working.
- Resources like
monitor(txAdmin) andwebadminare never touched byastroinstall.
When something is blocked that should not be#
Two settings in Configuration, Network & Moderation, tell the guard to look away:
- Ignored Events skips the event protection for events you list. A name that ends with
*covers every event that starts with it, for exampleox_lib:*. - Ignored Resources skips the event and injection protection for the resources you list.
Use them when a script of yours fires many events on purpose. See Event protection.
Not every problem is the guard. If a detection fires on something your script does on purpose, announce it with an allowance instead of ignoring the whole resource.
Check or remove it#
- To see which resources have the guard, look for the
shared_scriptline above in their manifests. - To remove it everywhere, run
astrouninstall. See Uninstalling. - If a resource misbehaves, run
astrouninstall, restart that resource and see whether the problem goes away, then ask on Discord with the resource name.