Media
Description 🇬🇧 Description 🇫🇷

NRestrict: Advanced & Optimised GMod zone restriction addon - Script

Demonstration Youtube video of NRestrict: Advanced & Optimised GMod zone restriction addon

NRestrict is an advanced, optimized and modular GMod zone restriction add-on. Precisely define who can and can't enter a zone according to job, rank, level, role or category, via an intelligent whitelist/blacklist system and minimal server resource usage. Native HUD integration, centralized interface, no entities to install, ideal for automated PR control, even without connected staff.

zone-limiter warning limit-job-role limit-lvl-karma get-tool-to-build area-type tool-reload-menu management create-groups set-ejection lvl-karma set-zone-whitelist-blacklist options custom-hud how-reset examples out-map

Maximum image size
Description

Description of NRestrict: Advanced & Optimised GMod zone restriction addon

Summary:
  1. ⛔ Description of "NRestrict: Advanced and Optimized Zone-Based Access Restriction for GMod"
  2. 💡 Why integrate NRestrict into your server?
  3. ⚙️ NRestrict Menu: Centralized Management of Zone Restrictions
  4. 🧰 Integrated SWEP: Create and Configure Restriction Zones Without Entities
  5. 👁️ Feedback HUD: Dynamic Display of Restriction Reasons
  6. 📜 Access Condition Configuration: Groups, Ranks, Jobs, Levels
  7. 🔐 Whitelist, Blacklist, and Hierarchical Management
  8. 🚧 Anti-Abuse & Behavioral Security
  9. ⚡ Performance & Client/Server Architecture
  10. 🚀 Compatibility with the OSGMod Ecosystem


📒 Description of "NRestrict: Advanced and Optimized Zone-Based Access Restriction for GMod"

NRestrict is a zone-based access restriction system for Garry's Mod, designed for demanding and modular environments. Built on a smart client/server architecture, it allows precise control over who can enter a zone based on multiple criteria: job, job group, role, level, rank, category, etc. all without placing entities in-game or relying on a gamemode.

Designed for RP servers DarkRP, Helix, or Sandbox NRestrict acts like a logical firewall: zones can be configured to allow or deny certain entities in real-time, with a clear user notification on the HUD when access is automatically denied.

When a player enters a zone, the system dynamically analyzes their profile (job, role, level) and displays a HUD notification if access is denied, clearly indicating the reason: insufficient level, unauthorized job, etc. All this works without ongoing network sync or global loops, ensuring minimal system impact.

Where staff typically must intervene manually to block access to sensitive areas (VIP district, faction zone, command room, etc.), NRestrict serves as an automated, reliable replacement. Comparable to tools like Area Restrictor 2, it offers a more modular, optimized, and fully customizable approach.

In the absence of moderators, or within demanding RP settings, NRestrict maintains order, immersion, and access hierarchy without human intervention. Whether restricting access to police, medics, armed factions, or specific levels, the system acts automatically and transparently to users without server overhead.

Is NRestrict the sequel to Gmod Area Restrictor?
Yes, NRestrict is the direct evolution of Gmod Area Restrictor, an addon I created over 10 years ago.
In a way, it's "Area Restrictor 2", redesigned from the ground up to meet the needs of today's GMod servers.

🧠 Fun fact: a tenth of a century (yes, 10 years) passed between my two addon generations.
Meanwhile, some folks sell you a "remaster" just 4 months after their first draft... Goes to show: between remaking quickly and remaking properly, there's a decade's difference. 😉



💡 Why integrate NRestrict into your server?

✅ Zero entities to place on the map.
✅ Spherical or cubic zones.
✅ Whitelist & blacklist within the same zone.
✅ Dynamic analysis: role, level, job, category.
✅ HUD display of restriction reason.
✅ Centralized management menu.
✅ Compatible with DarkRP, Sandbox, NJob, Helix.
✅ Integrated SWEP for fast creation/editing.
✅ Optimized for massive multiplayer (128+ players).
✅ No global hooks or intensive loops.
✅ Zones can be created "outside map" perfect against noclip abuse.
✅ No map reload required.



