back to list

Core handlers / Core


Source lib/mcl/handlers/core.rb
Commands !danger !help !mclreboot !mclreload !mclreloadcfg !mclshell !mclupdate !ping !raw !stop !stopmc !sprop !version
Description There are some handlers which are considered core functionality and therefore are "hidden" inside the library folder. You should not deactivate these.


Usage:!help [filter/page] [page]
Action:Shows you a list of available commands. The list can be filtered and paged through.
Note:Help only shows you commands you have the permission for.
Default ACL:guest


Action:Gives you the MCL, MC and Ruby version in use.
Default ACL:member

Danger mode

Usage:!danger [on/off]
Action:Enables, disables or shows you your danger mode status. Danger mode is required to exceed security limits on some commands.
Default ACL:admin

Server properties

Usage:!sprop <property> [value] [force]
!sprop book
Action:Shows or updates a server property. To add a new property use force as last argument. The book is just a complete list of all properties.
Default ACL:root

Reload MCL

Action:Reloads (reinitialises) all handlers and commands. Note that you should not reload but rather restart MCL when adding new handlers because they might need to install additional gems or require database migrations.
Default ACL:admin

Reload YML config

Action:Reloads the instance yml configuration. Intended for changing the log settings, other settings may or may not be recognized until MCL reboots.
Default ACL:root

Reboot MCL

Usage:!mclreboot [detach=true]
Action:Reboots MCL (reinitialises MCL application). Only handlers will be reloaded! Unless detach is false the minecraft server will not exit during the process.
Note:For some reason the first event after reboot will be ignored sometimes.
Warning:Not all handlers expect the application to reboot without rebooting the minecraft server as well and may result in strange behaviour. The player manager for example flags all players as offline upon halting but will not receive the "player joined" event after reboot (since the minecraft server wasn't restarted and the player is still online). Be on the safe side and properly restart the script by !stoping MCL which will restart automatically when in daemon mode (might take up to 30 seconds).
Default ACL:admin

Update MCL

Usage:!mclupdate [exit]
Action:Updates MCL by performing a git pull and bundle install command. If any argument is given MCL will exit after that and, when in daemon mode, restart automatically. If you don't pass any argument MCL will just reload it's handlers after updating.
Warning:Unstaged changes in the local git repository might prevent MCL from pulling the current code. MCL will NOT recognize this and you will have to update manually.
Default ACL:root

Advertise MCL

Usage:!ping [target]
Action:Show MCL banner message and website link.
Default ACL:guest (self) / mod (other targets)

Stop MCL

Action:Stops MCL and the minecraft server along with it. MCL will - when in daemon mode - restart automatically after up to 30 seconds.
Default ACL:admin

Stop minecraft server

Action:Will invoke `/stop` in the server console. Note that MCL will restart the server when it exits.
Warning:Due to bug MC-63802 the server might freeze and will not exit. MCL will not detect this and you will have to restart the server manually hence you need root permissions to execute this command.
Default ACL:root

MCL Shell

Action:Invokes a pry halting point in the context of a handler. This is for developing ONLY!
Warning:Only use this command if you have started MCL directly (via daemon.rb) or you won't be able to interact with the pry session and stall the instance. Once the pry halting point is invoked MCL will not be able to terminate until you end the pry session! Killing the process is the only alternative!
Default ACL:root

Raw execution

Usage:!raw <command>
Action:Executes the given command in the server console.
Default ACL:admin

Core handlers / ACL


Source lib/mcl/handlers/acl.rb
Commands !acl !op !deop !uadmin
Description There are some handlers which are considered core functionality and therefore are "hidden" inside the library folder. You should not deactivate these.
Default ACL:admin

ACL control

Usage:!acl [book/reload]
!acl <level> <target> [more_targets...]
Gives you a book to easily grant or revoke permissions not yet implemented
Reloads permission cache (only needed when fiddeling in the DB)
Sets the permission level for all targets (must be player name) to given value. Level must be an integer or any of the following group aliases:
root    => 13333337
admin   => 1333337
mod     => 133337
builder => 13337
member  => 1337
guest   => 0
Default ACL:admin

OP player

Usage:!op [target]
Action:Gives you or target operator rights on the minecraft server.
Default ACL:admin

DeOP player

Usage:!deop [target]
Action:Revokes your or target's operator rights on the minecraft server.
Default ACL:admin

Chicken and eggs

Action:Grants you MCL root permissions if your nickname or your UUID is listed in the configuration file.
Default ACL:guest