Skip to content

Configuration Guide

aurorasmiles edited this page Apr 3, 2020 · 17 revisions

v4.0

First a full Config file, for a BungeeCord Server and for a Spigot Server. After that we'll explain each option individually.

BungeeCord Configuration File

backend:
	type: YAML
	useuuids: true
	saveAllUsers: true
	deleteUsersOnCleanup: false
	uuidfetchercooldown: 3000
mysql:
	user: bungeeperms
	password: password
	tableprefix: bungeeperms_
	url: jdbc:mysql://localhost:3306/bungeeperms?autoReconnect=true&dontTrackOpenResources=true
debug:
	path: plugins/BungeePerms/debug.log
	showexceptions: true
	showlogs: false
permissions:
	useregexperms: false
	grouppermission: true
	resolvingmode: SEQUENTIAL
ingame:
	notify:
		promote: false
		demote: false
	tabcomplete: false
	terminate:
		prefix:
			reset: true
			space: true
		suffix:
			reset: true
			space: true
offlinecleanup:
	interval: 1800
	threshold: 600
misc:
	async-commands: true
	locale: en-GB
network:
	type: Global
	servers: []
version: 1

Spigot configuration file

backend:
	type: YAML
	useuuids: true
	saveAllUsers: true
	deleteUsersOnCleanup: false
	uuidfetchercooldown: 3000
mysql:
	user: bungeeperms
	password: password
	tableprefix: bungeeperms_
	url: jdbc:mysql://localhost:3306/bungeeperms?autoReconnect=true&dontTrackOpenResources=true
debug:
	path: plugins/BungeePerms/debug.log
	showexceptions: true
	showlogs: false
permissions:
	useregexperms: false
	grouppermission: true
	resolvingmode: SEQUENTIAL
	servername: servername
	allowops: true
	superpermscompat: false
ingame:
	notify:
		promote: false
		demote: false
	tabcomplete: false
	terminate:
		prefix:
			reset: true
			space: true
		suffix:
			reset: true
			space: true
offlinecleanup:
	interval: 1800
	threshold: 600
misc:
	async-commands: true
	locale: en-GB
	network:
	standalone: false
version: 1

General options

backend

type: the backend for the permissions. Available options: YAML,MYSQL
useuuids: should BP use UUIDs to recognize users? Available options: true,false Please note that if you disable this, other plugins like BungeeChat won't work with BungeePerms.
saveAllUsers: should BP save all Users, even users who have default ranks/permissions? Available options: true,false
deleteUsersOnCleanup: should Users with default ranks and permissions be deleted when using the cleanup command? Available options: true,false
uuidfetchercooldown: this is the cooldown needed when asking Mojang for UUIDS. You don't need to change that.

mysql

user: your MySQL-Username
password: the password for the MySQL-Username
tableprefix: The prefix of the BungeePerms tables. For example bungeeperms_permissions
url: The connection url that bungeeperms uses. In most cases you don't have to change anything, if your database runs on the same machine as your server. Otherwise, change localhost:3306 to the url to your database, for example cutiepie.at:3306

debug

path: the path where the Debug-File should be written. Uses your server directory as home.
showexceptions: should BP show exceptions in the console? Available options: true,false
showlogs: should BP show debug messages in the console? Available options: true,false

permissions