⚙️ NRestrict Menu: Centralized Management of Zone Restrictions

Via an ergonomic interface, configure all your restriction zones with pinpoint accuracy. The menu allows:
- Creation of restricted job groups, categories, or roles.
- Assigning minimum or maximum allowed levels.
- Defining zones open only to certain ranks (e.g., staff, faction, VIP).
- Choosing between whitelist, blacklist, or both.
- Customizing HUD messages shown upon restriction.

Designed for complex server management, the system enables total control without manual in-map interactions.



🧰 Integrated SWEP: Create and Configure Restriction Zones Without Entities

The integrated SWEP allows for fast, intuitive zone creation:
- Reload: open the SWEP interface.
- Left click: set Point P1 (center or corner).
- Right click: set Point P2 (radius or opposite corner).
- Left click on existing zone: move it.
- Right click on existing zone: delete it.
- No physical entity needed. Configuration is 100% dynamic and instant.



👁️ Feedback HUD: Dynamic Display of Restriction Reasons

When a player tries to enter a restricted zone:
- A HUD notification is automatically displayed.
- The exact restriction reason is shown (e.g., "Access Denied: Level 15 Required", "Unauthorized Job: Police").
- Optional logo, text, sound, and color customization.
- Optional denial messages in chat.
- This ensures a clear user experience and avoids RP confusion.



📜 Access Condition Configuration: Groups, Ranks, Jobs, Levels

Each zone can be conditioned based on:
- A whitelist of authorized jobs.
- A blacklist of roles, groups, or jobs.
- A minimum or maximum level (compatible with progression addons).
- A specific rank (VIP, staff, faction, etc.).
- An entire category of jobs.

All parameters are configurable per zone, with options to duplicate restriction profiles.



🔐 Whitelist, Blacklist, and Hierarchical Management

At its core, the system uses advanced hierarchical management:
- A priority whitelist can allow specific players even if blacklisted.
- Hierarchical groups (staff, admin, superadmin) can be set as override.
- Predefined access profiles can be saved for fast reuse (VIP zones, military, rebels, etc.).
- A powerful logic system allows management of dozens of zones with ease.



🚧 Anti-Abuse & Behavioral Security

To prevent bypass attempts:

- Optional physical block at entry: player is pushed back.
- Logical block: entry allowed but actions (firing, interaction, etc.) disabled.
- Automatic admin notifications if bypass attempts occur.
- Access attempt history logged.
- Built-in security no external dependency.



⚡ Performance & Client/Server Architecture

Optimized footprint:
Client: ~41ko
Serveur: ~14ko
Workshop (icons): ~7ko

Architecture:
- No global hooks.
- No ongoing server loops.
- No entities placed on the map.
- Localized processing with event-driven triggers.

Supports up to 128 simultaneous players without latency even with hundreds of active zones.



🚀 Compatibility with OSGMod ecosystem

NRestrict integrates naturally with its addons, which are not mandatory:
💪 Gmod Leveling System: If you don't have a leveling system and want to limit zones according to minimum and maximum levels required.
🎭 Gmod Karma + Reputation System: If you need to add zone limits based on a player's reputation.
💼 NJob - Gmod Job Creator and Editor: If you don't want to use DarkRP, NJob adds a job system compatible without DarkRP.
🛠️ Nor Admin Mod - GMod Administration System: If you want to add special roles, VIPs or other roles in Whitelist.

🔹 WIKI & F.A.Q 🇬🇧
Wiki 🇬🇧 Wiki 🇫🇷

Wiki of NRestrict: Advanced & Optimised GMod zone restriction addon

NRestrict: Advanced & Optimised GMod zone restriction addon


