Skip to content

About booting object types

LITEFINE edited this page Jan 28, 2019 · 5 revisions

Booting Object config properties and behavior explanation

As you know from Home page, "booting object" this is what MCBootstrap works with and there are 4 types of it. Each object type has few common config properties, there are:

  • priority - controls startup order of all objects, NORMAL by default. Available values: LOWEST, LOW, NORMAL, HIGH, HIGHEST, DONALD_TRUMP
  • bootCommand - the bash command executed in new screen to boot a process
  • stopCommand - the command inside the process, for a safe stop, do not specify if not necessary.
  • autoRestart - value true or false, will restart object then it stops (if the stop was not authorized), false by default
  • directory - not empty directory of a booting object (server's folder or folder with script or anything to boot)

Type: SERVER

Use this type for non-proxy servers, such as Vanila, Bukkit, Spigot, etc

  • directory - the specified directory must contains .jar file with any server core.
  • host - server will run on this host, ignoring value from server.properties
  • port - server will run on this port, ignoring value from server.properties

Type: GROUP

Use this type for booting all servers in one folder, of course you can manage all child servers of group using console

  • directory - the folder with servers folders (f.e. if directory = /hubs/, MCBootstrap will search for servers folders such as /hubs/hub1/, /hubs/hub2/ etc)
  • commonHost - all child servers in group will use on this host
  • firstPort - first server in group will use this port, second firstPort+1, third firstPort+2, etc

Type: PRIMARY_SERVER

Very special type, extremely useful then you need to use servers with similar files, in short, it can generate arbitrary number of clones, from one directory. Also important feature - you can use some unique parts for every clone from _unique_ directory using two types of unique files policies. About special properties:

  • directory - the folder for cloning, original server here, can contains folder named _unique_ for with sets (folders) of unique files for clones
  • clonesCount - number of servers to generate on launch
  • firstPort - works like firstPort from GROUP type, applying for clones
  • generationDirectory - in this folder MCBootstrap will generate all clones folders, each clone folder will be removed after it's stop and before start
  • uniqueFilesPolicy - used to select directories with unique content from _unique_ folder sets for each clone. Available values: INORDER - will use first set of unique files for first clone, second for second clone, etc, RANDOM - will use random set for each clone, CUSTOM - for extensions by other developers.

If you don't understand about unique files: main folder with original server can contains folder named _unique_, that can contains a number of different folders (sets) that contains unique files and folders for each clone (so for example, count of these sets can be equal clonesCount). All sets folders in _unique_ folder can have arbitrary names, this don't matter for MCBootstrap. It can be useful if you want, for example, make arenas-servers for one minigame, and use different maps and minigame plugin settings for each clone, but don't want to setup all this servers manually.

Type: APPLICATION

Use this type for scripts, proxy-servers, any other applications, don't have any specific properties