Hello,
I have been trying to add a custom command in GSM for an example I put !FPS then when someone executes that command it says Permission.error i do not remember but i remember it is due to permission error.
This file is from config\plugins\customcommands.json
Code
		
			{
    "customcommands": {
        "enabled": true,
        "commands": {
            "execute": "exec <ARG>",
            "kickall": "kick all",
			"fps": "cmd fps:<PLAYER:PID>",
this is from config\groups.json
Code
		
					
				{
    "ops": {
        "displayname": "Operator",
        "inheritance": [],
        "permissions": [
            "*"
        ],
        "shownasadmin": true,
        "needstologin": false
    },
    "admins": {
        "displayname": "Administrator",
        "inheritance": [
            "mods"
        ],
        "permissions": [
            "daemon.map.change.*",
            "daemon.map.dev",
            "daemon.map.reset",
            "daemon.map.restart",
            "daemon.map.rotate",
            "daemon.map.set.*",
            "daemon.pb.banlist",
            "daemon.pb.restart",
            "daemon.pb.unban",
            "daemon.pb.update",
            "daemon.round.*",
            "daemon.set.*",
			"daemon.fs",
			"daemon.forcespec",
			"daemon.master",
            "punishment.immunity.ban",
            "punishment.immunity.kick",
            "punishment.immunity.kill",
            "punishment.immunity.tempban",
            "punishment.immunity.warn",
            "punishments.punish.ban.*",
            "punishments.score.remove.*",
            "punishments.unban",
            "votings.vote.cancel",
            "votings.vote.pass"
        ],
        "shownasadmin": true,
        "needstologin": false
    },
    "mods": {
        "displayname": "Moderator",
        "inheritance": [
            "vips"
        ],
        "permissions": [
            "daemon.info.*",
            "daemon.move.*",
            "daemon.say",
            "daemon.scream",
            "daemon.whisper",
            "daemon.yell",
            "nameprotection.immunity.identicname",
            "nameprotection.immunity.namechanges",
            "nameprotection.immunity.reservedname",
            "nuke.*",
            "pingchecker.pingkick.*",
            "punishment.punish.kick.*",
            "punishment.punish.kill.*",
            "punishment.score.get.*",
            "punishment.score.list.*",
            "punkbuster.pb.getss",
            "statistics.stats.reset.*",
            "twofactorauth.secret"
        ],
        "shownasadmin": true,
        "needstologin": false
    },
    "vips": {
        "displayname": "Very Important Player",
        "inheritance": [
            "default"
        ],
        "permissions": [
            "-daemon.get.password",
            "antiteamkill.immunity",
            "balancer.balance",
            "censor.immunity.badname",
            "censor.immunity.badword",
            "censor.immunity.uppercasename",
            "censor.immunity.uppercaseword",
            "daemon.aliases.*",
            "daemon.get.*",
            "daemon.pb.version",
            "daemon.players",
            "daemon.status",
            "geoip.location.*",
            "nuke.immunity",
            "permissions.group.get.*",
            "pingchecker.immunity.maxping",
            "pingchecker.immunity.minping",
            "pingchecker.immunity.pingkick",
            "punishments.punish.tempban.*",
            "statistics.stats.reset",
            "statistics.stats.server",
            "statistics.stats.show.*",
            "votings.immunity.ban",
            "votings.immunity.kick",
            "votings.immunity.tempban",
            "weaponrestrictions.immunity"
        ],
        "shownasadmin": false,
        "needstologin": false
    },
    "default": {
        "displayname": "Player",
        "permissions": [
            "antiteamkill.forgive",
            "antiteamkill.tki",
            "daemon.about",
            "daemon.admins",
            "daemon.aliases",
            "daemon.cointoss",
            "daemon.commands",
            "daemon.gametype.get",
            "daemon.gametype.list",
            "daemon.help",
            "daemon.info",
            "daemon.map.get",
            "daemon.map.list",
            "daemon.time",
			"+daemon.fps.*",
			"+daemon.fov.*",
            "funmessages.fun.*",
            "geoip.location",
            "permissions.group.get",
            "permissions.token.use",
            "punishments.score.get",
            "punishments.score.list",
            "reports.report",
            "rules.rules",
            "statistics.stats.session",
            "statistics.stats.show",
            "votings.vote.choice",
            "votings.vote.no",
            "votings.vote.skip",
            "votings.vote.start.*",
            "votings.vote.yes"
        ],
        "shownasadmin": false,
        "needstologin": false
    }
}