PermissionsLite configuration
The PermissionsLite config.json controls how the plugin runs on your Ark Survival Ascended server. Every setting is listed below with what it does and its default value.
Where it lives
Drop the file on your server at ArkApi/Plugins/PermissionsLite/config.json then reload the plugin or restart the server. Keep a backup before large changes.
Every setting
Language
Language: which language file PermissionsLite speaks from. It loads lang/<code>.json from the lang folder next to this config, so "en" reads lang/en.json. Want another language? Copy lang/en.json to lang/de.json (or any code), translate the words on the right of each line, keep every {curly} placeholder just as it is, then set Language to "de". A missing file or a missing line falls back to English, so nothing shows up blank.
LangAutoFill
LangAutoFill: keeps your language file up to date when you update me. When a new build adds new lines, I read your file, add only the lines you are missing, and never touch a word you wrote. Your old file is saved as a .bak first. Set it to false if you manage the files yourself and want me to leave them alone.
SenderName
SenderName: what goes in front of my chat lines. Leave it empty ("") and you get the normal green "(SERVER):" line ARK draws itself. Put a name in and my chat lines come from that name instead. Two tags get filled in for you: {map} becomes the map name and {server} becomes the ServerName from discord.json. Chat lines only. The on screen pop up never shows a name.
General
- Debug togglefalse
- Debug: true prints extra tracing to ArkApi.log, like every point charge, every database step, and every license check. Keep it false unless you are chasing a bug.
Server
Server: how this server names itself. On a cluster every map needs its own name, because I stamp my name on every database claim and Discord post, and the join lookup has to know which map did what. You almost never need to fill this in by hand, because I read the name from your launch line on my own.
- Name textempty
- Name: write a name here and I use it as is, no questions asked. Leave it empty and I work the name out from the launch line instead, which is the normal way.
- NameFromParams list["-ServerName=","-serverkey=","-clustermap=","?SessionName="]
- NameFromParams: the launch line pieces I look at, in order, until one gives me a name. The list covers the common ways owners start their servers. Add your own token here if your launcher passes the name some other way.
- UseSessionName togglefalse
- UseSessionName: true also lets me fall back to the session name the game itself reports. It is off by default because some hosts put long messy text there.
- Id textempty
- Id: the short tag I write into the database columns, made from the name if you leave this empty. Set it only if two of your maps end up with the same tag.
License
- Key textempty
- Key: your PermissionsLite license key from NordBots.cc. It starts with NB-. Without a valid key I stop handing new ranks out, but every rank already out there still runs out on its own clock, so your players never keep perks they should have lost. Paste the key, save, then run PermissionsLite.Reload.
Commands
- RankCMD text"/rank"
- RankCMD: the chat word players type to see their ranks. It also carries the helpers: "/rank next" shows the ladder, "/rank offers" lists rentals, and "/rank buy <name>" rents one.
- TrialCMD text"/trial"
- TrialCMD: the chat word for the one time trial rank, if you turn trials on below.
Welcome
- Enabled toggletrue
- Enabled: true means every brand new player starts on the ladder named in Track the moment they first join. This is the heart of the plugin.
- Track text"Citizens"
- Track: the name of the ladder from the Tracks section below that new players start on.
- AdoptExisting togglefalse
- AdoptExisting: what to do with a player I have no record of but who is clearly not new, because the Permissions plugin already knows them from before I was installed. false means I file them quietly with no starter rank, which is what you want on a server that has been up for a while. true means everyone unknown to me starts the ladder, which is right for a fresh server or a fresh wipe.
Tracks
Tracks: your rank ladders. Each ladder has a name, a clock, and a list of rungs. A rung is a Permissions group plus how long the player stays on it. When a rung runs out the player moves up to the next one by themselves, with a message in game and a post to Discord. You can add more ladders here; the Welcome section picks which one new players start on.
- Citizens group
- Clock text"Calendar"
- Clock: "Calendar" counts real days, so a player climbs even while offline. "Playtime" counts only time spent on the server, so someone who plays two hours a week climbs slowly. Pick per ladder.
- DecayAfterDays number0
- DecayAfterDays: how many days away before a player slides back down one rung. 0 turns decay off, which is the default. With 60, a player gone two months drops one rung, and the rung they land on counts played time, so they play their way back up instead of waiting. The slide repeats each period they stay away, but never below the first rung.
- Rungs list[{"Group":"Newcomer","Duration":"3d"},{"Group":"Settler","Duration":"11d"},{"Group":"Resident","Duration":"perm"}]
- Rungs: the steps, in order. Duration takes forms like 90m, 12h, 3d, 2w. Write "perm" for the last rung to make it a rank the player keeps for good. Every Group here must exist in the Permissions plugin first.
Trial
- Enabled togglefalse
- Enabled: true lets every player type the trial command once, ever, and taste a rank for a while. It is a great way to sell your real VIP.
- Group text"VIPTrial"
- Group: the Permissions group the trial hands out. Make a group for it so you can tune what a trial player gets.
- Duration text"48h"
- Duration: how long the taste lasts. Forms like 48h or 3d.
- Cost number0
- Cost: shop points the trial costs. 0 makes it free. Needs ArkShop or WShop when above 0.
- OncePerPlayer toggletrue
- OncePerPlayer: true means one trial per player for ever, tied to their EOS id.
- AutoAtPlayedHours number0
- AutoAtPlayedHours: hand the trial out by itself, free, the moment a player crosses this many played hours. The taste arrives right when they are hooked, which is the best sales moment you have. 0 turns it off. A player who already used their trial does not get a second one.
- PitchLine textempty
- PitchLine: your own words, added to the warning a trial player sees when their trial is about to run out. Tell them how to keep the rank, for example "Type /rank offers to keep it going." Leave it empty for no extra line.
Rent
- Enabled togglefalse
- Enabled: true opens rank rental. Players pay shop points for a timed group and can pay again to stretch it. Needs ArkShop or WShop running.
- Offers list[{"Name":"vip-week","Group":"VIP","Duration":"7d","Cost":5000,"MaxStacked":"30d"}]
- Offers: the price list. Name is the word players type after "/rank buy". Group must exist in Permissions. Duration is what one purchase buys. Cost is the point price for one purchase. MaxStacked caps how much time a player can pile up at once, so "30d" means never more than thirty days ahead. Leave MaxStacked as "" for no cap.
WelcomeBack
- Enabled togglefalse
- Enabled: true gives a player who has been away a while a little rank as a welcome home present when they return.
- AwayDays number30
- AwayDays: how many days away counts as a long break. 30 means about a month. A bigger number makes the present rarer, a smaller one makes it common.
- Group text"Returning"
- Group: the Permissions group the returning player gets.
- Duration text"72h"
- Duration: how long they keep it. Forms like 72h or 5d.
Happenings
Happenings: timed group windows that repeat every week. While a window is on, every player online gets the named group until the window closes, then it removes itself. Great for a weekend boost or a raid night.
- Enabled togglefalse
- Enabled: true turns the windows on.
- Windows list[{"Name":"WeekendBoost","Group":"Boosted","Start":"Fri 18:00","End":"Sun 23:59"}]
- Windows: each one has a Name (shown to players), a Group from Permissions, and a weekly Start and End written as a day plus a clock time in the server's own time zone, like "Fri 18:00". Days are Mon, Tue, Wed, Thu, Fri, Sat, Sun. A window may wrap past Sunday into the new week.
Warnings
- Enabled toggletrue
- Enabled: true warns a player before a timed rank runs out, in game and on Discord.
- Points list["24h","1h","10m"]
- Points: when the warnings fire, counted back from the end. The list above says one warning a day before, one an hour before, and one ten minutes before. Each point fires once per rank. Use forms like 24h, 1h, 10m.
- Style text"Notification"
- Style: how the warning shows. "Notification" is the on screen pop up, "Chat" is a chat line, "Server" is the plain server message box.
Engine
- SafetyFactor number4
- SafetyFactor: my safety net for playtime ladders. I always hand the Permissions plugin a timed grant a few times longer than the play time left, then take the rank back myself at the exact right moment. If I am ever removed or crash, that longer timer still ends the rank on its own. 4 means four times longer. Bigger means a removed plugin leaves ranks around longer, smaller means less slack.
- SaveEverySeconds number60
- SaveEverySeconds: how often I write played seconds and changed ranks to the database. 60 is a good middle. Smaller writes more often, bigger risks losing a little played time in a crash.
- CeilingEverySeconds number600
- CeilingEverySeconds: how often I refresh that safety net timer for players who are online on a playtime ladder. 600 is every ten minutes, which is plenty.
- OnlyCountPlaytimeWhenMoving togglefalse
- OnlyCountPlaytimeWhenMoving: true stops parked players from farming playtime ladders overnight. A second only counts when the player has moved since I last looked. false counts every online second, which is the default.
- IdleMoveThreshold number30
- IdleMoveThreshold: how far a player must move, in game units, for a second to count when the switch above is on. 30 catches walking. A bigger number makes the idle check stricter, a smaller one makes it softer.
- SeasonTag text"s1"
- SeasonTag: a word for the current season. Change it at a wipe, for example to "s2", and every player I meet after that starts fresh ladders while the old records stay in the database for your history.
Permissions
- Enabled toggletrue
- Enabled: kept for the standard config shape. The Permissions plugin is the one I build on, so I always talk to it when it is there and sit quietly when it is not.
ArkShop
- Enabled toggletrue
- Enabled: true lets me charge points for trials and rentals. I work with both point shops. false means anything with a price is off.
- Provider text"Auto"
- Provider: which points shop I talk to. "Auto" takes ArkShop first, then WShop, whichever is running. Write "ArkShop" or "WShop" to pin one. A wrong word here falls back to Auto with a note in the log.
Database
- UseMySQL togglefalse
- UseMySQL: false uses a SQLite file next to my configs, which needs no setup and is right for a single server. true uses MySQL, which is what you want for a cluster, because every map then shares one set of players, ranks, and clocks, and a player who first joins on one map is not new on the next.
- SQLiteDatabasePath textempty
- SQLiteDatabasePath: leave empty to use my data folder. Only for SQLite. Do not point two servers at the same SQLite file; use MySQL for that.
- TablePrefix text"PermLite"
- TablePrefix: the front part of my table names, so PermLite makes PermLite_players, PermLite_grants, and PermLite_trail. Change it only if the names clash.
- Host text"127.0.0.1"
- The rest is your MySQL login. Only read when UseMySQL is true.
- Port number3306
- User textempty
- Password textempty
- Database textempty
- MysqlSSLMode number-1
- MysqlTLSVersion textempty
ApiUtilsMod
- Enabled toggletrue
- Enabled: true shows my messages as a clean box on screen through the free ASA API Utils mod (CurseForge mod id 955333). Without the mod everything still works as plain chat, so this is a nice extra, never a must.
- BackdropColor list[0,0,0,0.55]
- BackdropColor: the box color behind the words, as red, green, blue, and see through, each 0.0 to 1.0. The last number is how solid the box is.
- ScreenPosition text"Center"
- ScreenPosition: where the box sits. Left, Center, or Right.
- TextAlign text"Center"
- TextAlign: how the words line up inside the box. Left, Center, or Right.
- TextScale number1
- TextScale: word size. 1.0 is normal, 1.5 is half again bigger.
- MessageSeconds number6
- MessageSeconds: how long the box stays up.
- AlsoShowInChat toggletrue
- AlsoShowInChat: true also drops the same words in chat, so nobody misses them while the box fades.
MapName
- Pretty toggletrue
- Pretty: true turns raw level names like TheIsland_WP into The Island wherever a player might read them. false leaves them raw.
- Overrides group
- Overrides: your own names per raw level name, for example { "TheIsland_WP": "Home Island" }. An override wins over Pretty.
Panel
Panel: the little rank window drawn by the free NordBots UI mod. With the mod installed, a bare /rank also opens a window that shows the ranks a player holds and the whole ladder they can climb. Without the mod nothing changes and /rank keeps talking in chat like it always has. The window shows things and that is all. Buying, trials, and every staff action stay in chat and console.
- Enabled toggletrue
- Enabled: true lets me look for the mod and hand out windows. false means I never go looking and /rank stays chat only. Turn it off if the mod is not on your server and you want me to skip that work.
- RowsPerPage number10
- RowsPerPage: how many rows one page of the ladder window holds. A tall ladder gets page buttons past this count. 12 is the most the window can take.
- TopCount number10
- TopCount: how many rows a top list window would hold. This plugin has no top list yet, but every plugin with a window carries the same Panel keys, so the setting rides along. 12 is the ceiling here too.
- BuffTag text"NordBotsUIBuff"
- BuffTag: the tag on the buff the mod puts on each player. The window travels through that buff, and I find it by this tag first. Change it only if the mod maker says the tag changed.
- BuffPath text"NordBotsUI/Buff_NordBotsUI"
- BuffPath: the folder inside the mod where that buff lives. My fallback way of finding the buff when the tag is not set. Leave it as it is.
- SingletonPath text"Blueprint'/NordBotsUI/NordBotsUI_Singleton.NordBotsUI_Singleton'"
- SingletonPath: the mod's main actor. I read the mod's version number from it so I know we speak the same language. Leave it as it is.
- RequireHandshake togglefalse
- RequireHandshake: what happens when I cannot find a version number on the mod at all. false sends the window anyway and lets the mod skip anything it does not know, which suits nearly every server. true holds every window back until I read a version that matches mine. A version that reads plain wrong always stops the window, whatever you put here.
The full commented config
This is a reading copy with notes. It is not valid JSON, so do not load it. Use the editor or the plain config.json instead.
{
// PermissionsLite notes. Every key from config.json is written out here with what it does.
// The notes make this file bad JSON, so the plugin will not read it. Change config.json.
//
// The short story: this plugin sits on top of the free Permissions plugin and runs your
// ranks for you. New players get a starter group the moment they first join. Groups can
// form a ladder that moves players up on its own. Ranks can be tried once for free or
// rented with shop points. Everything it does is written to a database, and every rank
// it hands out removes itself on time, even if you delete this plugin later.
//
// You need the free Permissions plugin installed, and the groups you name below must
// exist in it. Make them with Permissions.AddGroup <name> and give them their perks
// with Permissions.Grant <name> <permission>.
// Language: which language file PermissionsLite speaks from. It loads lang/<code>.json
// from the lang folder next to this config, so "en" reads lang/en.json. Want another
// language? Copy lang/en.json to lang/de.json (or any code), translate the words on the
// right of each line, keep every {curly} placeholder just as it is, then set Language
// to "de". A missing file or a missing line falls back to English, so nothing shows up
// blank.
"Language": "en",
// LangAutoFill: keeps your language file up to date when you update me.
// When a new build adds new lines, I read your file, add only the lines you are
// missing, and never touch a word you wrote. Your old file is saved as a .bak first.
// Set it to false if you manage the files yourself and want me to leave them alone.
"LangAutoFill": true,
// SenderName: what goes in front of my chat lines.
// Leave it empty ("") and you get the normal green "(SERVER):" line ARK draws itself.
// Put a name in and my chat lines come from that name instead. Two tags get filled in
// for you: {map} becomes the map name and {server} becomes the ServerName from
// discord.json. Chat lines only. The on screen pop up never shows a name.
"SenderName": "",
"General": {
// Debug: true prints extra tracing to ArkApi.log, like every point charge, every
// database step, and every license check. Keep it false unless you are chasing a bug.
"Debug": false
},
// Server: how this server names itself. On a cluster every map needs its own name,
// because I stamp my name on every database claim and Discord post, and the join
// lookup has to know which map did what. You almost never need to fill this in by
// hand, because I read the name from your launch line on my own.
"Server": {
// Name: write a name here and I use it as is, no questions asked. Leave it empty
// and I work the name out from the launch line instead, which is the normal way.
"Name": "",
// NameFromParams: the launch line pieces I look at, in order, until one gives me a
// name. The list covers the common ways owners start their servers. Add your own
// token here if your launcher passes the name some other way.
"NameFromParams": [
"-ServerName=",
"-serverkey=",
"-clustermap=",
"?SessionName="
],
// UseSessionName: true also lets me fall back to the session name the game itself
// reports. It is off by default because some hosts put long messy text there.
"UseSessionName": false,
// Id: the short tag I write into the database columns, made from the name if you
// leave this empty. Set it only if two of your maps end up with the same tag.
"Id": ""
},
"License": {
// Key: your PermissionsLite license key from NordBots.cc. It starts with NB-.
// Without a valid key I stop handing new ranks out, but every rank already out
// there still runs out on its own clock, so your players never keep perks they
// should have lost. Paste the key, save, then run PermissionsLite.Reload.
"Key": ""
},
"Commands": {
// RankCMD: the chat word players type to see their ranks. It also carries the
// helpers: "/rank next" shows the ladder, "/rank offers" lists rentals, and
// "/rank buy <name>" rents one.
"RankCMD": "/rank",
// TrialCMD: the chat word for the one time trial rank, if you turn trials on below.
"TrialCMD": "/trial"
},
"Welcome": {
// Enabled: true means every brand new player starts on the ladder named in Track
// the moment they first join. This is the heart of the plugin.
"Enabled": true,
// Track: the name of the ladder from the Tracks section below that new players start on.
"Track": "Citizens",
// AdoptExisting: what to do with a player I have no record of but who is clearly not
// new, because the Permissions plugin already knows them from before I was installed.
// false means I file them quietly with no starter rank, which is what you want on a
// server that has been up for a while. true means everyone unknown to me starts the
// ladder, which is right for a fresh server or a fresh wipe.
"AdoptExisting": false
},
// Tracks: your rank ladders. Each ladder has a name, a clock, and a list of rungs.
// A rung is a Permissions group plus how long the player stays on it. When a rung
// runs out the player moves up to the next one by themselves, with a message in game
// and a post to Discord. You can add more ladders here; the Welcome section picks
// which one new players start on.
"Tracks": {
"Citizens": {
// Clock: "Calendar" counts real days, so a player climbs even while offline.
// "Playtime" counts only time spent on the server, so someone who plays two
// hours a week climbs slowly. Pick per ladder.
"Clock": "Calendar",
// DecayAfterDays: how many days away before a player slides back down one rung.
// 0 turns decay off, which is the default. With 60, a player gone two months
// drops one rung, and the rung they land on counts played time, so they play
// their way back up instead of waiting. The slide repeats each period they
// stay away, but never below the first rung.
"DecayAfterDays": 0,
// Rungs: the steps, in order. Duration takes forms like 90m, 12h, 3d, 2w.
// Write "perm" for the last rung to make it a rank the player keeps for good.
// Every Group here must exist in the Permissions plugin first.
"Rungs": [
{ "Group": "Newcomer", "Duration": "3d" },
{ "Group": "Settler", "Duration": "11d" },
{ "Group": "Resident", "Duration": "perm" }
]
}
},
"Trial": {
// Enabled: true lets every player type the trial command once, ever, and taste a
// rank for a while. It is a great way to sell your real VIP.
"Enabled": false,
// Group: the Permissions group the trial hands out. Make a group for it so you can
// tune what a trial player gets.
"Group": "VIPTrial",
// Duration: how long the taste lasts. Forms like 48h or 3d.
"Duration": "48h",
// Cost: shop points the trial costs. 0 makes it free. Needs ArkShop or WShop when
// above 0.
"Cost": 0,
// OncePerPlayer: true means one trial per player for ever, tied to their EOS id.
"OncePerPlayer": true,
// AutoAtPlayedHours: hand the trial out by itself, free, the moment a player
// crosses this many played hours. The taste arrives right when they are hooked,
// which is the best sales moment you have. 0 turns it off. A player who already
// used their trial does not get a second one.
"AutoAtPlayedHours": 0,
// PitchLine: your own words, added to the warning a trial player sees when their
// trial is about to run out. Tell them how to keep the rank, for example
// "Type /rank offers to keep it going." Leave it empty for no extra line.
"PitchLine": ""
},
"Rent": {
// Enabled: true opens rank rental. Players pay shop points for a timed group and
// can pay again to stretch it. Needs ArkShop or WShop running.
"Enabled": false,
// Offers: the price list. Name is the word players type after "/rank buy".
// Group must exist in Permissions. Duration is what one purchase buys.
// Cost is the point price for one purchase. MaxStacked caps how much time a player
// can pile up at once, so "30d" means never more than thirty days ahead. Leave
// MaxStacked as "" for no cap.
"Offers": [
{ "Name": "vip-week", "Group": "VIP", "Duration": "7d", "Cost": 5000, "MaxStacked": "30d" }
]
},
"WelcomeBack": {
// Enabled: true gives a player who has been away a while a little rank as a welcome
// home present when they return.
"Enabled": false,
// AwayDays: how many days away counts as a long break. 30 means about a month.
// A bigger number makes the present rarer, a smaller one makes it common.
"AwayDays": 30,
// Group: the Permissions group the returning player gets.
"Group": "Returning",
// Duration: how long they keep it. Forms like 72h or 5d.
"Duration": "72h"
},
// Happenings: timed group windows that repeat every week. While a window is on,
// every player online gets the named group until the window closes, then it removes
// itself. Great for a weekend boost or a raid night.
"Happenings": {
// Enabled: true turns the windows on.
"Enabled": false,
// Windows: each one has a Name (shown to players), a Group from Permissions, and
// a weekly Start and End written as a day plus a clock time in the server's own
// time zone, like "Fri 18:00". Days are Mon, Tue, Wed, Thu, Fri, Sat, Sun. A
// window may wrap past Sunday into the new week.
"Windows": [
{ "Name": "WeekendBoost", "Group": "Boosted", "Start": "Fri 18:00", "End": "Sun 23:59" }
]
},
"Warnings": {
// Enabled: true warns a player before a timed rank runs out, in game and on Discord.
"Enabled": true,
// Points: when the warnings fire, counted back from the end. The list above says
// one warning a day before, one an hour before, and one ten minutes before.
// Each point fires once per rank. Use forms like 24h, 1h, 10m.
"Points": ["24h", "1h", "10m"],
// Style: how the warning shows. "Notification" is the on screen pop up, "Chat" is a
// chat line, "Server" is the plain server message box.
"Style": "Notification"
},
"Engine": {
// SafetyFactor: my safety net for playtime ladders. I always hand the Permissions
// plugin a timed grant a few times longer than the play time left, then take the
// rank back myself at the exact right moment. If I am ever removed or crash, that
// longer timer still ends the rank on its own. 4 means four times longer. Bigger
// means a removed plugin leaves ranks around longer, smaller means less slack.
"SafetyFactor": 4,
// SaveEverySeconds: how often I write played seconds and changed ranks to the
// database. 60 is a good middle. Smaller writes more often, bigger risks losing a
// little played time in a crash.
"SaveEverySeconds": 60,
// CeilingEverySeconds: how often I refresh that safety net timer for players who
// are online on a playtime ladder. 600 is every ten minutes, which is plenty.
"CeilingEverySeconds": 600,
// OnlyCountPlaytimeWhenMoving: true stops parked players from farming playtime
// ladders overnight. A second only counts when the player has moved since I last
// looked. false counts every online second, which is the default.
"OnlyCountPlaytimeWhenMoving": false,
// IdleMoveThreshold: how far a player must move, in game units, for a second to
// count when the switch above is on. 30 catches walking. A bigger number makes
// the idle check stricter, a smaller one makes it softer.
"IdleMoveThreshold": 30.0,
// SeasonTag: a word for the current season. Change it at a wipe, for example to
// "s2", and every player I meet after that starts fresh ladders while the old
// records stay in the database for your history.
"SeasonTag": "s1"
},
"Permissions": {
// Enabled: kept for the standard config shape. The Permissions plugin is the one
// I build on, so I always talk to it when it is there and sit quietly when it is
// not.
"Enabled": true
},
"ArkShop": {
// Enabled: true lets me charge points for trials and rentals. I work with both
// point shops. false means anything with a price is off.
"Enabled": true,
// Provider: which points shop I talk to. "Auto" takes ArkShop first, then WShop,
// whichever is running. Write "ArkShop" or "WShop" to pin one. A wrong word here
// falls back to Auto with a note in the log.
"Provider": "Auto"
},
// Discord: look for discord.json next to this file. All the webhook settings moved
// there so this config stays easy to read. The keys are unchanged: Enabled, WebhookURL, AlertWebhookURL, Username, ServerName.
// I write discord.json myself at boot if it is missing, and an old Discord block in
// this config still counts, with discord.json winning where the two disagree.
"Database": {
// UseMySQL: false uses a SQLite file next to my configs, which needs no setup and
// is right for a single server. true uses MySQL, which is what you want for a
// cluster, because every map then shares one set of players, ranks, and clocks,
// and a player who first joins on one map is not new on the next.
"UseMySQL": false,
// SQLiteDatabasePath: leave empty to use my data folder. Only for SQLite. Do not
// point two servers at the same SQLite file; use MySQL for that.
"SQLiteDatabasePath": "",
// TablePrefix: the front part of my table names, so PermLite makes PermLite_players,
// PermLite_grants, and PermLite_trail. Change it only if the names clash.
"TablePrefix": "PermLite",
// The rest is your MySQL login. Only read when UseMySQL is true.
"Host": "127.0.0.1",
"Port": 3306,
"User": "",
"Password": "",
"Database": "",
"MysqlSSLMode": -1,
"MysqlTLSVersion": ""
},
"ApiUtilsMod": {
// Enabled: true shows my messages as a clean box on screen through the free
// ASA API Utils mod (CurseForge mod id 955333). Without the mod everything still
// works as plain chat, so this is a nice extra, never a must.
"Enabled": true,
// BackdropColor: the box color behind the words, as red, green, blue, and see
// through, each 0.0 to 1.0. The last number is how solid the box is.
"BackdropColor": [0.0, 0.0, 0.0, 0.55],
// ScreenPosition: where the box sits. Left, Center, or Right.
"ScreenPosition": "Center",
// TextAlign: how the words line up inside the box. Left, Center, or Right.
"TextAlign": "Center",
// TextScale: word size. 1.0 is normal, 1.5 is half again bigger.
"TextScale": 1.0,
// MessageSeconds: how long the box stays up.
"MessageSeconds": 6.0,
// AlsoShowInChat: true also drops the same words in chat, so nobody misses them
// while the box fades.
"AlsoShowInChat": true
},
"MapName": {
// Pretty: true turns raw level names like TheIsland_WP into The Island wherever a
// player might read them. false leaves them raw.
"Pretty": true,
// Overrides: your own names per raw level name, for example
// { "TheIsland_WP": "Home Island" }. An override wins over Pretty.
"Overrides": {}
},
// Panel: the little rank window drawn by the free NordBots UI mod. With the mod
// installed, a bare /rank also opens a window that shows the ranks a player holds
// and the whole ladder they can climb. Without the mod nothing changes and /rank
// keeps talking in chat like it always has. The window shows things and that is
// all. Buying, trials, and every staff action stay in chat and console.
"Panel": {
// Enabled: true lets me look for the mod and hand out windows. false means I
// never go looking and /rank stays chat only. Turn it off if the mod is not on
// your server and you want me to skip that work.
"Enabled": true,
// RowsPerPage: how many rows one page of the ladder window holds. A tall ladder
// gets page buttons past this count. 12 is the most the window can take.
"RowsPerPage": 10,
// TopCount: how many rows a top list window would hold. This plugin has no top
// list yet, but every plugin with a window carries the same Panel keys, so the
// setting rides along. 12 is the ceiling here too.
"TopCount": 10,
// BuffTag: the tag on the buff the mod puts on each player. The window travels
// through that buff, and I find it by this tag first. Change it only if the mod
// maker says the tag changed.
"BuffTag": "NordBotsUIBuff",
// BuffPath: the folder inside the mod where that buff lives. My fallback way of
// finding the buff when the tag is not set. Leave it as it is.
"BuffPath": "NordBotsUI/Buff_NordBotsUI",
// SingletonPath: the mod's main actor. I read the mod's version number from it
// so I know we speak the same language. Leave it as it is.
"SingletonPath": "Blueprint'/NordBotsUI/NordBotsUI_Singleton.NordBotsUI_Singleton'",
// RequireHandshake: what happens when I cannot find a version number on the mod
// at all. false sends the window anyway and lets the mod skip anything it does
// not know, which suits nearly every server. true holds every window back until
// I read a version that matches mine. A version that reads plain wrong always
// stops the window, whatever you put here.
"RequireHandshake": false
}
}