☰ 1. Installation of NRestrict: Advanced & Optimised GMod zone restriction addon
Installation: Download and Unzip the folder norda_nrestrict.zip Install the addon in the addons file of your Gmod server,
Path: garrysmod/addons/norda_nrestrict
☰ 2. Where can I find resources and materials? What is the NRestrict: Advanced & Optimised GMod zone restriction addon Workshop id?
Vous trouverez les ressources dans le workshop de Garry's Mod sur Steam. - Gmod Workshop ID of NRestrict: Advanced & Optimised GMod zone restriction addon: 3500785516
- The AddWorkshop function is automatically added to the script server file and can be deactivated from the configuration file. : resource.AddWorkshop( 3500785516 )
- To add gmod workshop resources to your collection : NRestrict: Advanced & Optimised GMod zone restriction addon [Content Only] | Gmod Workshop
☰ 3. How do I open the NRestrict administration menu?
You can either type the console command: norda_nrestrict
Use the shortcut button via the Nor Admin System (if installed).
☰ 4. How do I place restricted zones on the GMod map?
There are two ways:
Via the zone management menu, click on “Add a restricted zone”.
Via the SWEP Tool integrated into the NRestrict addon, switch to creation mode and left-click (see dedicated section below).
Get the Tool NRestrict
☰ 5. Can I place zones outside the map?
Yes, with the SWEP Tool you can : Place a zone where you are looking. Or place a zone from your current position.
Zones Outside of the source engine map
☰ 6. How do I get the NRestrict tool to place restricted zones on my map?
You can get it from the Gmod spawnmenu in sandbox mode, or from the NRestrict management interface.
Get the Tool NRestrict
☰ 7. How to place a cubic zone with the tool?
When you place a zone using the SWEP tool:
Left-click: place point P1, you get a sphere around this point.
Right-click: place point P2, the area becomes cubic.
2 Types of Zones
☰ 8. How does the "Reload" button work in the tool?
Once the tool is in hand, pressing the Reload button opens the tool menu. The left-hand side displays the variables for the zones you've selected, and the right-hand side shows the options for working with them.
Reload Menu - Tool NRestrict
☰ 9. How do I select an existing restriction zone?
Take the tool in hand, open the reload menu and select the Selection mode in the top right-hand corner. Click on the P1 or P2 point of a zone to select it. When a zone is selected, the points that make it up become white instead of red.
2 Types of Zones
☰ 10. How do I modify the parameters of a selected zone?
Select a zone, and its variables will be displayed in the left-hand section of the Reload menu. Or from the zone list in the management menu.
Reload Menu - Tool NRestrict
☰ 11. How do I delete a restriction zone that has already been set up?
From the management menu, go to the zone list, right-click (as in the example below zone 11) and the delete option appears. You can also simply take the tool out and switch to delete mode in its Reload menu at top right, click once on a zone to select it (the dots turn white when selected) and click a second time to delete it, this method avoids accidental deletions.
Delete Restricted Zone - NRestrict
☰ 12. How can I create groups of jobs / roles / categories instead of defining them one by one in each zone?
Yes, you no longer have to run to each zone to add or remove a new job. Instead, you create groupings that you can assign to the job's whitelist or blacklist, and if one day you need to add a new job or role, you simply add it to this grouping, drastically reducing the size of your backups. Smaller also means faster loading.
☰ 13. How do I create a customized group of jobs, roles or categories for use in zones?
In the management menu, go to Group management.
Click on the + Add new Group button to create a new group.
On the right, choose the jobs, roles or categories you wish to include in this group by selecting them from the list.

Once the group has been created, you can use it in zone whitelists or blacklists.
Create Groups of Jobs, Roles, Categories Job - Nrestrict
☰ 14. How do I assign jobs, roles or categories to the whitelist or blacklist of restricted zones?
Once you've created your various groups, you'll see the group names when you click on the whitelist or blacklist button to define which group to associate with the zone.
Assign a job group to the whitelist or blacklist of a restricted zone
☰ 15. Are the restrictions cumulative?
Yes, you can combine a minimum level requirement with a maximum + a reputation level requirement + a blacklist + a whitelist.
☰ 16. How do I define a player's teleport point when expelled from a zone?
When configuring a restriction zone, you have two options for managing expulsion:
-Push the player out from the center of the zone.
-Teleport the player to a specific point, with a defined position and orientation.

