Group or team auth
Bind flag changes to a Roblox group, a Team, either, or anyone — globally or per pole.
Full nation catalog
Searchable picker backed by world flag textures plus every passport-system asset nation.
Drop-in poles
Auto-wires Workspace.Flags and any Model tagged CustomizableFlag.
Nation Flag System
ProximityPrompt + searchable ScreenGui for setting flag-hall poles to any nation.
Docs are built with Moonwave — see docs/ and run moonwave dev.
Features
- Auth: global or per-pole
Group/Team/Either/Anyone - Nations: ~250 world flags + every passport-system asset nation
- Picker: searchable list (passport nations sorted first)
Setup
From GitHub Releases (recommended)
- Open the latest release and download
nation-flag-system.rbxm. - In Studio, drag it into the viewport (or Insert from File).
- Move the folder contents into your place:
| From the release Folder | Move into |
|---|---|
ReplicatedStorage.NationFlagSystem | ReplicatedStorage |
ServerScriptService.NationFlagSystem | ServerScriptService |
StarterPlayerScripts.NationFlagSystem | StarterPlayer.StarterPlayerScripts |
- Edit
Config, then play. Poles underWorkspace.Flags(orConfig.FlagFolderPath) are auto-wired.
Tagged releases (v*) publish this .rbxm via CI (rojo build release.project.json).
From source (Rojo)
git clone https://github.com/metricrb/nation-flag-system.git
cd nation-flag-system
aftman install
rojo serve default.project.json
Build the release model locally:
rojo build release.project.json --output nation-flag-system.rbxm
Per-pole attributes
| Attribute | Description |
|---|---|
AuthMode | Group, Team, Either, Anyone |
GroupId | Roblox group id |
MinGroupRank | Minimum group rank |
TeamName | Exact team name |
Config defaults
AuthMode = "Either"TeamName = "Staff"GroupId = 0(disabled until set)
Documentation
npm i -g moonwave@latest
moonwave dev # local preview
moonwave build # static site
moonwave build --publish # GitHub Pages
Guides live in docs/. API reference is generated from Moonwave comments in src/.