useregexperms: should BP use regular expressions for Permission resolving? Available options: true,false
grouppermission: should every group receive the permission "group.groupname" automatically? Available options: true,false
resolvingmode: how should BP resolve the permissions? Available options: SEQUENTIAL,BESTMATCH. SEQUENTIAL will check every permission sequentially, BESTMATCH tries to find the best match for the permission. Best-Match is still experimental.
servername: Spigot only - the name of the server (has to be the same name as defined in the BungeeCord configuration!
allowops: Spigot only - should server operators have default OP permissions or should OPs be ignored? Available options: true,false
superpermscompat: Spigot only - should BP integrate in SuperPerms? Available options: true,false

ingame

notify.promote: should Users be notified on promotion? Available options: true,false
notify.demote: should Users be notified on demotion? Available options: true,false
tabcomplete: enables tab completion for usernames. Available options: true,false
terminate.prefix.reset: should BP reset the color/font after the prefix? Available options: true,false
terminate.prefix.space: should BP add a space character after the prefix? Available options: true,false
terminate.suffix.reset: should BP reset the color/font after the suffix? Available options: true,false
terminate.suffix.reset: should BP add a space character after the suffix? Available options: true,false

offlinecleanup

interval: How often, in seconds, should cached offline players be unloaded.
threshold: How long should BP wait, in second, until an offline player becomes available for cleanup.

misc

async-commands: should BP commands run async? Available options: true,false
locale: change the language of BP

network

standalone: Spigot only - Whether or not this server runs its own BungeePerms network. Available options: true,false
type: BungeeCord only - Determines the type of the BungeePerms network. Global assumes all servers registered in your BungeeCord config remain in your BungeePerms network. ServerDependend limits the BungeePerms network to the servers registered at networkservers. ServerDependendBlacklist work like the ServerDependend but excludes the servers in networkservers. Standalone limits the network to BungeeCord only.
servers: BungeeCord only - Defines which servers are included in/excluded from the BungeePerms network. This option is only recongnized if networktype: ServerDependend or networktype: ServerDependendBlacklist.


v3.0

In BungeePerms 3.0 many things changed. BungeePerms has some common config and some platform specific options.

Common config options

useUUIDs
Descripton: Whether or not players are identified by their UUID.
Type: boolean
Possible values: true, false
Default value: false

useregexperms
Descripton: Whether or not permissions are used as regex to check permissions.
Type: boolean
Possible values: true, false
Default value: false
Note: Enabling can cause a higher load and check time.

grouppermission
Descripton: Whether or not the group.<groupname> is added to groups.
Type: boolean
Possible values: true, false
Default value: true

backendtype
Descripton: The kind of database in which permissions are stored.
Type: special
Possible values: YAML, MySQL, MySQL2
Default value: YAML
Recommented: MySQL2 (better performance, less RAM usage, multi server compatible)
Deprecated: MySQL (bad table layout, RAM usage)

uuidplayerdb
Descripton: The kind of database in which user names and their UUID are stored.
Type: special
Possible values: None, YAML, MySQL
Default value: None
Note: only used when useUUIDs: true

tablePrefix
Descripton: Wether or not the group.<groupname> is added to groups.
Type: string
Possible values: a string without spaces
Default value: bungeeperms_
Note: only used when backendtype or uuidplayerdb are some type of MySQL

uuidfetcher.cooldown
Descripton: The time in milliseconds the uuid fetcher waits between requests to Mojang during useuuid-migration to avoid a too-many-requests response (429).
Type: integer
Possible values: 0-2.147 billion (approx.)
Default value: 3000

saveAllUsers
Descripton: Whether or not all users are saved in the permissions database even if they are in default groups only. This includes user prefixes, suffixes, display names and user permissions.
Type: boolean
Possible values: true, false
Default value: true

deleteUsersOnCleanup
Descripton: Whether or not users are deleted during the cleanup command. This option only allows deleting of trivial users (all groups are default, no user prefixes, suffixes and display names, no user permissions)
Type: boolean
Possible values: true, false
Default value: false

notifyPromote
Descripton: Whether or not users recieve a promote message.
Type: boolean
Possible values: true, false
Default value: false

notifyDemote
Descripton: Whether or not users recieve a demote message.
Type: boolean
Possible values: true, false
Default value: false

tabComplete
Descripton: Whether or not BungeePerms should complete user names on tabbing.
Type: boolean
Possible values: true, false
Default value: false

locale
Descripton: Which language BungeePerms should use.
Type: locale
Possible values: all valid locale descriptors
Default value: en-GB
Currently supported languages: en-GB

terminate.prefix.reset
Descripton: Whether or not the reset color code should be appended to a user's prefix.
Type: boolean
Possible values: true, false
Default value: true

terminate.suffix.reset
Descripton: Whether or not the reset color code should be appended to a user's suffix.
Type: boolean
Possible values: true, false
Default value: true

terminate.prefix.space
Descripton: Whether or not a space should be appended to a user's prefix.
Type: boolean
Possible values: true, false
Default value: true

terminate.suffix.space
Descripton: Whether or not a space should be appended to a user's suffix.
Type: boolean
Possible values: true, false
Default value: true

cleanup.interval
Descripton: The interval for user cache cleanups in seconds.
Type: integer
Possible values: 0-2.147 billion (approx.)
Default value: 1800

cleanup.threshold
Descripton: The threshold how long a user object may remain in memory if the user is offline (in seconds). Useful if you develop a plugin (e.g. reset plugin an you need the user objects).
Type: integer
Possible values: 0-2.147 billion (approx.)
Default value: 600

async-commands
Descripton: Whether or not command are run async to the server.
Type: boolean
Possible values: true, false
Default value: true

BungeeCord only

networktype
Descripton: Determines the type of the BungeePerms network. Global assumes all servers registered in your BungeeCord config remain in your BungeePerms network. ServerDependend limits the BungeePerms network to the servers registered at networkservers. ServerDependendBlacklist work like the ServerDependend but excludes the servers in networkservers. Standalone limits the network to BungeeCord only.
Type: special
Possible values: Global, ServerDependend, ServerDependendBlacklist, Standalone
Default value: Global

networkservers
Descripton: Defines which servers are included in/excluded from the BungeePerms network. This option is only recongnized if networktype: ServerDependend or networktype: ServerDependendBlacklist.
Type: list or string
Possible values: list of servers in your BungeeCord config
Default value: [lobby]; depends

Spigot only

servername
Descripton: Tells BungeePerms which server it's running on.
Type: string
Possible values: the name of the server (should match the server name in you BungeeCord config)
Default value: servername

allowops
Descripton: Whether ops have op-default permissions or are ignored.
Type: string
Possible values: true, false
Default value: true

superpermscompat
Descripton: Whether or not superperms compatibility is enabled.
Type: boolean
Possible values: true, false
Default value: false

standalone
Descripton: Whether or not this server runs its own BungeePerms network
Type: boolean
Possible values: true, false
Default value: false

until v2.6

Bungee part:

saveAllUsers: true  
deleteUsersOnCleanup: true
debug:
    path: plugins/BungeePerms/debug.log
    showexceptions: true
    showlogs: false
backendtype: MySQL2
tablePrefix: bungeeperms_
bungeeperms:
    general:
        mysqlhost: localhost
        mysqlport: '3306'
        mysqldb: database
        mysqluser: mysqluser
        mysqlpw: password
useUUIDs: true
uuidplayerdb: MySQL
useregexperms: false
uuidfetcher:
    cooldown: 3000
tabcomplete: true

saveAllUsers: Whether all users should be saved or users with non-default groups or extra permissions. (possible values: true, false)
deleteUsersOnCleanup: Whether users should be deleted during a cleanup. (possible values: true, false)
debug.path: the file where exceptions and debug infos are logged
debug.showexceptions: whether or not exceptions should be shown (possible values: true, false)
debug.showlogs: whether or not debug infos should be shown (possible values: true, false)
backendtype: the type or your permissions backend (possible values: YAML, MySQL, MySQL2 (recommented))
tablePrefix: the prefix for tablenames when using mysql backends
bungeeperms.general.mysqlhost: the hostname or ip of the host the mysql server is running on
bungeeperms.general.mysqlport: the port of the host the mysql server is running on
bungeeperms.general.mysqldb: the database where BungeePerms should save it data
bungeeperms.general.mysqluser: the user to login at your mysql server
bungeeperms.general.mysqlpw: the password to login at your mysql server
allowops: whether or not OPs are granted all permissions by BungeePerms (possible values: true, false)
useUUIDs: whether UUIDs should be used to identify players (possible values: true, false)
uuidplayerdb: where UUIDs and players are saved for offline player identification (possible values: None, YAML, MySQL)
useregexperms: whether permissions should be resolved using regexes (can be laggy as regexes are laggy) (possible values: true, false)
uuidfetcher.cooldown: delay in milliseconds between UUID resolve requests at Mojang during a UUID backed conversion
tabcomplete: whether user's names should be tabcompleted if they are online

Bukkit part:

servername: main
debug:
    path: plugins/BungeePermsBukkit/debug.log
    showexceptions: true
    showlogs: false
backendtype: MySQL2
tablePrefix: bungeeperms_
bungeeperms:
    general:
        mysqlhost: localhost
        mysqlport: '3306'
        mysqldb: database
        mysqluser: mysqluser
        mysqlpw: password
allowops: true
useUUIDs: true
uuidplayerdb: MySQL
useregexperms: false
superpermscompat: true

servername: The name of the server. This should match the name you set in your BungeeCord config.
debug.path: the file where exceptions and debug infos are logged
debug.showexceptions: whether or not exceptions should be shown (possible values: true, false)
debug.showlogs: whether or not debug infos should be shown (possible values: true, false)
backendtype: the type or your permissions backend (possible values: YAML, MySQL, MySQL2 (recommented))
tablePrefix: the prefix for tablenames when using mysql backends
bungeeperms.general.mysqlhost: the hostname or ip of the host the mysql server is running on
bungeeperms.general.mysqlport: the port of the host the mysql server is running on
bungeeperms.general.mysqldb: the database where BungeePerms should save it data
bungeeperms.general.mysqluser: the user to login at your mysql server
bungeeperms.general.mysqlpw: the password to login at your mysql server
allowops: whether or not OPs are granted all permissions by BungeePerms (possible values: true, false)
useUUIDs: whether UUIDs should be used to identify players (possible values: true, false)
uuidplayerdb: where UUIDs and players are saved for offline player identification (possible values: None, YAML, MySQL)
useregexperms: whether permissions should be resolved using regexes (can be laggy as regexes are laggy) (possible values: true, false)
superpermscompat: if superperms should be consulted if there wasn't a rule to check is a user has a certain permission