To activate teleportation, position yourself in the desired location, looking in the right direction, then open the menu and validate by clicking on the green tick. (See image below for illustration)
Push out of zone or tp to a poinr
☰ 17. How can I automatically push a player out of the zone instead of teleporting him?
To expel a player by pushing him out of the zone, rather than teleporting him to a fixed point, you need to deactivate the Ejection Point option.

Make sure Ejection Point is set to OFF.
In this mode, the player will be automatically pushed out, in the opposite direction to the center of the zone. Whether spherical or cubic. (See image below for illustration)
Push out of zone or tp to a poinr
☰ 18. How do I define a minimum or maximum level required to enter a zone?
In the zone configuration menu, you can define a level restriction using the fields :

- Level Min: minimum level required to enter the zone
- Level Max: maximum level allowed

Any player outside this range will be automatically expelled or blocked, depending on the settings you choose.
Restrict a zone by reputation on gmod
☰ 19. How can I restrict access to an area based on a player's reputation (karma)?
In the same menu, you can also define a range of authorized reputations (karma):
- Karma: minimum reputation required

This allows you, for example, to restrict access to certain areas to players with a low level of karma.
Restrict a zone by reputation on gmod
☰ 20. How can I inflict damage (loss of life) when a player is expelled from a zone?
In the zone configuration menu, you can define an amount of hit points to be removed when a player is expelled.
This can be used to simulate a shock, electrical alarm or other punishing effect.

➡️ Field: Health points lost
Enter here the number of health points the player will lose on expulsion.

For example:
10 = the player will lose 10 HP
0 = no damage inflicted. OFF

Limiter une zone en fonction de la réputation sur gmod
☰ 21. How do I reset NRestrict?
To reset NRestrict, click on the blue “Refresh” button at the top right of the interface.
A menu will open, allowing you to choose exactly what you wish to reset:
-Zones
-Groups
-Configurations

✅ This allows you to make a partial or complete reset without having to delete everything manually.
Blue reset button - NRestrictor
☰ 22. How to disable the NRestrict system without uninstalling it?
Enable the [DISABLE] Entire System option in the Server Options menu. This pauses the entire system without uninstalling the addon.
Server options menu - NRestrict
☰ 23. How to show only a chat notification when a player is restricted?
Check Chat Message Only in the Server Options. This disables the HUD and sounds, showing only a text message in the chat.
Server options menu - NRestrict
☰ 24. How to hide the reason for the ejection from the player?
Uncheck Show Eject Reason to Player in the Server Options. The player will be ejected without seeing the reason.
Server options menu - NRestrict
☰ 25. How to display all restricted zones to all players (ESP)?
Enable [ESP] Show All Zones to All Players to make every restricted zone visible, regardless of player access.
Server options menu - NRestrict
☰ 26. How to play a custom sound when a player is ejected?
Edit the Custom Sound on Eject field to enter the path of the desired sound file (recommended format: .wav).
Server options menu - NRestrict
☰ 27. How to change the delay before a player is ejected after the warning?
Adjust the Seconds Before Eject value to set how long (in seconds) the player has before being ejected.
Server options menu - NRestrict
☰ 28. How to show a confirmation popup with the restriction reason (OK button)?
Check Show Reason With OK Button. The player will have to click “OK” to close the warning with the displayed reason.
Server options menu - NRestrict
☰ 29. How to disable the HUD access denied message?
Uncheck Display Deny HUD Message in the HUD Customization settings. This removes the "Access Denied" message from the screen.
HUD Options - NRestrict
☰ 30. How to hide the “Restricted Zone” logo on screen?
Uncheck Display Restricted Zone Logo to stop showing the visual warning icon on the player’s screen.
HUD Options - NRestrict
☰ 31. How to customize the appearance of the logo and warning message on screen?
Use the HUD Customization options:
- HUD Color: Main color of the logo and message
- HUD Position: Display corner
- HUD Size Scale: Logo size
- Use Blur Background: Adds background blur behind the text
- Custom Warning Text: Message to display when restricted

HUD Options - NRestrict