Refactor roles and permissions in roles.lua

This commit is contained in:
2026-06-23 20:44:51 +09:00
committed by GitHub
parent 068548889b
commit 7a29c2a5ae
+159 -168
View File
@@ -37,12 +37,7 @@ Roles.new_role("Senior Administrator", "SAdmin")
:set_flag("report-immune") :set_flag("report-immune")
:set_flag("instant-respawn") :set_flag("instant-respawn")
:set_parent("Administrator") :set_parent("Administrator")
:allow{ :set_allow_all()
"command/_rcon",
"command/debug",
"command/set-cheat-mode",
"command/research-all",
}
Roles.new_role("Administrator", "Admin") Roles.new_role("Administrator", "Admin")
:set_permission_group("Admin") :set_permission_group("Admin")
@@ -51,6 +46,21 @@ Roles.new_role("Administrator", "Admin")
:set_flag("is_spectator") :set_flag("is_spectator")
:set_flag("report-immune") :set_flag("report-immune")
:set_flag("instant-respawn") :set_flag("instant-respawn")
:set_parent("Senior Moderator")
:allow{
"command/_rcon",
"command/debug",
"command/set-cheat-mode",
"command/research-all"
}
Roles.new_role("Senior Moderator", "SMod")
:set_permission_group("Mod")
:set_custom_color{ r = 0, g = 170, b = 0 }
:set_flag("is_admin")
:set_flag("is_spectator")
:set_flag("report-immune")
:set_flag("instant-respawn")
:set_parent("Moderator") :set_parent("Moderator")
:allow{ :allow{
"gui/warp-list/bypass-proximity", "gui/warp-list/bypass-proximity",
@@ -59,17 +69,27 @@ Roles.new_role("Administrator", "Admin")
} }
Roles.new_role("Moderator", "Mod") Roles.new_role("Moderator", "Mod")
:set_permission_group("Admin") :set_permission_group("Mod")
:set_custom_color{ r = 0, g = 170, b = 0 } :set_custom_color{ r = 0, g = 170, b = 0 }
:set_flag("is_admin") :set_flag("is_admin")
:set_flag("is_spectator") :set_flag("is_spectator")
:set_flag("report-immune") :set_flag("report-immune")
:set_flag("instant-respawn") :set_flag("instant-respawn")
:set_parent("Trainee") :set_parent("Trainee Moderator")
:allow{
}
Roles.new_role("Trainee Moderator", "TrMod")
:set_permission_group("Mod")
:set_custom_color{ r = 0, g = 170, b = 0 }
:set_flag("is_admin")
:set_flag("is_spectator")
:set_flag("report-immune")
:set_parent("Board Member")
:allow{ :allow{
"command/assign-role", "command/assign-role",
"command/unassign-role", "command/unassign-role",
"command/repair", "command/admin-chat",
"command/kill/always", "command/kill/always",
"command/clear-tag/always", "command/clear-tag/always",
"command/spawn/always", "command/spawn/always",
@@ -80,54 +100,21 @@ Roles.new_role("Moderator", "Mod")
"command/clear-inventory", "command/clear-inventory",
"command/kill-enemies", "command/kill-enemies",
"command/remove-enemies", "command/remove-enemies",
--'command/bonus',
"command/home",
"command/set-home",
"command/get-home",
"command/return",
"command/connect-player", "command/connect-player",
"command/set-bot-queue", "command/set-bot-queue",
"command/set-game-speed", "command/set-game-speed",
"command/set-friendly-fire", "command/set-friendly-fire",
"command/set-always-day", "command/set-always-day",
"command/set-pollution-enabled", "command/set-pollution-enabled",
"command/clear-pollution", "command/clear-pollution",
"gui/rocket-info/toggle-active",
"gui/rocket-info/remote_launch",
"gui/bonus",
"fast-tree-decon",
}
Roles.new_role("Trainee", "TrMod")
:set_permission_group("Admin")
:set_custom_color{ r = 0, g = 170, b = 0 }
:set_flag("is_admin")
:set_flag("is_spectator")
:set_flag("report-immune")
:set_parent("Veteran")
:allow{
"command/admin-chat",
"command/goto",
"command/teleport",
"command/bring",
"command/create-warning", "command/create-warning",
"command/get-warnings", "command/get-warnings",
"command/get-reports", "command/get-reports",
"command/protect-entity", "command/protect-entity",
"command/protect-area", "command/protect-area",
"command/protect-tag", "command/protect-tag",
"command/jail",
"command/unjail",
"command/kick", "command/kick",
"command/ban", "command/ban",
"command/spectate",
"command/follow",
"command/search",
"command/search-online",
"command/search-amount",
"command/search-recent",
"command/clear-blueprints",
"gui/playerdata",
} }
--- Trusted Roles --- Trusted Roles
@@ -137,81 +124,92 @@ Roles.new_role("Board Member", "Board")
:set_flag("is_spectator") :set_flag("is_spectator")
:set_flag("report-immune") :set_flag("report-immune")
:set_flag("instant-respawn") :set_flag("instant-respawn")
:set_parent("Sponsor")
:allow{
"command/goto",
"command/repair",
"command/spectate",
"command/follow",
"gui/playerdata",
}
Roles.new_role("Senior Backer", "Backer")
:set_permission_group("Trusted")
:set_custom_color{ r = 238, g = 172, b = 44 }
:set_flag("is_spectator")
:set_flag("report-immune")
:set_flag("instant-respawn")
:set_parent("Sponsor")
:allow{
}
Roles.new_role("Sponsor", "Spon")
:set_permission_group("Trusted")
:set_custom_color{ r = 238, g = 172, b = 44 }
:set_flag("is_spectator")
:set_flag("report-immune")
:set_flag("instant-respawn")
:set_parent("Supporter") :set_parent("Supporter")
:allow{ :allow{
"gui/rocket-info/toggle-active", "gui/playerdata",
"gui/rocket-info/remote_launch", "command/teleport",
"gui/bonus", "command/bring",
--"command/bonus", "command/search",
"command/home", "command/search-online",
"command/set-home", "command/search-amount",
"command/get-home", "command/search-recent",
"command/return",
"fast-tree-decon",
} }
Roles.new_role("Supporter", "Sup") Roles.new_role("Supporter", "Sup")
:set_permission_group("Trusted") :set_permission_group("Trusted")
:set_custom_color{ r = 230, g = 99, b = 34 } :set_custom_color{ r = 230, g = 99, b = 34 }
:set_flag("is_spectator") :set_flag("is_spectator")
:set_parent("Veteran") :set_parent("Partner")
:allow{ :allow{
"command/tag-color",
"command/jail",
"command/unjail",
"command/set-join-message",
"command/remove-join-message",
} }
Roles.new_role("Partner", "Part") Roles.new_role("Partner", "Part")
:set_permission_group("Trusted") :set_permission_group("Trusted")
:set_custom_color{ r = 140, g = 120, b = 200 } :set_custom_color{ r = 140, g = 120, b = 200 }
:set_flag("is_spectator") :set_flag("is_spectator")
:set_parent("Veteran") :set_parent("Senior Member")
:allow{ :allow{
"command/jail",
"command/unjail",
} }
local hours10, hours250 = 10 * 216000, 250 * 60 Roles.new_role("Senior Member", "SMem")
:set_permission_group("Trusted")
:set_custom_color{ r = 140, g = 120, b = 200 }
:set_flag("is_spectator")
:set_parent("Member")
:allow{
}
Roles.new_role("Member", "Mem")
:set_permission_group("Trusted")
:set_custom_color{ r = 24, g = 172, b = 188 }
:set_flag("deconlog-bypass")
:set_parent("Veteran")
:allow{
"fast-tree-decon",
"gui/bonus",
--"command/bonus",
--"command/tag-color",
"command/set-join-message",
"command/remove-join-message",
"command/home",
"command/set-home",
"command/get-home",
"command/return",
"command/goto",
"command/jail",
"command/unjail",
"command/repair",
"command/spectate",
"command/follow",
}
local hours6, hours250 = 6 * 216000, 250 * 60
Roles.new_role("Veteran", "Vet") Roles.new_role("Veteran", "Vet")
:set_permission_group("Trusted") :set_permission_group("Trusted")
:set_custom_color{ r = 140, g = 120, b = 200 } :set_custom_color{ r = 140, g = 120, b = 200 }
:set_parent("Member") :set_parent("Member")
:allow{ :allow{
"gui/surveillance",
"gui/warp-list/add",
"gui/warp-list/edit",
"gui/tool",
"gui/vlayer-edit",
"gui/rocket-info/toggle-active",
"gui/rocket-info/remote_launch",
"command/chat-commands", "command/chat-commands",
"command/clear-ground-items", "command/clear-ground-items",
"command/clear-blueprints",
"command/clear-blueprints-radius", "command/clear-blueprints-radius",
"command/set-trains-to-automatic", "command/set-trains-to-automatic",
"command/set-auto-research", "command/set-auto-research",
"command/lawnmower",
"command/waterfill",
"command/artillery",
"command/save-quickbar",
"command/personal-logistic",
} }
:set_auto_assign_condition(function(player) :set_auto_assign_condition(function(player)
if player.online_time >= hours10 then if player.online_time >= hours6 then
return true return true
else else
local stats = Statistics:get(player, {}) local stats = Statistics:get(player, {})
@@ -221,43 +219,25 @@ Roles.new_role("Veteran", "Vet")
end) end)
--- Standard User Roles --- Standard User Roles
Roles.new_role("Member", "Mem") local hours1, hours15 = 1 * 216000, 15 * 60
:set_permission_group("Standard")
:set_custom_color{ r = 24, g = 172, b = 188 }
:set_flag("deconlog-bypass")
:set_parent("Regular")
:allow{
"gui/task-list/add",
"gui/task-list/edit",
"gui/warp-list/add",
"gui/warp-list/edit",
"gui/surveillance",
"gui/vlayer-edit",
"gui/tool",
"command/save-quickbar",
"command/vlayer-info",
"command/personal-logistic",
"command/lawnmower",
"command/waterfill",
"command/artillery",
}
local hours3, hours15 = 3 * 216000, 15 * 60
Roles.new_role("Regular", "Reg") Roles.new_role("Regular", "Reg")
:set_permission_group("Standard") :set_permission_group("Standard")
:set_custom_color{ r = 79, g = 155, b = 163 } :set_custom_color{ r = 79, g = 155, b = 163 }
:set_parent("Guest") :set_parent("Guest")
:allow{ :allow{
"standard-decon",
"bypass-entity-protection",
"bypass-nukeprotect",
"gui/task-list/add",
"gui/task-list/edit",
"command/kill", "command/kill",
"command/rainbow", "command/rainbow",
"command/spawn", "command/spawn",
"command/me", "command/me",
"standard-decon", "command/vlayer-info",
"bypass-entity-protection",
"bypass-nukeprotect",
} }
:set_auto_assign_condition(function(player) :set_auto_assign_condition(function(player)
if player.online_time >= hours3 then if player.online_time >= hours1 then
return true return true
else else
local stats = Statistics:get(player, {}) local stats = Statistics:get(player, {})
@@ -271,17 +251,6 @@ local default = Roles.new_role("Guest", "")
:set_permission_group("Guest") :set_permission_group("Guest")
:set_custom_color{ r = 185, g = 187, b = 160 } :set_custom_color{ r = 185, g = 187, b = 160 }
:allow{ :allow{
"command/tag",
"command/tag-clear",
"command/commands",
"command/get-roles",
"command/locate",
"command/create-report",
"command/ratio",
"command/server-ups",
"command/save-data",
"command/data-preference",
"command/connect",
"gui/player-list", "gui/player-list",
"gui/rocket-info", "gui/rocket-info",
"gui/science-info", "gui/science-info",
@@ -294,6 +263,17 @@ local default = Roles.new_role("Guest", "")
"gui/module", "gui/module",
"gui/landfill", "gui/landfill",
"gui/production", "gui/production",
-- "command/tag",
-- "command/tag-clear",
"command/commands",
"command/get-roles",
"command/locate",
"command/create-report",
"command/ratio",
"command/server-ups",
"command/save-data",
"command/data-preference",
"command/connect",
} }
--- Jail role --- Jail role
@@ -312,57 +292,68 @@ Roles.define_role_order{
"System", -- Best to keep root at top "System", -- Best to keep root at top
"Senior Administrator", "Senior Administrator",
"Administrator", "Administrator",
"Senior Moderator",
"Moderator", "Moderator",
"Trainee", "Trainee Moderator",
"Board Member", "Board Member",
"Senior Backer",
"Sponsor",
"Supporter", "Supporter",
"Partner", "Partner",
"Veteran", "Senior Member",
"Member", "Member",
"Veteran",
"Regular", "Regular",
"Jail",
"Guest", -- Default must be last if you want to apply restrictions to other roles "Guest", -- Default must be last if you want to apply restrictions to other roles
} }
Roles.override_player_roles{ Roles.override_player_roles{
["PHIDIAS0303"] = { "Moderator", "Board Member", "Member" }, ["PHIDIAS0303"] = { "Senior Administrator" },
["aldldl"] = { "Administrator", "Moderator", "Member" }, ["7h3w1z4rd"] = { "Moderator" },
["arty714"] = { "Senior Administrator", "Moderator", "Member" }, ["aldldl"] = { "Moderator" },
["Cooldude2606"] = { "Senior Administrator", "Moderator", "Member" }, ["arty714"] = { "Moderator" },
["Drahc_pro"] = { "Administrator", "Moderator", "Member" }, ["AssemblyStorm"] = { "Moderator" },
["mark9064"] = { "Administrator", "Moderator", "Member" }, ["banakeg"] = { "Moderator" },
["7h3w1z4rd"] = { "Moderator", "Member" }, ["connormkii"] = { "Moderator" },
["FlipHalfling90"] = { "Moderator", "Member" }, ["cydes"] = { "Moderator" },
["hamsterbryan"] = { "Moderator", "Member" }, ["Cooldude2606"] = { "Moderator" },
["HunterOfGames"] = { "Moderator", "Member" }, ["darklich14"] = { "Moderator" },
["NextIdea"] = { "Moderator", "Member" }, ["Drahc_pro"] = { "Moderator" },
["TheKernel32"] = { "Moderator", "Member" }, ["facere"] = { "Moderator" },
["TheKernel64"] = { "Moderator", "Member" }, ["freek18"] = { "Moderator" },
["tovernaar123"] = { "Moderator", "Member" }, ["FlipHalfling90"] = { "Moderator" },
["UUBlueFire"] = { "Moderator", "Member" }, ["Gizan"] = { "Moderator" },
["AssemblyStorm"] = { "Moderator", "Member" }, ["hamsterbryan"] = { "Moderator" },
["banakeg"] = { "Moderator", "Member" }, ["hidden_relic"] = { "Moderator" },
["connormkii"] = { "Moderator", "Member" }, ["Hova"] = { "Moderator" },
["cydes"] = { "Moderator", "Member" }, ["HunterOfGames"] = { "Moderator" },
["darklich14"] = { "Moderator", "Member" }, ["LoicB"] = { "Moderator" },
["facere"] = { "Moderator", "Member" }, ["M74132"] = { "Moderator" },
["freek18"] = { "Moderator", "Member" }, ["MadKatz"] = { "Moderator" },
["Gizan"] = { "Moderator", "Member" }, ["mafisch3"] = { "Moderator" },
["LoicB"] = { "Moderator", "Member" }, ["maplesyrup01"] = { "Moderator" },
["M74132"] = { "Moderator", "Member" }, ["mark9064"] = { "Moderator" },
["mafisch3"] = { "Moderator", "Member" }, ["nallaj"] = { "Moderator" },
["maplesyrup01"] = { "Moderator", "Member" }, ["NextIdea"] = { "Moderator" },
["ookl"] = { "Moderator", "Member" }, ["oof2win2"] = { "Moderator" },
["Phoenix27833"] = { "Moderator", "Member" }, ["ookl"] = { "Moderator" },
["porelos"] = { "Moderator", "Member" }, ["Phoenix27833"] = { "Moderator" },
["Ruuyji"] = { "Moderator", "Member" }, ["porelos"] = { "Moderator" },
["samy115"] = { "Moderator", "Member" }, ["Ruuyji"] = { "Moderator" },
["SilentLog"] = { "Moderator", "Member" }, ["samy115"] = { "Moderator" },
["Tcheko"] = { "Moderator", "Member" }, ["SilentLog"] = { "Moderator" },
["thadius856"] = { "Moderator", "Member" }, ["Tcheko"] = { "Moderator" },
["whoami32"] = { "Moderator", "Member" }, ["thadius856"] = { "Moderator" },
["Windbomb"] = { "Moderator", "Member" }, ["TheKernel32"] = { "Moderator" },
["XenoCyber"] = { "Moderator", "Member" }, ["TheKernel64"] = { "Moderator" },
["tovernaar123"] = { "Moderator" },
["UUBlueFire"] = { "Moderator" },
["whoami32"] = { "Moderator" },
["Windbomb"] = { "Moderator" },
["Windsinger"] = { "Moderator" },
["XenoCyber"] = { "Moderator" },
["Athenaa"] = { "Trainee Moderator" },
["hihicome3"] = { "Trainee Moderator" },
["JamesJung"] = { "Trainee Moderator" },
["konohaScarlet_"] = { "Trainee Moderator" },
["majoro"] = { "Trainee Moderator" },
["rongli"] = { "Trainee Moderator" },
} }